Hi,
I want to find local low point in the point cloud. It is to bring out possible locations for water accumulation. Does anyone know a solution to this problem?
Hi,
I want to find local low point in the point cloud. It is to bring out possible locations for water accumulation. Does anyone know a solution to this problem?
Best answer by dmitribagh
Hi, @laila72
This is actually quite easy. We talked about this scenario in our point cloud webinar and have an example online.
The idea is to compare all the points within a chosen tolerance and pick the lowest one.
To achieve that we do the following:
1) copy the original x and y components to some temp components: x_orig, y_orig (PointCloudComponentCopier)
2) Round the x and y values to the tolerance with PointCloudExpressionEvaluator.
For example if the tolerance is 20, then, to round x=105 to closest factorable number, use the following expression:
@floor(@Component(x)/20)*20
3) Sort points by Z ascendingly (PointCloudSorter)
4) Merge point cloud with itself (send it to both Requestor and Supplier ports of PointCloudMerger) by x and y. This will lead to creation of columns of points spaced by tolerance. The point at the bottom of each column will be the local minimum. To get it, use the output from Referenced port.
5) From here, there are many possibilities to continue. For example, we can add a flag component to the points indicating whether it's local minimum or not. We can preserve the local min xy on all other points (x_local_min, y_local_min) and restore the original x and y (PointCloudComponentCopier) etc.
Here is the link to the webinar page, which has the recording, the slides and the workspaces:
http://www.safe.com/webinars/how-to-get-the-most-out-of-lidar-data/#
Dmitri
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.