Skip to main content

How can I set the precision for individual points in a point cloud?

After applying a 3D Rotation on my point cloud, I end up with x and y values with a precision of 13 and 14 digits, when my source has only 6 digits. I've used a PointCloudCoercer to get individual points that I can then pass through a CoordinateRounder before recombining them with a PointCloudCombiner.

It works, but the process is much longer than before.

Hi @mrclaudepicard

Sadly the CoordinateRounder doesn't (yet) work on point clouds. However, you can use the PointCloudExpressionEvaluator as a workaround.

In that transformer's dialog set the component to X and Data Type to Preserve. The Expression to round to three decimal places will be:

( floor( @Component(x) * 1000.0 ) / 1000.0 )

For six places it would be:

( floor( @Component(x) * 1000000.0 ) / 1000000.0 )

Of course, you also add similar entries for the Y and Z coordinates.

Hope this helps.


hi

This workaround will only narrow down number of decimals but ending zeros will be lost.

 

 

If i need to keep/retain number of decimals in point cloud writer (445566.70), how can that be done?

Reply