The pipeline command is used to execute Pipeline JSON. See Reading with PDAL or Pipeline for more information.

$ pdal pipeline <input>
--developer-debug         Enable developer debug (don't trap exceptions)
--label                   A string to label the process with
--driver                  Override reader driver
--input, -i               input file name
--pipeline-serialization  Output file for pipeline serialization
--validate                Validate the pipeline (including serialization), but do not write
--progress                Name of file or FIFO to which stages should write progress
                          information. The file/FIFO must exist. PDAL will not create the progress file.
--stdin, -s               Read pipeline from standard input


The pipeline command can accept option substitutions, and they replace existing options that are specified in the input JSON pipeline. If multiple stages of the same name exist in the pipeline, all stages would be overridden. For example, to set the output and input LAS files for a pipeline that does a translation, the filename for the reader and the writer can be overridden:

$ pdal pipeline translate.json --writers.las.filename=output.laz \