This is a tool for bare-earth extraction: it classifies LIDAR points into ground points (class = 2) and non-ground points
(class = 1). This is a totally redesigned version of lasground that handles complicated terrain much better where there are steep mountains nearby urban areas with many buildings.

You can use other classifications than the ASRPS standard with ‘-ground_class 10’ or ‘-non_ground_class 25’. It is possible to leave intact the original classification of any points that are not classified as ground with ‘-non_ground_unchanged’.

The default step size has been increased to 25 meters, which allows to remove most buildings in common cities (except very large warehouses or factories which require a larger step).
For smaller towns or terrains with a few buildings use the ‘-town’ option that decreases the step size to 10 meters. For
very large cities use ‘-metro’ and the step size is increased to 50 meters You can also experiment with setting it directly
using ‘-step 35’. Then there is the ‘-nature’ option that uses a step size of 5 meters for terrains without buildings and the ‘-wilderness’ option that uses 3 meters if you care for smaller features on the ground in high resolution LiDAR.

It is important to tell the tool whether the horizontal and vertical units are meters (which is assumed by default) or
‘-feet’ or ‘-elevation_feet’. Should the LAS/LAZ file contain projection information then there is no need to specify this
explicitly. If the input coordinates are in an earth-centered or a longlat representation, the file needs converted to, for
example, a UTM projection first. That said, some folks have successfully ground-classified longlat representations using
a very small ‘-step 0.000005’ or so.

By default the tool only considers the last return. Earlierreturns are considered non-ground. You can turn this off by
requesting ‘-all_returns’. If you want to leave out certain classifications from the bare-earth calculation you can do
so with ‘-ignore_class 7’.

For very steep hills you can intensify the search for initial ground points with ‘-fine’, ‘-extra_fine’, ‘-ultra_fine’, or
‘-hyper_fine’ and similarly for very flat terrains you can simplify the search with ‘-coarse’ or ‘-extra_coarse’ but try
the default setting first.

The experienced user can fine-tune the algorithm further by specifing the threshold in meters at which spikes get removed.
Setting ‘-spike 0.5’ will remove up-spikes above 50 centimeter and setting ‘-spike_down 2.5’ will remove down-spikes below 2.5 meters in the coarsest TIN. The maximal offset in meters up to which points above the current ground estimate get included can be set with ‘-offset 0.1’. You can also – if you want to try a lot of settings – play with ‘-bulge 1.5’ that – by default – is set to a tenth of the step size and then clamped into the range
from 1.0 to 2.0.

Finally you can ask lasground_new to compute the height above the ground for each point (so you can use lasclassify next without needing to run lasheight first) with ‘-compute_height’ or even ask to have the computed height replace the elevation value with option ‘-replace_z’. Then you directly get a height normalized LAS/LAZ file that can be used, for example, with the lascanopy or lasgrid tools or the pit-free canopy height model (CHM) algorithm.

Should lasground miss-behave try turning off some optimizations using the ‘-no_clean’ or the ‘-no_bulge’ flags.

If there are too few points to do reliable ground classification then the files are simply copied (and in case of ‘-replace_z’ all elevations are zeroed). Alternatively these files can be skipped with the command-line option ‘-skip_files’.

Please license from info@rapidlasso.de to use lasground_new commercially. Please note that the unlicensed version will set intensity, gps_time, user data, and point source ID to zero, slightly change the LAS point order, and randomly add a tiny bit of white noise to the points coordinates.

See README file for more information.