.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "GDAL-RASTER-PIPELINE" "1" "Aug 18, 2026" "" "GDAL" .SH NAME gdal-raster-pipeline \- Process a raster dataset applying several steps .sp Added in version 3.11. .SH DESCRIPTION .sp \fBgdal raster pipeline\fP can be used to process a raster dataset and perform various processing steps that accept raster and generate raster. .sp For pipelines mixing raster and vector, consult \fI\%gdal pipeline\fP\&. .sp Most steps proceed in on\-demand evaluation of raster blocks, unless otherwise stated in their documentation, without \(dqmaterializing\(dq the resulting dataset of the operation of each step. It may be desirable sometimes for performance purposes to proceed to materializing an intermediate dataset to disk using \fI\%gdal raster materialize\fP\&. .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 .sp .EX Usage: gdal raster pipeline [OPTIONS] Process a raster dataset applying several steps. Positional arguments: Common Options: \-h, \-\-help Display help message and exit \-\-json\-usage Display usage as JSON document and exit \-\-config = Configuration option [may be repeated] \-q, \-\-quiet Quiet mode (no progress bar or warning message) [not available in pipelines] is of the form: read|mosaic|stack [READ\-OPTIONS] ( ! [STEP\-OPTIONS] )* ! info|compare|tile|write [WRITE\-OPTIONS] .EE .UNINDENT .UNINDENT .sp A pipeline chains several steps, separated with the \fI!\fP (exclamation mark) character. The first step must be \fBread\fP, \fBcalc\fP, \fBcreate\fP, \fBmosaic\fP or \fBstack\fP, and the last one \fBwrite\fP, \fBinfo\fP or \fBtile\fP\&. Each step has its own positional or non\-positional arguments. Apart from \fBread\fP, \fBcalc\fP, \fBmosaic\fP, \fBstack\fP, \fBcompare\fP, \fBinfo\fP, \fBtile\fP and \fBwrite\fP, all other steps can potentially be used several times in a pipeline. .SH STEPS .INDENT 0.0 .IP \(bu 2 \fI\%aspect\fP .IP \(bu 2 \fI\%blend\fP .IP \(bu 2 \fI\%calc\fP .IP \(bu 2 \fI\%clip\fP .IP \(bu 2 \fI\%color\-map\fP .IP \(bu 2 \fI\%compare\fP .IP \(bu 2 \fI\%create\fP .IP \(bu 2 \fI\%edit\fP .IP \(bu 2 \fI\%external\fP .IP \(bu 2 \fI\%fill\-nodata\fP .IP \(bu 2 \fI\%hillshade\fP .IP \(bu 2 \fI\%info\fP .IP \(bu 2 \fI\%materialize\fP .IP \(bu 2 \fI\%mosaic\fP .IP \(bu 2 \fI\%neighbors\fP .IP \(bu 2 \fI\%nodata\-to\-alpha\fP .IP \(bu 2 \fI\%overview\fP .IP \(bu 2 \fI\%pansharpen\fP .IP \(bu 2 \fI\%proximity\fP .IP \(bu 2 \fI\%read\fP .IP \(bu 2 \fI\%reclassify\fP .IP \(bu 2 \fI\%reproject\fP .IP \(bu 2 \fI\%resize\fP .IP \(bu 2 \fI\%rgb\-to\-palette\fP .IP \(bu 2 \fI\%roughness\fP .IP \(bu 2 \fI\%scale\fP .IP \(bu 2 \fI\%select\fP .IP \(bu 2 \fI\%set\-type\fP .IP \(bu 2 \fI\%sieve\fP .IP \(bu 2 \fI\%slope\fP .IP \(bu 2 \fI\%stack\fP .IP \(bu 2 \fI\%tee\fP .IP \(bu 2 \fI\%tile\fP .IP \(bu 2 \fI\%tpi\fP .IP \(bu 2 \fI\%tri\fP .IP \(bu 2 \fI\%unscale\fP .IP \(bu 2 \fI\%update\fP .IP \(bu 2 \fI\%viewshed\fP .IP \(bu 2 \fI\%write\fP .UNINDENT .SS aspect .INDENT 0.0 .INDENT 3.5 .sp .EX * aspect [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate an aspect map Options: \-b, \-\-band Input band (1\-based index) (default: 1) \-\-convention Convention for output angles. CONVENTION=azimuth|trigonometric\-angle (default: azimuth) \-\-gradient\-alg Algorithm used to compute terrain gradient. GRADIENT\-ALG=Horn|ZevenbergenThorne (default: Horn) \-\-zero\-for\-flat Whether to output zero for flat areas \-\-no\-edges Do not try to interpolate values at dataset edges or close to nodata values .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster aspect\fP\&. .SS blend .INDENT 0.0 .INDENT 3.5 .sp .EX * blend [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Blend/compose two raster datasets Positional arguments: \-\-overlay Overlay dataset [required] Options: \-\-operator Composition operator. OPERATOR=src\-over|hsv\-value|multiply|screen|overlay|hard\-light|darken|lighten|color\-dodge|color\-burn (default: src\-over) \-\-opacity Opacity percentage to apply to the overlay dataset (0=fully transparent, 100=full use of overlay opacity) (default: 100) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster blend\fP\&. .SS calc .INDENT 0.0 .INDENT 3.5 .sp .EX * calc [OPTIONS] ... \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Perform raster algebra Positional arguments: \-i, \-\-input Input raster datasets [1.. values] [required] Options: \-\-ot, \-\-datatype, \-\-output\-data\-type Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 \-\-no\-check\-crs Do not check consistency of input coordinate reference systems \-\-no\-check\-extent Do not check consistency of input extents \-\-propagate\-nodata Whether to set pixels to the output NoData value if any of the input pixels is NoData \-\-calc Expression(s) to evaluate [1.. values] [required] \-\-dialect Expression dialect. DIALECT=muparser|builtin (default: muparser) \-\-flatten Generate a single band output raster per expression, even if input datasets are multiband \-\-nodata Assign a specified nodata value to output bands (\(aqnone\(aq, numeric value, \(aqnan\(aq, \(aqinf\(aq, \(aq\-inf\(aq) Advanced Options: \-\-if, \-\-input\-format Input formats [may be repeated] \-\-oo, \-\-open\-option = Open options [may be repeated] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster calc\fP\&. .SS clip .INDENT 0.0 .INDENT 3.5 .sp .EX * clip [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Clip a raster dataset. Options: \-\-bbox Clipping bounding box as xmin,ymin,xmax,ymax Mutually exclusive with \-\-window, \-\-geometry, \-\-like \-\-bbox\-crs CRS of clipping bounding box \-\-window Raster window as col,line,width,height in pixels Mutually exclusive with \-\-bbox, \-\-geometry, \-\-like \-\-geometry Clipping geometry (WKT or GeoJSON) Mutually exclusive with \-\-bbox, \-\-window, \-\-like \-\-geometry\-crs CRS of clipping geometry \-\-like Dataset to use as a template for bounds Mutually exclusive with \-\-bbox, \-\-window, \-\-geometry \-\-like\-sql SELECT statement to run on the \(aqlike\(aq dataset Mutually exclusive with \-\-like\-where \-\-like\-layer Name of the layer of the \(aqlike\(aq dataset \-\-like\-where WHERE SQL clause to run on the \(aqlike\(aq dataset Mutually exclusive with \-\-like\-sql \-\-only\-bbox For \(aqgeometry\(aq and \(aqlike\(aq, only consider their bounding box \-\-allow\-bbox\-outside\-source Allow clipping box to include pixels outside input dataset \-\-add\-alpha Adds an alpha mask band to the destination when the source raster have none. .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster clip\fP\&. .SS color\-map .INDENT 0.0 .INDENT 3.5 .sp .EX * color\-map [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate a RGB or RGBA dataset from a single band, using a color map Options: \-b, \-\-band Input band (1\-based index) (default: 1) \-\-color\-map Color map filename \-\-add\-alpha Adds an alpha mask band to the destination. \-\-color\-selection How to compute output colors from input values. COLOR\-SELECTION=interpolate|exact|nearest (default: interpolate) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster color\-map\fP\&. .SS compare .sp Added in version 3.12. .INDENT 0.0 .INDENT 3.5 .sp .EX * compare [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Compare two raster datasets. Positional arguments: \-\-reference Reference dataset [required] Options: \-\-skip\-all\-optional Skip all optional comparisons \-\-skip\-binary Skip binary file comparison \-\-skip\-crs Skip CRS comparison \-\-skip\-geotransform Skip geotransform comparison \-\-skip\-overview Skip overview comparison \-\-skip\-metadata Skip metadata comparison \-\-skip\-rpc Skip RPC metadata comparison \-\-skip\-geolocation Skip Geolocation metadata comparison \-\-skip\-subdataset Skip subdataset comparison .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster compare\fP\&. .SS create .INDENT 0.0 .INDENT 3.5 .sp .EX * create [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Create a new raster dataset. Options: \-i, \-\-like, \-\-input Template raster dataset \-\-size , Output size in pixels \-\-band\-count Number of bands (default: 1) \-\-ot, \-\-datatype, \-\-output\-data\-type Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 (default: Byte) \-\-nodata Assign a specified nodata value to output bands (\(aqnone\(aq, numeric value, \(aqnan\(aq, \(aqinf\(aq, \(aq\-inf\(aq) \-\-burn Burn value [may be repeated] \-\-crs Set CRS \-\-bbox Bounding box as xmin,ymin,xmax,ymax \-\-metadata = Add metadata item [may be repeated] \-\-copy\-metadata Copy metadata from input dataset Depends on \-\-input \-\-copy\-overviews Create same overview levels as input dataset Depends on \-\-input Advanced Options: \-\-if, \-\-input\-format Input formats [may be repeated] \-\-oo, \-\-open\-option = Open options [may be repeated] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster create\fP\&. .SS edit .INDENT 0.0 .INDENT 3.5 .sp .EX * edit [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Edit a raster dataset. Options: \-b, \-\-band Active band (1\-based index) \-\-crs Override CRS (without reprojection) \-\-bbox Bounding box as xmin,ymin,xmax,ymax \-\-nodata Assign a specified nodata value to output bands (\(aqnone\(aq, numeric value, \(aqnan\(aq, \(aqinf\(aq, \(aq\-inf\(aq) \-\-color\-interpretation <[all|=] Set band color interpretation [may be repeated] \-\-color\-map Color map filename Mutually exclusive with \-\-unset\-color\-table \-\-scale <[=] Override band scale factor [may be repeated] \-\-offset <[=] Override band offset constant [may be repeated] \-\-metadata = Add/update dataset metadata item [may be repeated] \-\-unset\-color\-table Unset color table on 1st band or the one specified with \-\-band Mutually exclusive with \-\-color\-map \-\-unset\-metadata Remove dataset metadata item(s) [may be repeated] \-\-unset\-metadata\-domain Remove dataset metadata domain(s) [may be repeated] \-\-gcp Add ground control point, formatted as pixel,line,easting,northing[,elevation], or @filename [may be repeated] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster edit\fP\&. .SS external .INDENT 0.0 .INDENT 3.5 .sp .EX * external [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Execute an external program as a step of a pipeline Positional arguments: \-\-command External command, optionally with and/or or placeholders [required] Options: \-f, \-\-of, \-\-format, \-\-output\-format Output format Advanced Options: \-\-if, \-\-input\-format Input formats .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal external\fP\&. .SS fill\-nodata .INDENT 0.0 .INDENT 3.5 .sp .EX * fill\-nodata [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Fill nodata raster regions by interpolation from edges. Options: \-b, \-\-band Input band (1\-based index) (default: 1) \-d, \-\-max\-distance The maximum distance (in pixels) that the algorithm will search out for values to interpolate. (default: 100) \-s, \-\-smoothing\-iterations The number of 3x3 average filter smoothing iterations to run after the interpolation to dampen artifacts. The default is zero smoothing iterations. (default: 0) \-\-mask Use the first band of the specified file as a validity mask (zero is invalid, non\-zero is valid). \-\-strategy By default, pixels are interpolated using an inverse distance weighting (invdist). It is also possible to choose a nearest neighbour (nearest) strategy.. STRATEGY=invdist|nearest (default: invdist) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster fill\-nodata\fP\&. .SS hillshade .INDENT 0.0 .INDENT 3.5 .sp .EX * hillshade [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate a shaded relief map Options: \-b, \-\-band Input band (1\-based index) (default: 1) \-z, \-\-zfactor Vertical exaggeration used to pre\-multiply the elevations \-\-xscale Ratio of vertical units to horizontal X axis units \-\-yscale Ratio of vertical units to horizontal Y axis units \-\-azimuth Azimuth of the light, in degrees (default: 315) \-\-altitude Altitude of the light, in degrees (default: 45) \-\-gradient\-alg Algorithm used to compute terrain gradient. GRADIENT\-ALG=Horn|ZevenbergenThorne (default: Horn) \-\-variant Variant of the hillshading algorithm. VARIANT=regular|combined|multidirectional|Igor (default: regular) \-\-no\-edges Do not try to interpolate values at dataset edges or close to nodata values .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster hillshade\fP\&. .SS info .sp Added in version 3.12. .INDENT 0.0 .INDENT 3.5 .sp .EX * info [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Return information on a raster dataset. Options: \-f, \-\-of, \-\-format, \-\-output\-format Output format. OUTPUT\-FORMAT=json|text \-\-mm, \-\-min\-max Compute minimum and maximum value \-\-stats Retrieve or compute statistics, using all pixels Mutually exclusive with \-\-approx\-stats \-\-approx\-stats Retrieve or compute statistics, using a subset of pixels Mutually exclusive with \-\-stats \-\-hist Retrieve or compute histogram Advanced Options: \-\-no\-gcp Suppress ground control points list printing \-\-no\-md Suppress metadata printing \-\-no\-ct Suppress color table printing \-\-no\-fl Suppress file list printing \-\-checksum Compute pixel checksum \-\-list\-metadata\-domains, \-\-list\-mdd List all metadata domains available for the dataset \-\-mdd, \-\-metadata\-domain Report metadata for the specified domain. \(aqall\(aq can be used to report metadata in all domains Esoteric Options: \-\-no\-nodata Suppress retrieving nodata value \-\-no\-mask Suppress mask band information \-\-subdataset Use subdataset of specified index (starting at 1), instead of the source dataset itself \-\-crs\-format Which format to use to report CRS. CRS\-FORMAT=AUTO|WKT2|PROJJSON (default: AUTO) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster info\fP\&. .SS materialize .INDENT 0.0 .INDENT 3.5 .sp .EX * materialize [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Materialize a piped dataset on disk to increase the efficiency of the following steps. Options: \-o, \-\-output Materialized dataset name (created by algorithm) \-f, \-\-of, \-\-format, \-\-output\-format Output format \-\-co, \-\-creation\-option = Creation option [may be repeated] \-\-overwrite Whether overwriting existing output dataset is allowed .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster materialize\fP\&. .SS mosaic .INDENT 0.0 .INDENT 3.5 .sp .EX * mosaic [OPTIONS] ... \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Build a mosaic, either virtual (VRT) or materialized. Positional arguments: \-i, \-\-input Input raster datasets (or specify a @ to point to a file containing filenames) [1.. values] [required] Options: \-b, \-\-band Input band(s) (1\-based index) [may be repeated] \-\-absolute\-path Whether the path to the input datasets should be stored as an absolute path \-\-resolution ,|same|average|common|highest|lowest> Target resolution (in destination CRS units) (default: same) \-\-bbox Target bounding box as xmin,ymin,xmax,ymax (in destination CRS units) \-\-target\-aligned\-pixels Round target extent to target resolution \-\-input\-nodata Set nodata values for input bands. [1.. values] \-\-output\-nodata Set nodata values at the destination band level. [1.. values] \-\-hide\-nodata Makes the destination band not report the NoData. \-\-add\-alpha Adds an alpha mask band to the destination when the source raster have none. \-\-pixel\-function Specify a pixel function to calculate output value from overlapping inputs. PIXEL\-FUNCTION=area|argmax|argmin|cmul|complex|conj|dB|dB2amp|dB2pow|diff|div|exp|expression|geometric_mean|harmonic_mean|imag|intensity|interpolate_exp|interpolate_linear|inv|log10|max|mean|median|min|mod|mode|mul|norm_diff|phase|polar|pow|quantile|real|reclassify|replace_nodata|round|scale|sqrt|sum \-\-pixel\-function\-arg = Specify argument(s) to pass to the pixel function [may be repeated] Advanced Options: \-\-if, \-\-input\-format Input formats [may be repeated] \-\-oo, \-\-open\-option = Open options [may be repeated] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster mosaic\fP\&. .SS neighbors .INDENT 0.0 .INDENT 3.5 .sp .EX * neighbors [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Compute the value of each pixel from its neighbors (focal statistics) Options: \-b, \-\-band Input band (1\-based index) \-\-method Method to combine weighed source pixels. METHOD=mean|sum|min|max|stddev|median|mode [may be repeated] \-\-size Neighborhood size \-\-kernel Convolution kernel(s) to apply [1.. values] [required] \-\-ot, \-\-datatype, \-\-output\-data\-type Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 (default: Float64) \-\-nodata Assign a specified nodata value to output bands (\(aqnone\(aq, numeric value, \(aqnan\(aq, \(aqinf\(aq, \(aq\-inf\(aq) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster neighbors\fP\&. .SS nodata\-to\-alpha .INDENT 0.0 .INDENT 3.5 .sp .EX * nodata\-to\-alpha [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Replace nodata value(s) with an alpha band. Options: \-\-nodata Override nodata value of input band(s) (numeric value, \(aqnan\(aq, \(aqinf\(aq, \(aq\-inf\(aq) [may be repeated] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster nodata\-to\-alpha\fP\&. .SS overview .INDENT 0.0 .INDENT 3.5 .sp .EX * overview [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- where is one of: \- add: Adding overviews. .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster overview\fP\&. .SS pansharpen .INDENT 0.0 .INDENT 3.5 .sp .EX * pansharpen [OPTIONS] ... \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Perform a pansharpen operation. Positional arguments: \-\-spectral Input spectral band dataset [1.. values] [required] Options: \-r, \-\-resampling Resampling algorithm. RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average (default: cubic) \-\-weights Weight for each input spectral band [may be repeated] \-\-nodata Override nodata value of input bands \-\-bit\-depth Override bit depth of input bands \-\-spatial\-extent\-adjustment Select behavior when bands have not the same extent. SPATIAL\-EXTENT\-ADJUSTMENT=union|intersection|none|none\-without\-warning (default: union) \-j, \-\-num\-threads Number of jobs (or ALL_CPUS) (default: ALL_CPUS) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster pansharpen\fP\&. .SS proximity .INDENT 0.0 .INDENT 3.5 .sp .EX * proximity [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Produces a raster proximity map. Options: \-\-ot, \-\-datatype, \-\-output\-data\-type Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64|Byte|UInt16|Int16|UInt32|Int32|Float32|Float64 (default: Float32) \-b, \-\-band Input band (1\-based index) \-\-target\-values Target pixel values [may be repeated] \-\-distance\-units Distance units. DISTANCE\-UNITS=pixel|geo (default: pixel) \-\-max\-distance Maximum distance. The nodata value will be used for pixels beyond this distance (default: 0) \-\-fixed\-value Fixed value for the pixels that are within the maximum distance (instead of the actual distance) (default: 0) \-\-nodata Specify a nodata value to use for pixels that are beyond the maximum distance .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster proximity\fP\&. .SS read .INDENT 0.0 .INDENT 3.5 .sp .EX * read [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Read a raster dataset. Positional arguments: \-i, \-\-input Input raster datasets [required] Advanced Options: \-\-if, \-\-input\-format Input formats [may be repeated] \-\-oo, \-\-open\-option = Open options [may be repeated] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster pipeline read\fP\&. .SS reclassify .INDENT 0.0 .INDENT 3.5 .sp .EX * reclassify [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Reclassify values in a raster dataset Options: \-m, \-\-mapping Reclassification mappings (or specify a @ to point to a file containing mappings [required] \-\-ot, \-\-datatype, \-\-output\-data\-type Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster reclassify\fP\&. .SS reproject .INDENT 0.0 .INDENT 3.5 .sp .EX * reproject [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Reproject a raster dataset. Options: \-s, \-\-input\-crs Input CRS \-\-like Dataset to use as a template for target bounds, CRS, size and nodata \-d, \-\-output\-crs Output CRS \-r, \-\-resampling Resampling method. RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode|min|max|med|q1|q3|sum (default: nearest) \-\-resolution , Target resolution (in destination CRS units) Mutually exclusive with \-\-size \-\-size , Target size in pixels Mutually exclusive with \-\-resolution \-\-bbox Target bounding box (in destination CRS units) \-\-bbox\-crs CRS of target bounding box \-j, \-\-num\-threads Number of jobs (or ALL_CPUS) (default: ALL_CPUS) Advanced Options: \-\-target\-aligned\-pixels Round target extent to target resolution \-\-input\-nodata Set nodata values for input bands (\(aqNone\(aq to unset). [1.. values] \-\-output\-nodata Set nodata values for output bands (\(aqNone\(aq to unset). [1.. values] \-\-add\-alpha Adds an alpha mask band to the destination when the source raster have none. \-\-wo, \-\-warp\-option = Warping option(s) [may be repeated] \-\-to, \-\-transform\-option = Transform option(s) [may be repeated] \-\-et, \-\-error\-threshold Error threshold .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster reproject\fP\&. .SS resize .INDENT 0.0 .INDENT 3.5 .sp .EX * resize [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Resize a raster dataset without changing the georeferenced extents. Options: \-\-resolution , Target resolution (in destination CRS units) Mutually exclusive with \-\-size \-\-size , Target size in pixels (or percentage if using \(aq%\(aq suffix) [required] Mutually exclusive with \-\-resolution \-r, \-\-resampling Resampling method. RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average|mode (default: nearest) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster resize\fP\&. .SS rgb\-to\-palette .INDENT 0.0 .INDENT 3.5 .sp .EX * rgb\-to\-palette [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Convert a RGB image into a pseudo\-color / paletted image. Options: \-\-color\-count Select the number of colors in the generated color table (default: 256) \-\-color\-map Color map filename \-\-output\-nodata Output nodata value \-\-no\-dither Disable Floyd\-Steinberg dithering \-\-bit\-depth Bit depth of color palette component (8 bit causes longer computation time). BIT\-DEPTH=5|8 (default: 5) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster rgb\-to\-palette\fP\&. .SS roughness .INDENT 0.0 .INDENT 3.5 .sp .EX * roughness [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate a roughness map Options: \-b, \-\-band Input band (1\-based index) (default: 1) \-\-no\-edges Do not try to interpolate values at dataset edges or close to nodata values .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster roughness\fP\&. .SS scale .INDENT 0.0 .INDENT 3.5 .sp .EX * scale [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Scale the values of the bands of a raster dataset. Options: \-\-ot, \-\-datatype, \-\-output\-data\-type Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 \-b, \-\-band Select band to restrict the scaling (1\-based index) \-\-input\-min Minimum value of the source range Depends on \-\-input\-max \-\-input\-max Maximum value of the source range Depends on \-\-input\-min \-\-output\-min Minimum value of the destination range Depends on \-\-output\-max \-\-output\-max Maximum value of the destination range Depends on \-\-output\-min \-\-exponent Exponent to apply non\-linear scaling with a power function \-\-no\-clip Do not clip input values to [innput\-min, input\-max] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster scale\fP\&. .SS select .INDENT 0.0 .INDENT 3.5 .sp .EX * select [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Select a subset of bands from a raster dataset. Positional arguments: \-b, \-\-band Band(s) (1\-based index, \(aqmask\(aq, \(aqmask:\(aq or color interpretation such as \(aqred\(aq) [1.. values] [required] Options: \-\-exclude Exclude specified bands \-\-mask Mask band (1\-based index, \(aqmask\(aq, \(aqmask:\(aq or \(aqnone\(aq) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster select\fP\&. .SS set\-type .INDENT 0.0 .INDENT 3.5 .sp .EX * set\-type [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Modify the data type of bands of a raster dataset. Options: \-\-ot, \-\-datatype, \-\-output\-data\-type Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 [required] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster set\-type\fP\&. .SS sieve .INDENT 0.0 .INDENT 3.5 .sp .EX * sieve [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Remove small polygons from a raster dataset. Options: \-\-mask Use the first band of the specified file as a validity mask (all pixels with a value other than zero will be considered suitable for inclusion in polygons) \-b, \-\-band Input band (1\-based index) \-s, \-\-size\-threshold Minimum size of polygons to keep (default: 2) \-c, \-\-connect\-diagonal\-pixels Consider diagonal pixels as connected .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster sieve\fP\&. .SS slope .INDENT 0.0 .INDENT 3.5 .sp .EX * slope [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate a slope map Options: \-b, \-\-band Input band (1\-based index) (default: 1) \-\-unit Unit in which to express slopes. UNIT=degree|percent (default: degree) \-\-xscale Ratio of vertical units to horizontal X axis units \-\-yscale Ratio of vertical units to horizontal Y axis units \-\-gradient\-alg Algorithm used to compute terrain gradient. GRADIENT\-ALG=Horn|ZevenbergenThorne (default: Horn) \-\-no\-edges Do not try to interpolate values at dataset edges or close to nodata values .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster slope\fP\&. .SS stack .INDENT 0.0 .INDENT 3.5 .sp .EX * stack [OPTIONS] ... \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Combine together input bands into a multi\-band output, either virtual (VRT) or materialized. Positional arguments: \-i, \-\-input Input raster datasets (or specify a @ to point to a file containing filenames) [1.. values] [required] Options: \-b, \-\-band Input band(s) (1\-based index) [may be repeated] \-\-absolute\-path Whether the path to the input datasets should be stored as an absolute path \-\-resolution ,|same|average|common|highest|lowest> Target resolution (in destination CRS units) (default: same) \-\-bbox Target bounding box as xmin,ymin,xmax,ymax (in destination CRS units) \-\-target\-aligned\-pixels Round target extent to target resolution \-\-input\-nodata Set nodata values for input bands. [1.. values] \-\-output\-nodata Set nodata values at the destination band level. [1.. values] \-\-hide\-nodata Makes the destination band not report the NoData. Advanced Options: \-\-if, \-\-input\-format Input formats [may be repeated] \-\-oo, \-\-open\-option = Open options [may be repeated] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster stack\fP\&. .SS tee .INDENT 0.0 .INDENT 3.5 .sp .EX * tee [OPTIONS] [...] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Pipes the input into the output stream and side nested pipelines. Positional arguments: \-\-tee\-pipeline Nested pipeline [1.. values] .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%Output nested pipeline\fP\&. .SS tile .sp Added in version 3.12. .INDENT 0.0 .INDENT 3.5 .sp .EX * tile [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate tiles in separate files from a raster dataset. Positional arguments: \-o, \-\-output Output directory [required] Options: \-f, \-\-of, \-\-format, \-\-output\-format Output format (default: PNG) \-\-co, \-\-creation\-option = Creation option [may be repeated] \-\-tiling\-scheme Tiling scheme. TILING\-SCHEME=raster|WebMercatorQuad|WorldCRS84Quad|WorldMercatorWGS84Quad|GoogleCRS84Quad|PseudoTMS_GlobalMercator|GlobalGeodeticOriginLat270|LINZAntarticaMapTilegrid|APSTILE|CBMTILE|NZTM2000 (default: WebMercatorQuad) \-\-min\-zoom Minimum zoom level \-\-max\-zoom Maximum zoom level \-\-min\-x Minimum tile X coordinate \-\-max\-x Maximum tile X coordinate \-\-min\-y Minimum tile Y coordinate \-\-max\-y Maximum tile Y coordinate \-\-no\-intersection\-ok Whether dataset extent not intersecting tile matrix is only a warning \-r, \-\-resampling Resampling method for max zoom. RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode|min|max|med|q1|q3|sum (default: cubic) \-\-overview\-resampling Resampling method for overviews. OVERVIEW\-RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode|min|max|med|q1|q3|sum \-\-convention Tile numbering convention: xyz (from top) or tms (from bottom). CONVENTION=xyz|tms (default: xyz) \-\-tile\-size Override default tile size \-\-add\-alpha Whether to force adding an alpha channel Mutually exclusive with \-\-no\-alpha \-\-no\-alpha Whether to disable adding an alpha channel Mutually exclusive with \-\-add\-alpha \-\-output\-nodata Output nodata value \-\-skip\-blank Do not generate blank tiles \-\-metadata = Add metadata item to output tiles [may be repeated] \-\-copy\-src\-metadata Whether to copy metadata from source dataset \-\-aux\-xml Generate .aux.xml sidecar files when needed \-\-kml Generate KML files \-\-resume Generate only missing files \-j, \-\-num\-threads Number of jobs (or ALL_CPUS) (default: ALL_CPUS) \-\-parallel\-method Parallelization method (thread, spawn, fork). PARALLEL\-METHOD=thread|spawn|fork Advanced Resampling Options: \-\-excluded\-values Tuples of values (e.g. ,, or (,,),(,,)) that must beignored as contributing source pixels during (average) resampling \-\-excluded\-values\-pct\-threshold Minimum percentage of source pixels that must be set at one of the \-\-excluded\-values to cause the excluded value to be used as the target pixel value (default: 50) \-\-nodata\-values\-pct\-threshold Minimum percentage of source pixels that must be set at one of nodata (or alpha=0 or any other way to express transparent pixelto cause the target pixel value to be transparent (default: 100) Publication Options: \-\-webviewer Web viewer to generate. WEBVIEWER=none|all|leaflet|openlayers|mapml|stac (default: all) [may be repeated] \-\-url URL address where the generated tiles are going to be published \-\-title Title of the map \-\-copyright <COPYRIGHT> Copyright for the map \-\-mapml\-template <MAPML\-TEMPLATE> Filename of a template mapml file where variables will be substituted .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster tile\fP\&. .SS tpi .INDENT 0.0 .INDENT 3.5 .sp .EX * tpi [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate a Topographic Position Index (TPI) map Options: \-b, \-\-band <BAND> Input band (1\-based index) (default: 1) \-\-no\-edges Do not try to interpolate values at dataset edges or close to nodata values .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster tpi\fP\&. .SS tri .INDENT 0.0 .INDENT 3.5 .sp .EX * tri [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Generate a Terrain Ruggedness Index (TRI) map Options: \-b, \-\-band <BAND> Input band (1\-based index) (default: 1) \-\-algorithm <ALGORITHM> Algorithm to compute TRI. ALGORITHM=Riley|Wilson (default: Riley) \-\-no\-edges Do not try to interpolate values at dataset edges or close to nodata values .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster tri\fP\&. .SS unscale .INDENT 0.0 .INDENT 3.5 .sp .EX * unscale [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Convert scaled values of a raster dataset into unscaled values. Options: \-\-ot, \-\-datatype, \-\-output\-data\-type <OUTPUT\-DATA\-TYPE> Output data type. OUTPUT\-DATA\-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster unscale\fP\&. .SS update .INDENT 0.0 .INDENT 3.5 .sp .EX * update [OPTIONS] <OUTPUT> \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Update the destination raster with the content of the input one. Positional arguments: \-o, \-\-output <OUTPUT> Output raster dataset [required] Options: \-\-geometry <GEOMETRY> Clipping geometry (WKT or GeoJSON) \-\-geometry\-crs <GEOMETRY\-CRS> CRS of clipping geometry \-r, \-\-resampling <RESAMPLING> Resampling method. RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode|min|max|med|q1|q3|sum (default: nearest) \-\-no\-update\-overviews Do not update existing overviews Advanced Options: \-\-wo, \-\-warp\-option <NAME>=<VALUE> Warping option(s) [may be repeated] \-\-to, \-\-transform\-option <NAME>=<VALUE> Transform option(s) [may be repeated] \-\-et, \-\-error\-threshold <ERROR\-THRESHOLD> Error threshold .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster update\fP\&. .SS viewshed .INDENT 0.0 .INDENT 3.5 .sp .EX * viewshed [OPTIONS] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Compute the viewshed of a raster dataset. Options: \-p, \-\-pos, \-\-position <X,Y> or <X,Y,H> Observer position [2..3 values] \-z, \-\-height <HEIGHT> Observer height \-\-sd\-filename <SD\-FILENAME> Filename of standard\-deviation raster \-\-target\-height <TARGET\-HEIGHT> Height of the target above the DEM surface in the height unit of the DEM. (default: 0) \-\-mode <MODE> Sets what information the output contains.. MODE=normal|DEM|ground|cumulative (default: normal) \-\-max\-distance <MAX\-DISTANCE> Maximum distance from observer to compute visibility. It is also used to clamp the extent of the output raster. \-\-min\-distance <MIN\-DISTANCE> Mask all cells less than this distance from the observer. Must be less than \(aqmax\-distance\(aq. \-\-start\-angle <START\-ANGLE> Mask all cells outside of the arc (\(aqstart\-angle\(aq, \(aqend\-angle\(aq). Clockwise degrees from north. Also used to clamp the extent of the output raster. \-\-end\-angle <END\-ANGLE> Mask all cells outside of the arc (\(aqstart\-angle\(aq, \(aqend\-angle\(aq). Clockwise degrees from north. Also used to clamp the extent of the output raster. \-\-high\-pitch <HIGH\-PITCH> Mark all cells out\-of\-range where the observable height would be higher than the \(aqhigh\-pitch\(aq angle from the observer. Degrees from horizontal \- positive is up. Must be greater than \(aqlow\-pitch\(aq. \-\-low\-pitch <LOW\-PITCH> Bound observable height to be no lower than the \(aqlow\-pitch\(aq angle from the observer. Degrees from horizontal \- positive is up. Must be less than \(aqhigh\-pitch\(aq. \-\-curvature\-coefficient <CURVATURE\-COEFFICIENT> Coefficient to consider the effect of the curvature and refraction. \-b, \-\-band <BAND> Input band (1\-based index) (default: 1) \-\-visible\-value <VISIBLE\-VALUE> Pixel value to set for visible areas (default: 255) \-\-invisible\-value <INVISIBLE\-VALUE> Pixel value to set for invisible areas (default: 0) \-\-maybe\-visible\-value <MAYBE\-VISIBLE\-VALUE> Pixel value to set for potentially visible areas (default: 2) \-\-out\-of\-range\-value <OUT\-OF\-RANGE\-VALUE> Pixel value to set for the cells that fall outside of the range specified by the observer location and the maximum distance (default: 0) \-\-output\-nodata <OUTPUT\-NODATA> The value to be set for the cells in the output raster that have no data. \-\-observer\-spacing <OBSERVER\-SPACING> Cell Spacing between observers (default: 10) \-j, \-\-num\-threads <NUM\-THREADS> Number of jobs (or ALL_CPUS) (default: 3) .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster viewshed\fP\&. .SS write .INDENT 0.0 .INDENT 3.5 .sp .EX * write [OPTIONS] <OUTPUT> \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Write a raster dataset. Positional arguments: \-o, \-\-output <OUTPUT> Output raster dataset [required] Options: \-f, \-\-of, \-\-format, \-\-output\-format <OUTPUT\-FORMAT> Output format (\(dqGDALG\(dq allowed) \-\-co, \-\-creation\-option <KEY>=<VALUE> Creation option [may be repeated] \-\-overwrite Whether overwriting existing output dataset is allowed Mutually exclusive with \-\-append \-\-append Append as a subdataset to existing output Mutually exclusive with \-\-overwrite .EE .UNINDENT .UNINDENT .sp Details for options can be found in \fI\%gdal raster pipeline write\fP\&. .SH GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET) .sp A pipeline can be serialized as a JSON file using the \fBGDALG\fP output format. The resulting file can then be opened as a raster dataset using the \fI\%GDALG: GDAL Streamed Algorithm\fP driver, and apply the specified pipeline in a on\-the\-fly / streamed way. .sp The \fBcommand_line\fP member of the JSON file should nominally be the whole command line without the final \fBwrite\fP step, and is what is generated by \fBgdal raster pipeline ! .... ! write out.gdalg.json\fP\&. .INDENT 0.0 .INDENT 3.5 .sp .EX { \(dqtype\(dq: \(dqgdal_streamed_alg\(dq, \(dqcommand_line\(dq: \(dqgdal raster pipeline ! read in.tif ! reproject \-\-output\-crs=EPSG:32632\(dq } .EE .UNINDENT .UNINDENT .sp The final \fBwrite\fP step can be added but if so it must explicitly specify the \fBstream\fP output format and a non\-significant output dataset name. .INDENT 0.0 .INDENT 3.5 .sp .EX { \(dqtype\(dq: \(dqgdal_streamed_alg\(dq, \(dqcommand_line\(dq: \(dqgdal raster pipeline ! read in.tif ! reproject \-\-output\-crs=EPSG:32632 ! write \-\-output\-format=streamed streamed_dataset\(dq } .EE .UNINDENT .UNINDENT .SH SUBSTITUTIONS .sp Added in version 3.12. .sp It is possible to use \fBgdal pipeline\fP to use a pipeline already serialized in a .gdal.json file, and customize its existing steps, typically changing an input filename, specifying an output filename, or adding/modifying arguments of steps. .sp See \fI\%Substitutions\fP\&. .SH NESTED PIPELINE .sp Added in version 3.12. .sp It is possible to create \(dqnested pipelines\(dq, i.e. pipelines inside pipelines. .sp A nested pipeline is delimited by square brackets (\fB[\fP and \fB]\fP) surrounded by a space character. .sp There are 2 kinds of nested pipelines: .INDENT 0.0 .IP \(bu 2 input nested pipelines: where the result dataset of the nested pipeline is used as the input dataset for an argument of the main pipeline. .IP \(bu 2 output nested pipelines: where the output of a step of the main pipeline is used as the input of the nested pipeline in a following step. Output nested pipelines can only be used with the \fBtee\fP step. .UNINDENT .sp See \fI\%Nested pipeline\fP\&. .SH RETURN STATUS CODE .sp The program returns status code 0 in case of success, and non\-zero in case of error (non\-blocking errors emitted as warnings are considered as a successful execution). .SH EXAMPLES .SS Example 1: Reproject a GeoTIFF file to CRS EPSG:32632 (\(dqWGS 84 / UTM zone 32N\(dq) and adding a metadata item .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal raster pipeline ! read in.tif ! reproject \-\-output\-crs=EPSG:32632 ! edit \-\-metadata AUTHOR=EvenR ! write out.tif \-\-overwrite .EE .UNINDENT .UNINDENT .SS Example 2: Serialize the command of a reprojection of a GeoTIFF file in a GDALG file, and later read it .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal raster pipeline ! read in.tif ! reproject \-\-output\-crs=EPSG:32632 ! write in_epsg_32632.gdalg.json \-\-overwrite $ gdal raster info in_epsg_32632.gdalg.json .EE .UNINDENT .UNINDENT .SS Example 3: Mosaic on\-the\-fly several input files and tile that mosaic. .INDENT 0.0 .INDENT 3.5 .sp .EX gdal raster pipeline ! mosaic input*.tif ! tile output_folder .EE .UNINDENT .UNINDENT .SS Example 4: Reclassify GeoTIFF and render it as RGB image. .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal raster pipeline ! read in.tif ! reclassify \-m \(dq[1,10]=1; [11,20]=2; [21,30]=3; DEFAULT=NO_DATA\(dq \-\-ot=Byte ! color\-map \-\-color\-map=color_map.txt \-\-color\-selection=exact \-\-add\-alpha ! write \-f WEBP rendered.webp .EE .UNINDENT .UNINDENT .SH AUTHOR Even Rouault <even.rouault@spatialys.com> .SH COPYRIGHT 1998-2026 .\" Generated by docutils manpage writer. .