Applied-GeoSolutions / lidar2dems

Utilities using PDAL and PCL to create DTMs, DSMs, and CHMs from lidar data
91 stars 36 forks source link

filtering las mosaics but not losing filtered points permanently #9

Open F-Sullivan opened 9 years ago

F-Sullivan commented 9 years ago

In pdal ground, we are able to use the --classify flag which merges the ground returns back into the original las file, and we lose none of the data.

In classify.py, we run a pipeline to filter the mosaic tiles but then run pdal ground on the filtered file because of issues with running PMF in pipeline. However, by doing this we are permanently removing filtered points. With a decimation filter, this is fairly random so we can still generate a DSM that is reasonable (with some errors). A last return filter is only useful for classifying ground returns (and it largely reduces the number of returns, so it should reduce the time necessary for PMF). Vegetation returns are largely lost after a last return filter.

In order to render either filter useful for reducing time, but not data quality, we should be using the PMF filter within the PCL pipeline, and the processing should be performed on the las tile mosaic:

  1. MOSAIC TILES
  2. PCL PIPELINE 2a. input file - MOSAIC TILES 2b. optional filters (last return) fed into PMF 2c. PMF ground classification, with --classify flag so as to not create a ground point cloud
  3. output file - classified MOSAIC TILE with all points intact

The desired effect would be that fewer points are considered when we reach the PMF ground classification phase - only last returns would be candidate ground returns (though not all last returns will be ground returns), which should reduce time for classifying returns. The last return filter was entirely only to save time on this step by reducing the candidate point cloud. In order for our data products to be useful, especially DSM and CHM, we can't afford to lose the filtered points permanently.

matthewhanson commented 9 years ago

This should be possible. We think that this would be able to greatly speed up the classification process, but it may have a negative effect on the results.

This is more of an open question to investigate, rather than a feature request.