Point cloud Georeferencing (Cesium Ion)


I have a pint cloud form drone flight (LAS).

I open it in ArcGIS Pro software and see it in his real position.

But when I upload it to Cesium ION I have to position it by hand.

How can I get it to automatically position itself in his real position?

Thank you very much.

Cesium ion should place it at the right place on the globe automatically, unless the geographic location isn’t in the LAS file itself.

Are there are any sidecar files in the same directory that contain the location info for your point cloud? Can you share your asset ID for the asset on Cesium ion?

Dear Omar,

I only have a LAS file. In ArcGIS Pro I can see it in real position.

The asset ID is 146750

Thank you

The problem is that this LAS file does not contain a coordinate system, so Cesium ion doesn’t know where to place it on the globe. Perhaps ArcGIS Pro is using some default coordinate system? Do you know what coordinate system this LAS file is in?

Dear Omar,

So ArcGIS Pro also puts in an unknown coordinate system, but still puts it in the right position.

The coordinate system should be 2193 (New Zealand)

Is there a way to add the coordinate system manually to LAS?


I would search the ArcGIS docs/support to see if there’s a way to edit the coordinate system and re-save it with that info. Otherwise commandline tools like pdal, lastools, etc may allow you to modify the coordinate system in your LAS files.

Thank you Omar,

I have managed to add the coordinate system with FME, it puts the LAS in its X and Y position but in the Z when loading the Cesium World Terrain it comes out below.

What can it be?

How far off is the height position? If it only needs to be moved a very small amount to be visible, my guess is the point cloud is in the right position, it’s just exactly on top of Cesium World Terrain. There’s a few ways to resolve it if that’s the case, see the discussion here: How to get more zoom level on 3D Tiles with Terrain.

Otherwise, it might be that the vertical datum in the LAS file is incorrect or not supported. Note that heights in CesiumJS are relative to the ellipsoid.

Dear Omar,

So the difference in the Z is about 50m.

Very useful the options you have given me.

On the other hand, I fly drone is equivalent to excavations, so there is part that is below the ground.

I have generated a DSM and added it as a terrain, but my doubt is if I can generate a quantized-mesh from a LAS.

That is, can I create a quantized-mesh with elevation and orthophoto from a LAS?

Thank you!

You would need to convert the LAS to a GeoTIFF, which would be a single band raster file where the color is the elevation, and then you can upload that to Cesium ion to create terrain/combine it with Cesium World Terrain.

Dear Omar,

In this opttion I obtain the real elevation.

If I want to see the real image too (ortophoto) Is it neccesary to upload other GeoTIFF with the RGB bands?

Many thanks!

Dear Omar,

I tried with another LAZ (from LIDAR and official source of Spain IGN) and the same thing happens to me, it places the cloud of points 50-60m below the world terrain.

The LAZ is the ID: 151496

Do you know why this could be?

Thank you!