computes the height of each point above the ground. This assumes that grounds points have already been ground-classified (with standard classification 2 or selected with ‘-class 31’ or ‘-classification 8’) so they can be identified to construct a ground TIN. The ground points can also be in an separate file ‘-ground_points ground.las’ or ‘-ground_points dtm.csv -parse ssxyz’. By default the resulting heights are quantized, scaled with a factor of 10, clamped into an unsigned char between 0 and 255, and stored in the “user data” field of each point.

Alternatively – to avoid quantizing and clamping – you can ‘-replace_z’ the elevation value of each point with the computed height. That means that after wards all ground points will have an elevation of zero and all other points will have an elevation that equals their height above (or below) the ground TIN at their x and y location. In a sense this will “normalize” the elevations of all points in respect to their surrounding ground truth.

Another alternative is to use the computed height to eliminate points with a particular ground height above or below a threshold with the options ‘-drop_below 1.5’ or ‘-drop_above 6.8’ or to classify them with the options ‘-classify_below -5 10’ or ‘-classify_above 100 13’ or ‘-classify_between 2.0 5.0 4’.

This tool can also be used to convert from Geoid to Ellipoidal heights. For this we need the Geoid model as a grid of points “geoid.txt”, “geoid.las” or “geoid.xyz” whose elevations express the difference between the ellipsoid and the geoid. For more details see the README file.