I am new to LiDAR and have never been a part of the LiDAR data pre-processing stage and hence, this question. I have two LiDAR point clouds (.las files) of a densely forested area that were captured from two different sensors (A and B). Both of the point clouds have an offset due to incorrect GPS calibration during time of capture.

The only hint I have to correctly georeference the point clouds is with a known location of a carbon flux tower [let's say at (X,Y)m].

Would I be heading in the right direction to write a python script that could just correct the offset in the point clouds to match with (x,y)?

enter image description here

  • The simplest way is to export las files to multipoint and use spatial adjustment. This is ArcGIS solution though
    – FelixIP
    Mar 1, 2016 at 4:59
  • @FelixIP thanks for your suggestion. Tried the method but didn't work..The point cloud is so dense that it doesn't let me match a single point to the reference point. Mar 1, 2016 at 7:07
  • Arcgis goes mad when need to snap to big sets. Just fool it. Extract small subsets and work on them, but turn the biggie off. It will help to construct displacement links, i.e. table needed for adjustment
    – FelixIP
    Mar 1, 2016 at 8:30
  • If this is about coordinate shift, i.e. 1 link, convert multipoints to single and use technique described here gis.stackexchange.com/questions/159206/…
    – FelixIP
    Mar 1, 2016 at 8:33

2 Answers 2


I assume both point clouds have the same coordinate reference system. Then, if you know the actual tower location in the field, and also know its location in the point clouds; then, yes, one solution would be to move (transform) the LAS' files coordinates based on the common reference point (the tower).

It is possible to shift the x, y and z coordinates with LAStools' tool las2las, argument translate_xyz. See the example below:

las2las -i forest.las -o translated_forest.las -translate_xyz -1050 -503 0

It will shift the x coordinates to west by 1050 distance units, and the y coordinates to south by 503 distance units. In this case, elevations will not be altered. Be careful to keep new coordinates valid (do not transform them with greater decimal places than the header's scale) and pay attention in how much shift it will be needed; it may be the case to alter the offset as well to avoid integer overflow (references on this: Rescaling and reoffsetting a point cloud with lidR? and LAStools Google Groups, reference 1, LAStools Google Groups, reference 2)

Last, it is important you validate the new position of your points, by comparing one point cloud with another, and if possible, by trying to match other known locations in the LiDAR scene with reference points in the field, besides the tower.


I ended up using Cloud Compare software. The Register tool finely registers already finely aligned point clouds

Edit: While I could not align the flux tower in point cloud datasets with its field recorded location, I could align both the point clouds using the Register tool in Cloud Compare software.

Here is a screenshot of the output after alignment using cloud compare's register tool

enter image description here

  • I did not downvote, but perhaps you should add more details to your answer. Perhaps including a screenshot showing the 'register tool' from Cloud Compare and also the output image? Mar 17, 2016 at 21:20

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.