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.


This excerise is an adaptation of the Performing Poisson Sampling of Point Clouds Using Dart Throwing tutorial on the PDAL website by Brad Chambers. It includes some images from that tutorial for illustration. You can find more detail and example invocations there.


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.voxelgrid approach too. See Performing Poisson Sampling of Point Clouds Using Dart Throwing for description of how to randomly filter.


Thinning strategies available in PDAL


Invoke the following command, substituting accordingly, in your Docker Quickstart Terminal:

pdal translate ^
   c:/Users/hobu/PDAL/exercises/analysis/density/uncompahgre.laz ^
   c:/Users/hobu/PDAL/exercises/analysis/thinning/uncompahgre-thin.laz ^
   sample ^

Visualization 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


Full resolution Uncompahgre data set


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.