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.


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:

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


Invoke the following command, substituting accordingly, in your Conda Shell:

1pdal translate ./exercises/analysis/density/uncompahgre.laz \
2./exercises/analysis/thinning/uncompahgre-thin.copc.laz \
3sample --filters.sample.radius=20
1pdal translate ./exercises/analysis/density/uncompahgre.laz ^
2./exercises/analysis/thinning/uncompahgre-thin.copc.laz ^
3sample --filters.sample.radius=20

By specifying our radius, we set the minimum distance between points to 20 meters.


QGIS 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 output uncompahgre-thin.copc.laz file.


Selecting multiple data sets in QGIS


Uncompahgre thinned at a radius of 20m


  1. Poisson sampling is non-destructive. Points that are filtered with filters.sample will retain all attribute information.