[GIS] Shifting an entire .las file in Z

inpho-match-atlaslidarvectorz-value

I have a set of .las tiles. I needed to edit one of the tiles in Trimble's Inpho DTMaster to remove some noise. The coordinates are correct in the program, showing a my desired elevation. On export, however, the program shifts the entire file up in Z by 90 feet. It is not a spatial reference/coordinate problem, I've ruled that out already (unless the software is doing something unbelievably dumb). This is all done in a local spatial rectangular system.

enter image description here

Is there an easy way to subtract 90 from the elevation field of every point in the .las? I'd like to try to offset the Z. I've tried to convert it to an ascii file to do it semi-manually, but it is too large and fails after it grows to about 2.5 GB.

I have access to various software, including ArcGIS, QGIS, Inpho Photogrammetry, Global Mapper.

Best Answer

There are some options. With Fusion there is the command line ClipData and its switch biaselev:#:

biaselev:# Add an elevation offset to every LIDAR point: # can be + or -.

The command line syntax for shifting the z values down 90 ft:

\ClipData /biaselev:-90 InputSpecifier SampleFile [MinX MinY MaxX MaxY]

Another option is the las2las tool wit the argument --offset from liblas (as pointed out by Michael Miles-Stimson).

Header modification options:
--offset arg
A comma-separated or quoted, space-separated list of offsets to set on the output file: --offset 0,0,0 or --offset "1234 5678 91011"

An example would be:

las2las -i in.las -o out.las --offset:0,0,-90
Related Question