[pdal] Ferry filter not working in LAZ file

Howard Butler howard at hobu.co
Fri Apr 13 08:12:47 PDT 2018


> On Apr 12, 2018, at 11:05 PM, Eric Robeck <erobeck at gmail.com> wrote:
> 
> Hello,
> 
> I have written a PDAL pipeline to perform the following steps:
> 
> 1.) Ferry the existing Classification to the UserData field for storage (this is more efficient than creating a new field)

Did you find this to be the case? Adding another dimension shouldn't really have an extra cost.

> 2.) Use the ferry filter to create a new DTM field

> 3.) Use the colorize filter to extract the elevation value from a single-band TIF (a DTM made from the original ground points)

Pete Gadomski made a post about this contorted scenario that's currently required. See http://www.gadom.ski/2018/02/28/pdal-hs.html <http://www.gadom.ski/2018/02/28/pdal-hs.html> for some details.

> 4.) Run SMRF to reclassify the ground points
> 
> I cannot get the ferry filter to work at all.

The syntax in your pipeline is 1.7's syntax, but you stated you're using 1.6.0. This might be the discrepancy.  We want to make this scenario better. filters.colorization is a bad name for what it does (it's really raster overlay). 1.7 fixed the precision issue [1] when doing the task.

> It won't transfer values between existing columns or create new columns, despite using the same syntax described on PDAL.io. I have tried various ways to get around this issue. Changing the order of filters.ferry in the pipeline didn't make a difference. I saw that the online examples worked on uncompressed LAS files, so I converted the input files from LAZ to LAS but there was no change. The pipeline completes without errors, but info --stats and info --schema show that the ferried fields were not created or updated.
> 
> The colorize filter works fine, as long as I use an existing field. For example, "dimensions":"Red:1:1000.0" works by mapping the elevation values to the Red field and multiplying by 1000 to preserve millimeter precision in an integer field. However, "dimensions":"DTM:1:1000.0" does not, because the ferry filter doesn't create the DTM field. The SMRF filter also works well, but without the ability to ferry values I lose the original classifications.
> 
> I am using PDAL 1.6.0 on Windows within OSGeo4W. It was installed this month. My pipeline is copied below.

PDAL 1.7.1 is now available via OSGeo4W64. I don't know that this will solve any issues for you, but we will be talking about the same codebase as far as functionality goes. I know that the filters.ferry syntax was amended to be more explicit about where data from dimensions should be going.

Hope this helps. Pete's write-up is a good one of how to achieve what you're after.

[1] https://github.com/PDAL/PDAL/pull/1841 <https://github.com/PDAL/PDAL/pull/1841>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20180413/df3dc1ee/attachment-0001.html>


More information about the pdal mailing list