Question

Deduplicate point cloud

  • 3 September 2018
  • 2 replies
  • 8 views

I have scaled a point cloud, and then rounded the values. So for example the points

(2555, 1467, 8695) and (2599, 1401, 8622) became

(25.55, 14.67, 86.95) and (25.99, 14.01, 86.22)

after rounding they both become the same point (25.0, 14.0, 86.0)

This means I now have duplicate information, and it's making my .LAS file needlessly large. Is there a way I can coalecse these points into a smaller point cloud output?


2 replies

Userlevel 5
Badge +25

You could convert it to individual points using a PointCloudCoercer and then remove duplicates with a DuplicateFilter but that would be a very expensive operation in terms of processing time and memory.

You may also want to consider using the PointCloudThinner or PointCloudSimplifier instead. By keeping it a point cloud as long as possible you can make use of FME's special point cloud capabilities.

Userlevel 4
Badge +13

Does feel like we should package this up as a PointCloudDuplicateRemover, but in the meantime, you can use a trick @dmitribagh taught me -- pump your rounded point cloud into both the Requestor AND the Supplier of a PointCloudMerger. Then set it to merge on x, y, and z. Output only the "Referenced" and bingo -- you've removed all duplicate points. Fast too!

(See pic below -- taken from the PointCloudSpatialThinner custom transformer that you can download from FME Hub and then look inside if you want to...)

Reply