Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GDAL-RASTER-STACK(1)		      GDAL		    GDAL-RASTER-STACK(1)

NAME
     gdal-raster-stack	- Combine together input bands into a multi-band output,
     either virtual (VRT) or materialized

     Added in version 3.11.

SYNOPSIS
	Usage: gdal raster stack [OPTIONS] [<INPUTS>...] <OUTPUT>

	Combine together input bands into a multi-band output, either virtual (VRT) or materialized.

	Positional arguments:
	  -i, --input <INPUTS>						  Input raster datasets (or specify a @<filename> to point to a file containing filenames) [1.. values]
	  -o, --output <OUTPUT> 					  Output raster dataset (created by algorithm) [required]

	Common Options:
	  -h, --help							  Display help message and exit
	  --json-usage							  Display usage as JSON document and exit
	  --config <KEY>=<VALUE>					  Configuration option [may be repeated]
	  --progress							  Display progress bar

	Options:
	  -f, --of, --format, --output-format <OUTPUT-FORMAT>		  Output format ("GDALG" allowed)
	  --co, --creation-option <KEY>=<VALUE> 			  Creation option [may be repeated]
	  -b, --band <BAND>						  Input band(s) (1-based index) [may be repeated]
	  --overwrite							  Whether overwriting existing output is allowed
	  --resolution <xres>,<yres>|same|average|common|highest|lowest>  Target resolution (in destination CRS units) (default: same)
	  --bbox <BBOX> 						  Target bounding box as xmin,ymin,xmax,ymax (in destination CRS units)
	  --target-aligned-pixels					  Round target extent to target resolution
	  --src-nodata <SRC-NODATA>					  Set nodata values for input bands. [1.. values]
	  --dst-nodata <DST-NODATA>					  Set nodata values at the destination band level. [1.. values]
	  --hide-nodata 						  Makes the destination band not report the NoData.

DESCRIPTION
     This program combine  together  input  bands  from  GDAL  datasets  into  a
     dataset,  that  can  be either a virtual stack in the VRT (Virtual Dataset)
     format, or in a more conventional raster format such as GeoTIFF.

     All bands of each input file are added as separate output bands, unless  -b
     is specified to select a subset of them.

     The  list of input GDAL datasets can be specified at the end of the command
     line or put in a text file (one filename per line)  for  very  long  lists.
     Wildcards	'*', '?' or '['] of VSIGlob() can be used, even on files located
     on network file systems such as /vsis3/, /vsigs/, /vsiaz/, etc.

     The following options are available:

     -f, --of, --format, --output-format <OUTPUT-FORMAT>
	    Which output raster format to use. Allowed values may  be  given  by
	    gdal --formats | grep raster | grep rw | sort

     --co <NAME>=<VALUE>
	    Many  formats have one or more optional creation options that can be
	    used to control particulars about the file	created.  For  instance,
	    the GeoTIFF driver supports creation options to control compression,
	    and whether the file should be tiled.

	    May be repeated.

	    The  creation options available vary by format driver, and some sim-
	    ple formats have no creation options at all. A list of options  sup-
	    ported  for  a  format can be listed with the --formats command line
	    option but the documentation for the format is the definitive source
	    of information on driver creation options.	See Raster drivers  for-
	    mat  specific documentation for legal creation options for each for-
	    mat.

     --overwrite
	    Allow program to overwrite existing target file or dataset.   Other-
	    wise,  by default, gdal errors out if the target file or dataset al-
	    ready exists.

     -b <band>
	    Select an input <band> to be processed. Bands are numbered	from  1.
	    If	input bands not set all bands will be added to the output.  Mul-
	    tiple -b switches may be used to select a set of input bands.

     --resolution {<xres,yres>|same|highest|lowest|average}
	    In case the resolution of all input  files	is  not  the  same,  the
	    --resolution  flag	enables  the  user to control the way the output
	    resolution is computed.

	    same, the default, checks that all source rasters have the same res-
	    olution and errors out when this is not the case.

	    highest will pick the smallest values of pixel dimensions within the
	    set of source rasters.

	    lowest will pick the largest values of pixel dimensions  within  the
	    set of source rasters.

	    average  will  compute an average of pixel dimensions within the set
	    of source rasters.

	    common determines the greatest common divisor of  the  source  pixel
	    dimensions, e.g. 0.2 for source pixel dimensions of 0.4 and 0.6.

	    <xres>,<yres>.  The values must be expressed in georeferenced units.
	    Both must be positive values.

     --bbox <xmin>,<ymin>,<xmax>,<ymax>
	    Set georeferenced extents of output file. The  values  must  be  ex-
	    pressed in georeferenced units.  If not specified, the extent of the
	    output  is	the  minimum  bounding box of the set of source rasters.
	    Pixels within the extent of the output but not covered by  a  source
	    raster  will  be  read as valid pixels with a value of zero unless a
	    NODATA value is specified using --dst-nodata or an alpha  mask  band
	    is added with --add-alpha.

     --target-aligned-pixels
	    (target  aligned  pixels) align the coordinates of the extent of the
	    output file to the values of the --resolution, such that the aligned
	    extent includes the minimum extent.  Alignment  means  that  xmin  /
	    resx, ymin / resy, xmax / resx and ymax / resy are integer values.

     --src-nodata <value>[,<value>]...
	    Set  nodata values for input bands (different values can be supplied
	    for each band).  If the option is not specified, the  intrinsic  no-
	    data  settings  on the source datasets will be used (if they exist).
	    The value set by this option is written in	the  NODATA  element  of
	    each ComplexSource element.

     --dst-nodata <value>[,<value>]...
	    Set  nodata values at the output band level (different values can be
	    supplied for each band).  If more than one value  is  supplied,  all
	    values  should be quoted to keep them together as a single operating
	    system argument. If the option is not  specified,  intrinsic  nodata
	    settings  on  the  first  dataset  will be used (if they exist). The
	    value set by this option is written in the	NoDataValue  element  of
	    each  VRTRasterBand element. Use a value of None to ignore intrinsic
	    nodata settings on the source datasets.

     --hide-nodata
	    Even if any band contains nodata value, giving this option makes the
	    output band not report the NoData. Useful when you want  to  control
	    the  background  color  of	the  dataset.  By  using  along with the
	    --add-alpha option, you can prepare a dataset which  doesn't  report
	    nodata value but is transparent in areas with no data.

GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET)
     This program supports serializing the command line as a JSON file using the
     GDALG  output  format.   The  resulting file can then be opened as a raster
     dataset using the GDALG: GDAL Streamed  Algorithm	driver,  and  apply  the
     specified pipeline in a on-the-fly / streamed way.

EXAMPLES
   Example 1: Make a RGB stack from 3 single-band input files
	gdal raster stack red.tif green.tif blue.tif rgb.tif

   Example 2: Make a virtual (VRT) stack from 2 single-band input files
	gdal raster stack raster1.tif raster2.tif result.vrt

AUTHOR
     Even Rouault <even.rouault@spatialys.com>

COPYRIGHT
     1998-2025

				  Oct 29, 2025		    GDAL-RASTER-STACK(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gdal-raster-stack&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help