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

FreeBSD Manual Pages

  
 
  

home | help
GDAL_MERGE(1)			      GDAL			   GDAL_MERGE(1)

NAME
     gdal_merge - Mosaics a set of images.

SYNOPSIS
	gdal_merge [--help] [--help-general]
		      [-o <out_filename>] [-of <out_format>] [-co <NAME>=<VALUE>]...
		      [-ps <pixelsize_x> <pixelsize_y>] [-tap] [-separate] [-q] [-v] [-pct]
		      [-ul_lr <ulx> <uly> <lrx> <lry>] [-init "<value>[ <value>]..."]
		      [-n <nodata_value>] [-a_nodata <output_nodata_value>]
		      [-ot <datatype>] [-createonly] <input_file> [<input_file>]...

DESCRIPTION
     This utility will automatically mosaic a set of images. All the images must
     be  in  the same coordinate system and have a matching number of bands, but
     they may be overlapping, and at different resolutions. In areas of overlap,
     the last image will be copied over earlier ones. Nodata/transparency values
     are considered on a band by band level, i.e. a nodata/transparent pixel  on
     one  source  band	will not set a nodata/transparent value on all bands for
     the target pixel in the resulting raster nor  will  it  overwrite	a  valid
     pixel value.

     NOTE:
	gdal_merge  is	a  Python  utility, and is only available if GDAL Python
	bindings are available.

     --help
	    Show this help message and exit

     --help-general
	    Gives a brief usage message for the generic GDAL commandline options
	    and exit.

     -o <out_filename>
	    The name of the output file, which will be created if  it  does  not
	    already exist (defaults to "out.tif").

     -of <format>
	    Select  the output format. Starting with GDAL 2.3, if not specified,
	    the format is guessed from the extension (previously was GTiff). Use
	    the short format name.

     -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.

	    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 --format command line op-
	    tion 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.

     -ot <type>
	    Force  the output image bands to have a specific data type supported
	    by the driver, which may  be  one  of  the	following:  Byte,  Int8,
	    UInt16,  Int16,  UInt32,  Int32,  UInt64,  Int64,  Float32, Float64,
	    CInt16, CInt32, CFloat32 or CFloat64.

     -ps <pixelsize_x> <pixelsize_y>
	    Pixel size to be used for the output file.	 If  not  specified  the
	    resolution of the first input file will be used.

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

     -ul_lr <ulx> <uly> <lrx> <lry>
	    The  extents of the output file.  If not specified the aggregate ex-
	    tents of all input files will be used.

     -q, -quiet
	    Suppress progress messages.

     -v     Generate verbose output of mosaicing operations as they are done.

     -separate
	    Place each input file into a separate band.

     -pct   Grab a pseudo-color table from the first input image, and use it for
	    the output.  Merging pseudo-colored images this way assumes that all
	    input files use the same color table.

     -n <nodata_value>
	    Ignore pixels from files being merged in with this pixel value.

     -a_nodata <output_nodata_value>
	    Assign a specified nodata value to output bands.

     -init <"value(s)">
	    Pre-initialize the output image bands with these  values.	However,
	    it	is  not  marked as the nodata value in the output file.  If only
	    one value is given, the same value is used in all the bands.

     -createonly
	    The output file is created (and potentially pre-initialized) but  no
	    input image data is copied into it.

EXAMPLES
   Example 1: Creating an image with the pixels in all bands initialized to 255
	gdal_merge -init 255 -o out.tif in1.tif in2.tif

   Example 2: Creating an RGB image that shows blue in pixels with no data
	gdal_merge -init "0 0 255" -o out.tif in1.tif in2.tif

     The  first  two  bands  will be initialized to 0 and the third band will be
     initialized to 255.

   Example 3: Passing a large list of files to gdal_merge
	ls -1 *.tif > tiff_list.txt

     A large list of files can be passed to gdal_merge by listing them in a text
     file using the command above on Linux, or:

	dir /b /s *.tif > tiff_list.txt

     on Windows. The text file can then be passed to gdal_merge using --optfile:

	gdal_merge -o mosaic.tif --optfile tiff_list.txt

   Example 4: Creating an RGB image by merging 3 different greyscale bands
     Conduct  "merging	by  stacking"  with  the  -separate  flag.  Given  three
     greyscale files that cover the same area, you can run:

	gdal_merge -separate 1.tif 2.tif 3.tif -o rgb.tif

     This maps 1.tif to red, 2.tif to green and 3.tif to blue.

   Example 5: Specifying overlap precedence
     The  last	image  in  the input line comes out on top of the finished image
     stack.  You might also need to use -n to note which  value  should  not  be
     copied into the destination image if it is not already defined as nodata.

	gdal_merge -o merge.tif -n 0 image1.tif image2.tif image3.tif image4.tif

AUTHOR
     Frank Warmerdam <warmerdam@pobox.com>, Silke Reimer <silke@intevation.de>

COPYRIGHT
     1998-2025

				  Oct 29, 2025			   GDAL_MERGE(1)

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

home | help