I have a point cloud with a certain class. This class will be scattered and in clusters within the point cloud, and I want to a) identify these clusters and b) create a point feature layer for the lowest point within these clusters and get the height.
Is this possible with FME?
Page 1 / 1
It depends what kind of clusters, but if these clusters are not overlapping in XY, one way to identify these is to use a HullReplacer. The pointcloud need to be coerced to a single multipoint first using a PointCloudToPointCoercer, else the HullReplacer will not work.
Then use the PointCloudStatisticsCalculator to find the lowest z and a PointCloudFilter to find the points with this z.
Attached sample workspace demonstrating this.
It works great except for places where the clusters are intersecting at y (as you maybe mentioned).
So the clusters im interested in are the pink ones, and here i will only get three values which is the lowest one, is there a way to do this and get all values?
The classic way to do this is to flip the data over one axis, so you can apply a 2d transformer also from the side. This way you will be able to split the single cluster in 3 seperate clusters. Not easy but doable. Can you share a sample of your data? Just clip a 30 meter buffer and use an offsetter with random kilometers in x,y,z to anonimize it.
Here is a testfile containing that exact pole in the picture
Sample workspace. It first creates the clusters in 2d, then rotates the data 90 degrees over x and creates clusters again, grouped by the 2d cluster id’s.