Skip to main content

Hi there,

 

I have a 3D object in .las format which contains RGB values for each point in the point cloud. The goal is to get this object into an Esri .slpk format and keep the RGB values so the final object is colored correctly.

 

The .las file doesn't have a coordinate system but has relative xyz values; seems like the object is centered at 0,0. When using the CoordinateSystemSetter, it doesn't seem to change the XY values at all. This is just part of the problem.

 

The other problem is when I try to write out to .slpk using the Esri SLPK writer, I get this error:

The layer requires triangular mesh geometries. Features whose geometries cannot be triangulated will not be written

 

How do I convert the .las file into a triangular mesh so that it can be written to SLPK? Is this possible? Do I need a different input format? Other options could be .xyz or .pcd for the input file.

 

I haven't really worked in this space before so any guidance for working with 3D would be helpful. Thanks!

Hello @kaz​ , thanks for posting! Neat use-case here. I'm not totally sure if a coordinate system is neccessary for I3S, but you can find coordinate system information for the I3S Writer here > Writer Overview section.

 

Our I3S Writer does not yet support point clouds, but we are working on that capability. I made a note to have this thread updated when support is added (FMEENGINE-60950).

 

In the meantime, we can use the TINGenerator to create a mesh from the point cloud. If your LAS is classified, you may want to consider splitting to extract only the ground surface to create the mesh (PointCloudSplitter).

 

Regarding the RGB values - I'm not sure this is quite possible yet. I used PointCloudOnRasterComponentSetter to colour the LAS file I was using. Prior to the sending the data through TINGenerator, I can see the Red/Green/Blue values in the FeatureInformation window, but it doesn't look like they're preserved on the mesh. For what its worth, I checked the Quick Facts for the I3S Writer and found "Generic Color Support = No".

 

As an alternative for the above, you could use a parallel process to create a raster from the LAS using the ImageRasterizer (note: cell spacing or pixel size should be slightly larger than the largest distance between points in the LAS), then use AppearanceSetter to apply that to TIN surface (AppearanceSetter > Use Existing Texture Coordinates > Texture Mapping Type: Top Down Georeferenced) before writing. I tried this myself and it seemed to work!

 

This is what my workspace looks like:

LAS_To_I3S 

You can probably remove the PointCloudOnRasterComponentSetter from this screenshot and do GeoTIFF/LAS Reader > ImageRasterizer (tweak cell size) > AppearanceSetter. I accidentally left it in there sorry. I confirmed the output opens in ArcGIS Pro. Let me know if this helps or if you have any other specific questions! Best, Kailin.


Reply