Question

Compare Local Control Points (ENH) to a Point Cloud

  • 10 March 2022
  • 2 replies
  • 16 views

Badge +4

I’m trying to build something to automatically compare control points for mobile laser scanning/lidar to the final point cloud to validate it (and also validate other point clouds that I haven’t collected, but where I have overlapping control).

 

Generally, for this type of point cloud I control it in another software package using 3D control points mainly, but I do collect extra independent ones for validation that are suitable for comparison of the three different planes. Such as height, along (front/back), or across (left/right) compared to the direction the scanner is moving

In the past I have done this manually in another software package which is quite time consuming. I’d like to make something to do it automatically. The result I need to make are some separate statistics of the differences in easting, northing, height that I can use in reports.

 

I can work out a way to compare the vertical (By making a clipped cloud around each control point, then a surface, and then comparing the heights to get a difference). I can’t work out how to compare the easting and northing using this method (unless I do a coordinate swap) though I don’t think it is the best way to go about solving my problem.

 

Does anyone have any ideas on the best way that I could do this?


2 replies

Badge +10

Interesting problem @james_c_452​ ,

 

It sounds to me like you first need to find the point in the point cloud that is closest to your control point. Correct me if I'm wrong on this, but I feel like this is the only true way to compare the eastings, northings and heights.

I think this community question will apply to your situation. https://community.safe.com/s/question/0D54Q000080hKzfSAE/how-to-use-neighborfinder-when-pointcloudlas-is-candidate

Once you have it to the NeighbourFinder, if you merge the attributes, you will then have the easting, northing and height of both your control point and nearest point cloud point. From there you can just do an arithmetic expression on each one to determine the differences.

Badge +4

Interesting problem @james_c_452​ ,

 

It sounds to me like you first need to find the point in the point cloud that is closest to your control point. Correct me if I'm wrong on this, but I feel like this is the only true way to compare the eastings, northings and heights.

I think this community question will apply to your situation. https://community.safe.com/s/question/0D54Q000080hKzfSAE/how-to-use-neighborfinder-when-pointcloudlas-is-candidate

Once you have it to the NeighbourFinder, if you merge the attributes, you will then have the easting, northing and height of both your control point and nearest point cloud point. From there you can just do an arithmetic expression on each one to determine the differences.

Thanks for the reply.

My case is a bit more complex. I did think of doing that initially, but I ruled it out for now (though I may have to go back to it if there is no better way to do what I need). I ruled it out because neighbour finder is 2D and my point clouds are 3D. For example, the below picture. I will get all manor of false readings as a lot of points are likely to be the same in XY but different in Z (or any combination of axes if I did a swap)

 

Also, with the variable density of survey point clouds I think you would get a more accurate result by comparing a plane normal (from a surface perhaps) to the control point. And then get the easting/northing different from that vector. If there was a 3D neighbour finder I could probably use that to get the nearest, say, 4 points and get the average coordinate differences.

 

Does anyone have any other thoughts?

 

Reply