Page 1 of 1

The ability to simplify based on Z variance

Posted: Thu Jan 14, 2021 9:19 am
by ziltoid
Hi. There is a feature that I have wanted in CC forever. The ability to reduce a pointcloud based on the difference in the Z value of neighbours. That's how you classify "model keypoints" in other software. And is the best way to reduce the number of points, without loosing the definition of the terrain, since major variatons are kept, but points in flatter areas are removed. This is a real bottleneck, because most cheap programs can't do this, so you need something like Terrascan or similar to do it (I believe the full version of LAStools also can do it)
Is this something that could be added? that would make Cloud compare pretty much the only tool I need to make high quality DTMs of large areas.
Also, if someone knows a roundabout way to do it the way it is now, I would really appreciate a quick tutorial.
Thank you

Re: The ability to simplify based on Z variance

Posted: Thu Jan 14, 2021 9:29 am
by daniel
So the part that is missing is the Z variance computation. A similar metrics would be the 'roughness'.

Then you can tell the 'Subsample' tool to use the active scalar field and choose if more points should be kept for higher roughness values, and less points for lower roughness values.

Re: The ability to simplify based on Z variance

Posted: Thu Jan 14, 2021 10:08 am
by ziltoid
I tried that without being able to duplicate the results I get from Terrascan. In Lastools they do the same with adaptive thinning with Lasthin:
"For adaptive thinning use '-adaptive 0.2 5.0' where 0.2 specifies
the vertical tolerance that a TIN through the thinned points is
allowed to deviate from the complete set of points and 5.0 the
maximum distance between points. The default for the latter is
10.0 if you only specify '-adaptive 0.15'."

And also, if such a feature was to be implemented, it would be great if there was an option to keep points that otherwise would have been removed with a given distance, so flat areas don't get completely removed.


I did some more testing, The closest I got was making a raster grid with height values as average, and then writing that as a cloud, and doing a cloud-cloud between the two, and using the z scalar field to split. But it still is not as good as the other tools.