Retaining RGB, User Data Uploading Lidar to Cesium Ion

Hi, I’ve had a problem uploading my lidar data and converting to 3D tiles. I am using Deckgl to render and have the tiles loaded and placed correctly, but not colorized. I logged the loaded tiles, and the tile.content.attributes has the intensity values, but the colors attribute is empty and there is no user data. I confirmed that the red, blue, and green and my UserData attributes are in the file before uploading.

Hi jacquelineHyphae,

Welcome to the Cesium community.

If I understand you problem correctly, the RGB values are not included in your tiled point cloud data. Are you able to provide an ion asset id or a link to your source data so that we can investigate this further?

Thanks!

Yes that’s correct, the asset ID is 2813306.

Hi,

Thanks for providing that information.

Using lasinfo (from lastools) to check the file I see it is storing RGB values in extra bytes labeled red, blue, and green, instead of using a point format that includes the RGB values as standard fields. This is probably why the colors are not being carried through to the tiled version.

  • Do you know what software generated this data?
  • Are you able to try exporting it with a different format or program?

Regards,
-Mark

Thank you for the help. I moved the rgb values to standard attributes and reuploaded, the colors are now in view. I’m not sure which software generated the export I was given, but I used laspy to rewrite the file.

Glad you were able to get it working!

Thank you, I have the RGB colors now but I am still seeing that the user data field is not stored. I moved my data from my custom attribute to the standard user_data field and reuploaded it (asset id 2834384). Does cesium ion recognize the user_data field as a standard attribute?

@jacquelineHyphae

Good to see you were able to find a solution to seeing RGB colors in your point cloud. In terms of our LAS data support, we support all point data record formats in the LAS 1.4 spec (here)

By default we keep all fields found except the userdata field. It was mostly just a decision based on how often it’s used which isn’t too often. At least from our end. I don’t believe Ion has a way to toggle this currently.