The position of assets is different

I uploaded the asset file to S3 to create new assets with REST API.
But position parameters of Cesium Ion was different from API parameters.

The parameter of the REST API is

name: ‘filename’,
description: ‘desc’,
type: ‘3DTILES’,
options: {
position: [
139, // lon
35, // lat
1200, // height
from: {…},

The parameter of the Cesium Ion is

Why are they different?


Thanks for your question. We have received requests to align the REST API with the 3D Tiles Location Editor in the ion Dashboard in the past, and I have added your case to the ticket we are using to track the issue.

In the meantime, I can explain why this difference occurs, along with a workaround for addressing it.

When you upload a 3D model to ion via REST API and populate the position field in your request, the system will position the source data such that its origin is placed at the longitude, latitude, and height that you specified. After that, it computes a tight bounding box for the 3D Tiles (which, at that point, have already been placed on the globe).

When you instead upload a 3D model without specifying a position on the globe, the system will compute a bounding box for the 3D Tiles when you upload it. Then, if you press Adjust Tileset Location to set the position of the data after the fact, it will move it such the lower center of the bounding box is placed at the longitude, latitude, and height that you specified.

The difference that you are observing occurs when the origin of source data is not located in the bottom center of the geometry (and resulting bounding box). For example, if you had geometry that was 100m above the origin of a model, trying to place the data on the ground using the position field of the REST API would set it 100m above the surface of the Earth. Using Adjust Tileset Location, on the other hand, would set it on the surface.

In order to align the two behaviors, then, you can revise your source data such that the origin is in the bottom center of the geometry. Or choose just one of the two methods—whichever best suits your case.

Please let me know if this makes sense or if you have follow-up questions. We do hope to make this more intuitive in the future.


Thank you for your answer.
I understood that the difference is due to the location of the origin and the bounding box.

However, there is a difference in another file that is too large to be explained by that reason.
Is this the same reason?

cesium REST API:
position: [
100, // lon
10, // lat
1000, // height

3D Tiles Location Editor in the ion Dashboard:

Is there data you could share that would help us reproduce the behavior you’re seeing? That would be the best way for us to investigate.

The easiest way to share data with us is to provide an ion asset ID. We can take a look at it internally from there.

Ion asset ID is 764954.
Please investigate the different.

Hello, I tried downloading the asset with that ID, but it looks like it has been removed. Can you please re-upload and provide another asset ID? I’ll let you know once I’ve successfully pulled down the data.

Thank you,

I posted the S3 URL of my las file to Cesium Ion.So, the source file is not on Cesium Ion.
I uploaded the las file to Cesium Ion again from my browser. The asset ID is 790117.

However, please understand that my problem is with the API upload.

Hi @kiyota,

Thanks again for bringing us your questions! We have taken some time to investigate this topic internally.

I was able to download and view your most recent asset (790117) in both Blender and an online FBX viewer. It seems like this asset is also slightly off-centered i.e. not centered around the origin. It seems like your primary question is:

Based on our testing in Blender and other FBX viewers, I can confirm that it does appear to be the same issue. If I have misunderstood your question, please feel free to reach out with a follow-up question and more information about your issue.