[pdal] Filtering by Classification, Return #, etc

Howard Butler howard at hobu.co
Thu Feb 12 12:49:27 PST 2015


> On Feb 12, 2015, at 3:39 PM, Matthew Hanson <mhanson at appliedgeosolutions.com> wrote:
> 
> I think I now mostly understand the complete process necessary to go from our collected point clouds to DEM products.
> 
> However, when trying to construct the filter to filter out the ground points, I realized that the PassThrough filter only supports certain dimensions and Classification is not one of them (I was going to set min and max Classification to 2).   On a similar note I'll want to filter by other things such as return number.
> 
> So it looks like I just need to put together a Python function and use a predicate filter, which looks easy enough.   However I wanted to make sure I'm not missing anything.   Is there another, preferred way to do this filtering?    I'm especially interested in speed as we'll be processing a fair amount of data.

There is a new thing called filters.rangefilter that you can use to do this filtering. You are correct that normally you would reach for the Python filter, and that was the prescribed way to do this in the past. The rangefilter is a kind of specialization of this common task, whereas you would use the Python filter for something more complex like "give me last returns".

See the RangeFilter test code for inspiration on how to say what you want.

https://github.com/PDAL/PDAL/blob/master/test/unit/filters/RangeFilterTest.cpp

> Thanks again for all the help from the developers, it's been a great help.   I'll buy you a drink if I see you at FOSS4G in SF next month.

Unfortunately, I have used all of my familial travel credits on the Philly Code Sprint, which has been a great success as far as PDAL is concerned. Michael Gerlek plans to attend, and I'm sure he'd be happy to connect with you over a beverage.

Howard


More information about the pdal mailing list