Thinning
This exercise uses PDAL to subsample or thin point cloud data. This might be done to accelerate processing (less data), normalize point density, or ease visualization.
Exercise
As we showed in the Visualizing acquisition density exercise, the points in the uncompahgre.laz file are not evenly distributed across the entire collection. While we will not get into reasons why that particular property is good or bad, we note there are three different sampling strategies we could choose. We can attempt to preserve shape, we can try to randomly sample, and we can attempt to normalize posting density. PDAL provides capability for all three:
Poisson using the filters.sample
Random using a combination of filters.decimation and filters.randomize
Voxel using filters.voxelcentroidnearestneighbor
In this exercise, we are going to thin with the Poisson method, but the concept should operate similarly for the filters.voxelcentroidnearestneighbor approach.

Thinning strategies available in PDAL
Command
Invoke the following command, substituting accordingly, in your Conda Shell:
1pdal translate ./exercises/analysis/density/uncompahgre.laz \
2./exercises/analysis/thinning/uncompahgre-thin.laz \
3sample --filters.sample.radius=20
1pdal translate ./exercises/analysis/density/uncompahgre.laz ^
2./exercises/analysis/thinning/uncompahgre-thin.laz ^
3sample --filters.sample.radius=20

Visualization
http://plas.io has the ability to switch on/off multiple data sets, and we
are going to use that ability to view both the uncompahgre.laz
and the
uncompahgre-thin.laz
file.

Selecting multiple data sets in http://plas.io

Full resolution Uncompahgre data set

Uncompahgre thinned at a radius of 20m
Notes
Poisson sampling is non-destructive. Points that are filtered with filters.sample will retain all attribute information.