Model disappears when panning/zooming

after converting a .laz file to 3d tiles, cesiumjs shows the model, but it is really not interactive.
it keeps disappearing when I try to interact with it.

here is a sandcastle link to reproduce

can you please help me figure out where the problem is?

Hello and welcome to the forum! I looked at the tileset, and the issue is that its location on the Earth’s surface has not been set. The camera is not behaving well at the tileset’s current coordinates.

If you know the coordinate reference system (CRS) of the data, you can embed that information into the LAZ file itself using PDAL. I can give you the correct command if you can tell me the CRS.

Alternatively, you can use the Adjust Tileset Location button in the ion dashboard to position the tileset manually. Here is a Sandcastle showing the tileset at an arbitrary position on the Earth.

1 Like

Depending on the input data and the exact requirements, it may also be possible to adjust the location and orientation of the tileset at runtime. For example, this will place the tileset at the given position (longitude=-105, latitude=35) on the globe:

var targetCartographic = Cesium.Cartographic.fromDegrees(-105, 35, 0);
var targetCartesian = Cesium.Cartographic.toCartesian(targetCartographic);
tileset.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(targetCartesian);

Thank you for your answer,
Im not using terrain behind me model (im using a black background)
so the location isn’t really important to me.

is there a one-size-fit-all solution, like placing all models in a certain location where the camera will always work?

@Marco13 if you’ll look at my last response, Im looking for a one-size-fit-all solution to this, as I dont really care about the terrain.

Im looking for a location where the camera will always work, if possible

any idea ?

the CRS is WGS84 EPSG 4326, if you’d be so kind to give me the correct command

Typically, using pdal, this is the command you could use:

pdal translate "Big Island Point Cloud - 07-11.laz" "Big Island Point Cloud - 07-11_pdal.laz" reprojection --filters.reprojection.in_srs="EPSG:4326" --filters.reprojection.out_srs="EPSG:4326"

That will create a new file, which you can upload to ion.

However, in this case it looks like EPSG 4326 unfortunately isn’t the correct CRS. You can take a look if you try the steps above and tile the data.

To try to find you a one-size-fits-all solution, I reuploaded your data and then—without setting the tileset’s location using Adjust Tileset Location—I created this Sandcastle.

I believe that approach will work for any tileset that hasn’t been geolocated, but please try it out and let us know.

I did a couple extra things in that Sandcastle, such as turning off the globe and some other viewer elements, as well as increasing the pointSize of the tileset to make it look a little better. You can change those as you like; they shouldn’t affect the camera behavior.

1 Like

@Matt_Boyd-Surka thank you for you answer, unfortunately I have no luck
I tried both using PDAL or using the code from your sandcastle, but the camera just go crazy.

I must say, I am using an open source tool for tiling, and not Cesium ION. so it could be the fault.
Ill keep trying