[pdal] PDAL Pipeline Extensibility

Howard Butler howard at hobu.co
Tue Dec 20 11:01:11 PST 2016


I'd like to find out if people see the need to be able to extend PDAL's pipeline JSON syntax, and if they do, what uses the ability to extend it would allow you that you do not have currently. Consider the following pipeline that uses the writers.gdal to interpolate a raster surface from the 255.laz file. At the moment with 1.4, if any of the attributes of a stage are not known, PDAL (rightly) complains with an error telling you it didn't recognize it.

> {
>   "pipeline":[
>     {
>         "type":"readers.las",
>         "filename":"/data/255.laz"
>     },
>     {
>         "type":"writers.gdal",
>         "radius":10.5,
>         "resolution":6,
>         "filename":"/data/dem.tif"
>     }
>   ]
> }


I would like to modify PDAL's Pipeline to support any stage having an 'application' node:

> {
>   "pipeline":[
>     {
>     "type" : "readers.las",
>     "filename" : "/data/255.laz",
>     "application": {
>         "something": 42,
>         "something_else": {"key":"value"},
>         "lots_of_things":[1,2,4,8]
>     }
>     },
>     {
>         "type":"writers.gdal",
>         "radius":10.5,
>         "resolution":6,
>         "filename":"/data/dem.tif",
>         "application": {
>             "comment": "a string",
>             "my_app": {"key":"value"},
>             "user_who_made_this": "howard",
>             "center_point":{ "type": "Point", "coordinates": [100.0, 0.0] },
>             "box":{ "type": "Polygon", "coordinates": [[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]]}
>         }
>     }
>  ]
> }

The idea is applications can use this 'application' node to transmit and communicate their own information through PDAL pipelines. I have three questions:

1) Is this useful enough to support?
2) Do you have a better name than 'application'?
3) Is the a standard convention that people use in JSON to do this kind of thing?

Thanks,

Howard


More information about the pdal mailing list