[pdal] Metadata/Pipeline processing record
Howard Butler
howard at hobu.co
Wed Mar 8 09:36:00 PST 2017
I have implemented an option for the LAS writer that allows you to write VLRs for both PDAL's metadata and pipeline JSON. I am hoping this capability will allow users to have a processing record to be stored along with the data.
An example scenario where this might be useful. Say I wrote a pipeline that did a filters.range that was backwards and threw out rather than kept data I wanted in output. I then ran that pipeline over 1000s of files, but I didn't catch it at the time. Those files where then mixed in with 10000s of thousands of files later on and a month later I discovered the issue and have a panic attack. Let's say there's no LAS standard metadata that is helpful except for cumulating stats on the attribute that was wrong in `filters.range`. Depending on my filter and the data, I might not be able to disambiguate with only that.
If I have PDAL's pipeline and processing metadata available in file VLRs, I can write some Python or JavaScript scripts to go through those VLRs and search for exactly the files that have the problem. The following example uses the jq [1] utility to rip through the JSON output and grab the filters.range limits.
> pdal info --metadata badfile.las | jq .metadata.pdal_pipeline.pipeline[1].limits
If you think this is useful, or you have other scenarios where this would be immediately useful, please add to the ticket [2].
Howard
[1] https://stedolan.github.io/jq/manual/
[2] https://github.com/PDAL/PDAL/issues/1509
More information about the pdal
mailing list