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:
- Poisson using the filters.sample
- Random using a combination of filters.decimation and filters.randomize
- Voxel using filters.voxelgrid
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.
Invoke the following command, substituting accordingly, in your Docker Quickstart Terminal:
1 2 3 4 5
pdal translate ^ c:/Users/hobu/PDAL/exercises/analysis/density/uncompahgre.laz ^ c:/Users/hobu/PDAL/exercises/analysis/thinning/uncompahgre-thin.laz ^ sample ^ --filters.sample.radius=20