2

I've got several LiDAR scans in local coordinates (point cloud with an arbitrary 0,0 as origin) that I would like to reference to real world coordinates. I've tried to Align the scan in CloudCompare using known reference locations that can be recognized in the scan, but without any success, it rotates correct, but the coordinates of the points stay in a local system.

Does anyone have experience georeferencing LiDAR scans, and can explain the workflow to be used.

Example, the real world coordinates of the five corners of the building are known:

enter image description here

1 Answer 1

3

What is the format of your file? If you have a .ply, there is a new module of GRASS GIS that allows geo-referencing of points cloud in this format: v.ply.rectify. Here are the quick instructions:

  • Create a .txt file with source and target coordinates; save the file with the same name as the point cloud in the same folder.
  • Open v.ply.rectifiy in GRASS GIS 7, enter the name of the point cloud and click RUN.
  • You get two georeferenced point clouds, one readable in Meshlab, Cloud Compare or similar, and one readable in CAD systems.

You can find more detailed instructions here: https://community.topoi.org/documents/95181/583855/Georeferencing_BT_Pointclouds.pdf/55ebd4c8-6dc5-4bc2-87b4-ac758132a2cc

6
  • Give also a look to this thread: gis.stackexchange.com/questions/168761/…
    – SaraZanni
    Commented Jun 19, 2017 at 9:36
  • Thanks @SaraZanni: The explanation works perfect up to running in grass v.ply.retify. It reads the ply file correct, as it notes 5474672 vertices imported ... Then comes with an error: Wrong number of properties. Commented Jun 20, 2017 at 14:27
  • Is the .ply file well built? Give a look to the technical specification in the v.ply.rectify manual: grass.osgeo.org/grass72/manuals/addons/v.ply.rectify.html
    – SaraZanni
    Commented Jun 21, 2017 at 10:38
  • In the description, you will find that the first three vertex properties must be the x, y, z coordinates with property names "x", "y", "z", in this order. Then, you should provide a text file with Ground Control Points (GCPs) that must exist in the same folder where the point cloud is located, and the textfile must have the same name like the point cloud, but ending on .txt instead of .ply. The text file with GCPs must have the following format with one GCP per line: x y z east north height status
    – SaraZanni
    Commented Jun 21, 2017 at 10:40
  • 2
    Found out there are ending spaces at each line of the ply file, which probably make v.ply.rectify think there is another property following. Removing these, the registration works! Commented Jun 21, 2017 at 12:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.