# 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.

Note

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.

## 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.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.

Thinning strategies available in PDAL

### Command

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

### 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

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