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

FreeBSD Manual Pages

  
 
  

home | help
GDAL_TRANSLATE(1)		     GDAL		     GDAL_TRANSLATE(1)

NAME
       gdal_translate -	Converts raster	data between different formats.

SYNOPSIS
	  gdal_translate [--help] [--help-general] [--long-usage]
	     [-ot {Byte/Int8/Int16/UInt16/UInt32/Int32/UInt64/Int64/Float32/Float64/
		   CInt16/CInt32/CFloat32/CFloat64}] [-strict]
	     [-if <format>]... [-of <format>]
	     [-b <band>] [-mask	<band>]	[-expand {gray|rgb|rgba}]
	     [-outsize <xsize>[%]|0 <ysize>[%]|0] [-tr <xres> <yres>]
	     [-ovr <level>|AUTO|AUTO-<n>|NONE]
	     [-r {nearest,bilinear,cubic,cubicspline,lanczos,average,mode}]
	     [-unscale]	[-scale[_bn] [<src_min>	<src_max> [<dst_min> <dst_max>]]]... [-exponent[_bn] <exp_val>]...
	     [-srcwin <xoff> <yoff> <xsize> <ysize>] [-epo] [-eco]
	     [-projwin <ulx> <uly> <lrx> <lry>]	[-projwin_srs <srs_def>]
	     [-a_srs <srs_def>]	[-a_coord_epoch	<epoch>]
	     [-a_ullr <ulx> <uly> <lrx>	<lry>] [-a_nodata <value>]
	     [-a_gt <gt0> <gt1>	<gt2> <gt3> <gt4> <gt5>]
	     [-a_scale <value>]	[-a_offset <value>]
	     [-nogcp] [-gcp <pixel> <line> <easting> <northing>	[<elevation>]]...
	     |-colorinterp{_bn}	{red|green|blue|alpha|gray|undefined|pan|coastal|rededge|nir|swir|mwir|lwir|...}]
	     |-colorinterp {red|green|blue|alpha|gray|undefined|pan|coastal|rededge|nir|swir|mwir|lwir|...},...]
	     [-mo <META-TAG>=<VALUE>]... [-dmo "DOMAIN:META-TAG=VALUE"]... [-q]	[-sds]
	     [-co <NAME>=<VALUE>]... [-stats] [-norat] [-noxmp]
	     [-oo <NAME>=<VALUE>]...
	     <src_dataset> <dst_dataset>

DESCRIPTION
       The  gdal_translate  utility can	be used	to convert raster data between
       different formats, potentially performing some operations like  subset-
       tings, resampling, and rescaling	pixels in the process.

       --help Show this	help message and exit

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

       -ot <type>
	      Force  the  output image bands to	have a specific	data type sup-
	      ported 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.

       -strict
	      Don't be forgiving of mismatches and lost	data when  translating
	      to the output format.

       -if <format>
	      Format/driver name to be attempted to open the input file(s). It
	      is  generally not	necessary to specify it, but it	can be used to
	      skip automatic driver detection, when it fails to	select the ap-
	      propriate	driver.	 This option can be repeated several times  to
	      specify  several candidate drivers.  Note	that it	does not force
	      those drivers to open the	dataset. In particular,	 some  drivers
	      have requirements	on file	extensions.

	      New in version 3.2.

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

       -b <band>
	      Select an	input band band	for output. Bands are numbered from 1.
	      Multiple	-b switches may	be used	to select a set	of input bands
	      to write to the output file, or to reorder bands.	band can  also
	      be set to	"mask,1" (or just "mask") to mean the mask band	of the
	      first band of the	input dataset.

       -mask <band>
	      Select  an  input	 band band to create output dataset mask band.
	      Bands are	numbered from 1. band can be set to  "none"  to	 avoid
	      copying  the global mask of the input dataset if it exists. Oth-
	      erwise it	is copied by default ("auto"), unless the mask	is  an
	      alpha  channel, or if it is explicitly used to be	a regular band
	      of the output dataset ("-b mask").  band	can  also  be  set  to
	      "mask,1"	(or just "mask") to mean the mask band of the 1st band
	      of the input dataset.

       -expand gray|rgb|rgba
	      To expose	a dataset with 1 band with a color table as a  dataset
	      with  3  (RGB) or	4 (RGBA) bands.	Useful for output drivers such
	      as JPEG, JPEG2000, MrSID,	ECW that don't support	color  indexed
	      datasets.	 The  'gray'  value enables to expand a	dataset	with a
	      color table that only contains gray levels  to  a	 gray  indexed
	      dataset.

       -outsize	<xsize>[%]|0 <ysize>[%]|0
	      Set the size of the output file.	Outsize	is in pixels and lines
	      unless  '%' is attached in which case it is as a fraction	of the
	      input image size.	 If one	of the 2 values	is set to 0, its value
	      will be determined from the other	one, while maintaining the as-
	      pect ratio of the	source dataset.

       -tr <xres> <yres>
	      set target resolution. The values	must be	expressed in georefer-
	      enced units.  Both must be positive values. This is mutually ex-
	      clusive with -outsize, -a_ullr, and -a_gt.

       -ovr {<level>|AUTO|AUTO-<n>|NONE}
	      New in version 3.6.

	      To specify which overview	level of source	file must be used. The
	      default choice, AUTO, will select	the overview level whose reso-
	      lution is	the closest to the target resolution. Specify an inte-
	      ger value	(0-based, i.e. 0=1st overview level) to	select a  par-
	      ticular  level.  Specify AUTO-n where n is an integer greater or
	      equal to 1, to select an overview	level below the	AUTO  one.  Or
	      specify  NONE  to	 force	the base resolution to be used (can be
	      useful if	overviews have been generated with a low  quality  re-
	      sampling method, and a higher quality resampling method is spec-
	      ified with -r.

	      When -ovr	is specified to	an integer value, and none of -outsize
	      and  -tr	is specified, the size of the overview will be used as
	      the output size.

	      When -ovr	is  specified,	values	of  -srcwin,  when  specified,
	      should be	expressed as pixel offset and size of the full resolu-
	      tion  source  dataset.   Similarly when using -outsize with per-
	      centage values, they refer to the	size of	 the  full  resolution
	      source dataset.

       -r {nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode}
	      Select a resampling algorithm.

	      nearest  (default) applies a nearest neighbour (simple sampling)
	      resampler

	      average computes the average of all non-NODATA contributing pix-
	      els. Starting with GDAL 3.1, this	is a weighted  average	taking
	      into account properly the	weight of source pixels	not contribut-
	      ing fully	to the target pixel.

	      rms  computes  the  root	mean  squared  / quadratic mean	of all
	      non-NODATA contributing pixels (GDAL >= 3.3)

	      bilinear applies a bilinear convolution kernel.

	      cubic applies a cubic convolution	kernel.

	      cubicspline applies a B-Spline convolution kernel.

	      lanczos applies a	Lanczos	windowed sinc convolution kernel.

	      mode selects the value which appears most	often of all the  sam-
	      pled points.

       -scale [<src_min> <src_max> [<dst_min> <dst_max>]]
	      Rescale  the  input  pixels  values  from	 the  range src_min to
	      src_max to the range dst_min to dst_max.	If omitted the	output
	      range  is	0 to 255.  If omitted the input	range is automatically
	      computed from the	source dataset,	in its	whole  (not  just  the
	      window   of  interest  potentially  specified  with  -srcwin  or
	      -projwin). This may be  a	 slow  operation  on  a	 large	source
	      dataset,	and if using it	multiple times for several gdal_trans-
	      late invocation, it might	be beneficial to call gdalinfo	-stats
	      {source_dataset}	priorly	 to precompute statistics, for formats
	      that  support  serializing  statistics  computations   (GeoTIFF,
	      VRT...)	Note  that  the	values specified after -scale are only
	      used to compute a	scale and offset to apply to the input	raster
	      values.  In particular, src_min and src_max are not used to clip
	      input values unless -exponent is also specified.	Instead	of be-
	      ing clipped, source values that are outside the range of src_min
	      and src_max will be  scaled  to  values  outside	the  range  of
	      dst_min and dst_max.  If clipping	without	exponential scaling is
	      desired,	-exponent  1 can be used.  -scale can be repeated sev-
	      eral times (if specified only once, it also applies to all bands
	      of the output dataset), so as to specify per band	parameters. It
	      is also possible to use the -scale_bn syntax where bn is a  band
	      number (e.g. -scale_2 for	the 2nd	band of	the output dataset) to
	      specify the parameters of	one or several specific	bands.

       -exponent <exp_val>
	      Apply  non-linear	 scaling with a	power function.	exp_val	is the
	      exponent of the power function (must be positive).  This	option
	      must  be	used  with  the	-scale option. If specified only once,
	      -exponent	applies	to all bands of	the output image.  It  can  be
	      repeated	several	times so as to specify per band	parameters. It
	      is also possible to use the -exponent_bn syntax where  bn	 is  a
	      band  number  (e.g.  -exponent_2	for the	2nd band of the	output
	      dataset) to specify the parameters of one	 or  several  specific
	      bands.

	      The  scaled  value  Dst  is calculated from the source value Src
	      with the following formula:

	      {Dst} = \left( {Dst}_{max} - {Dst}_{min} \right) \times  \opera-
	      torname{max}  \left(  0,	\operatorname{min}  \left(  1,	\left(
	      \frac{{Src}	-	 {Src}_{min}}{{Src}_{max}-{Src}_{min}}
		      \right)^{exp\_val} \right) \right) + {Dst}_{min}

       -unscale
	      Apply  the scale/offset metadata for the bands to	convert	scaled
	      values to	unscaled values.  It is	also often necessary to	 reset
	      the  output datatype with	the -ot	switch.	 The unscaled value is
	      computed from the	scaled raw value with the following formula:

		  {unscaled\_value} = {scaled\_value} *	{scale}	+ {offset}

       -srcwin <xoff> <yoff> <xsize> <ysize>
	      Selects a	subwindow from the source image	for copying  based  on
	      pixel/line location.

       -projwin	<ulx> <uly> <lrx> <lry>
	      Selects  a  subwindow  from  the	source image for copying (like
	      -srcwin) but with	the corners given in georeferenced coordinates
	      (by default expressed in the SRS of the dataset. Can be  changed
	      with -projwin_srs).

	      NOTE:
		 In  GDAL 2.1.0	and 2.1.1, using -projwin with coordinates not
		 aligned with pixels will result in a  sub-pixel  shift.  This
		 has   been   corrected	 in  later  versions.  When  selecting
		 non-nearest neighbour resampling, starting with  GDAL	2.1.0,
		 sub-pixel accuracy is however used to get better results.

       -projwin_srs <srs_def>
	      Specifies	 the  SRS  in which to interpret the coordinates given
	      with -projwin. The <srs_def> may be any of  the  usual  GDAL/OGR
	      forms,  complete	WKT,  PROJ.4,  EPSG:n or a file	containing the
	      WKT.

	      WARNING:
		 This does not cause reprojection of the dataset to the	speci-
		 fied SRS.

       -epo   (Error when Partially Outside) If	this option is set, -srcwin or
	      -projwin values that falls partially outside the	source	raster
	      extent  will  be considered as an	error. The default behavior is
	      to accept	such requests, when they were considered as  an	 error
	      before.

       -eco   (Error  when  Completely	Outside) Same as -epo, except that the
	      criterion	for erroring out is when the request falls  completely
	      outside the source raster	extent.

       -a_srs <srs_def>
	      Override	the  projection	 for the output	file. Can be used with
	      -a_ullr or -a_gt to specify the extent in	this projection.

	      The coordinate reference systems that can	be passed are anything
	      supported	by the	OGRSpatialReference::SetFromUserInput()	 call,
	      which  includes EPSG Projected, Geographic or Compound CRS (i.e.
	      EPSG:4296), a well known text (WKT) CRS definition, PROJ.4  dec-
	      larations, or the	name of	a .prj file containing a WKT CRS defi-
	      nition.

	      NOTE:
		 No reprojection is done.

       -a_coord_epoch <epoch>
	      New in version 3.4.

	      Assign  a	 coordinate  epoch, linked with	the output SRS.	Useful
	      when the output SRS is a dynamic CRS.

       -a_scale	<value>
	      Set band scaling value. No modification of pixel values is done.
	      Note that	the -unscale does not take into	account	-a_scale.  You
	      may for example specify -scale 0 1  <offset>  <offset+scale>  to
	      apply  a	(offset,  scale)  tuple,  for  the equivalent of the 2
	      steps: gdal_translate input.tif tmp.vrt -a_scale scale -a_offset
	      offset followed by gdal_translate	tmp.vrt	output.tif -unscale

	      New in version 2.3.

       -a_offset <value>
	      Set band offset value. No	modification of	pixel values is	 done.
	      Note  that  the  -unscale	 does not take into account -a_offset.
	      You may for example specify -scale 0 1  <offset>	<offset+scale>
	      to  apply	 a  (offset, scale) tuple, for the equivalent of the 2
	      steps: gdal_translate input.tif tmp.vrt -a_scale scale -a_offset
	      offset followed by gdal_translate	tmp.vrt	output.tif -unscale

	      New in version 2.3.

       -a_ullr <ulx> <uly> <lrx> <lry>
	      Assign/override the georeferenced	bounds	of  the	 output	 file.
	      This  assigns  georeferenced bounds to the output	file, ignoring
	      what would have been derived from	the source file. So this  does
	      not  cause  reprojection to the specified	SRS.  This is mutually
	      exclusive	with -a_gt

       -a_gt <gt(0)> <gt(1)> <gt(2)> <gt(3)> <gt(4)> <gt(5)>
	      Assign/override the geotransform of the output file.   This  as-
	      signs  the  geotransform to the output file, ignoring what would
	      have been	derived	from the source	file. So this does  not	 cause
	      reprojection  to	the  specified SRS. See	Geotransform Tutorial.
	      This is mutually exclusive with -a_ullr

	      New in version 3.8.

       -a_nodata <value>
	      Assign a specified nodata	value to output	bands. It can  be  set
	      to  none	to  avoid setting a nodata value to the	output file if
	      one exists for the source	file. Note that, if the	input  dataset
	      has  a  nodata  value, this does not cause pixel values that are
	      equal to that nodata value to be changed to the value  specified
	      with this	option.

       -colorinterp_X <red|green|blue|alpha|gray|undefined|pan|coastal|red-
       edge|nir|swir|mwir|lwir|...>
	      Override	the color interpretation of band X (where X is a valid
	      band number, starting at 1)

	      New in version 2.3.

       -colorinterp {red|green|blue|alpha|gray|undefined|pan|coastal|red-
       edge|nir|swir|mwir|lwir|...},...
	      Override the color interpretation	of all	specified  bands.  For
	      example  -colorinterp  red,green,blue,alpha  for a 4 band	output
	      dataset.

	      New in version 2.3.

       -mo <META-TAG>=<VALUE>
	      Passes a metadata	key and	value to set on	the output dataset  if
	      possible.

       -dmo DOMAIN:META-TAG=VALUE
	      Passes  a	 metadata  key and value in specified domain to	set on
	      the output dataset if possible.

	      New in version 3.9.

       -co <NAME>=<VALUE>
	      Many formats have	one or more optional creation options that can
	      be used to control particulars about the file created.  For  in-
	      stance,  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
	      simple  formats  have  no	creation options at all. A list	of op-
	      tions supported 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 format specific documentation	for legal cre-
	      ation options for	each format.

	      In addition to the driver-specific creation options, gdal_trans-
	      late (and	GDALTranslate()	and  GDALCreateCopy())	recognize  the
	      following	options:

	      	APPEND_SUBDATASET=[YES/NO]:  Defaults to NO.

		Can be specified to YES	to avoid prior destruction of existing
		dataset,  for  drivers that support adding several subdatasets
		(e.g. GTIFF, NITF)

	      	COPY_SRC_MDD=[AUTO/YES/NO]:  (GDAL >= 3.8)  Defaults to	AUTO.

		Defines	if metadata domains of the source  dataset  should  be
		copied	to the destination dataset.  In	the default AUTO mode,
		only "safe" domains will be copied, which include the  default
		metadata  domain  (some	drivers	may include other domains such
		as IMD,	RPC, GEOLOCATION).  When setting YES, all domains will
		be copied (but a few reserved ones like	IMAGE_STRUCTURE	or DE-
		RIVED_SUBDATASETS).  Currently only recognized by  the	GTiff,
		COG, VRT, PNG and JPEG drivers.

		When setting NO, no source metadata will be copied.

	      	SRC_MDD=<domain_name>:	(GDAL >= 3.8)

		Defines	 which	source metadata	domain should be copied.  This
		option restricts the list of source  metadata  domains	to  be
		copied	(it  implies  COPY_SRC_MDD=YES if it is	not set). This
		option may be specified	as many	times as they are  source  do-
		mains.	The  default  metadata	domain	is the empty string ""
		("_DEFAULT_") may also be used when empty string is not	 prac-
		tical).	 Currently only	recognized by the GTiff, COG, VRT, PNG
		and JPEG drivers.

       -nogcp Do  not  copy  the  GCPs	in  the	 source	 dataset to the	output
	      dataset.

       -gcp <pixel> <line> <easting> <northing>	[<elevation>]
	      Add the indicated	ground control point to	 the  output  dataset.
	      This  option  may	be provided multiple times to provide a	set of
	      GCPs.

       -q     Suppress progress	monitor	and other non-error output.

       -sds   Copy all subdatasets of this file	to  individual	output	files.
	      Use with formats like HDF	that have subdatasets.

       -stats Force (re)computation of statistics.

       -norat Do not copy source RAT into destination dataset.

       -noxmp Do not copy the XMP metadata in the source dataset to the	output
	      dataset when driver is able to copy it.

	      New in version 3.2.

       -oo <NAME>=<VALUE>
	      Dataset open option (format specific)

       <src_dataset>
	      The source dataset name. It can be either	file name, URL of data
	      source or	subdataset name	for multi-dataset files.

       <dst_dataset>
	      The destination file name.

NODATA / SOURCE	VALIDITY MASK HANDLING DURING RESAMPLING
       Masked values, either identified	through	a nodata value metadata	set on
       the source band,	a mask band, an	alpha band will	not be used during re-
       sampling	(when using -outsize or	-tr).

       The  details  of	how it is taken	into account depends on	the resampling
       kernel:

        for nearest resampling, for each target pixel,	one of	the  potential
	 contributing source pixels is selected	(in an implementation specific
	 way). Its value is used as it,	be it valid or invalid.

        for  bilinear,	cubic, cubicspline and lanczos,	for each target	pixel,
	 the weights of	contributing source pixels is set to  zero  to	ignore
	 them  when they are masked.  There is an extra	specificity for	cubic:
	 given that some of the	weights	 in  the  kernel  are  negative,  such
	 strategy  could  lead to strong overshoot/undershoot when there is an
	 alternance of valid and invalid pixels. Consequently, if any  of  the
	 horizontal  or	 vertical  direction,  if  the maximum number of valid
	 source	pixels in each dimension is less than the radius of the	resam-
	 pling kernel, the target pixel	is considered as nodata.

        for the other resampling methods, source pixels contributing  to  the
	 target	 pixel	are  ignored  if masked. Only the valid	ones are taken
	 into account. If there	are none, the target pixel  is	considered  as
	 nodata.

C API
       This utility is also callable from C with GDALTranslate().

       New in version 2.1.

EXAMPLES
	  gdal_translate -of GTiff -co "TILED=YES" utm.tif utm_tiled.tif

       To create a JPEG-compressed TIFF	with internal mask from	a RGBA dataset

	  gdal_translate rgba.tif withmask.tif -b 1 -b 2 -b 3 -mask 4 -co COMPRESS=JPEG	\
	    -co	PHOTOMETRIC=YCBCR --config GDAL_TIFF_INTERNAL_MASK YES

       To create a RGBA	dataset	from a RGB dataset with	a mask

	  gdal_translate withmask.tif rgba.tif -b 1 -b 2 -b 3 -b mask

       Subsetting using	-projwin and -outsize:

	  gdal_translate -projwin -20037500 10037500 0 0 -outsize 100 100 frmt_wms_googlemaps_tms.xml junk.png

AUTHOR
       Frank  Warmerdam	 <warmerdam@pobox.com>,	 Silke	Reimer	<silke@inteva-
       tion.de>

COPYRIGHT
       1998-2025

				 Feb 11, 2025		     GDAL_TRANSLATE(1)

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

home | help