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

FreeBSD Manual Pages

  
 
  

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

NAME
       gdal-raster-reproject - Reproject a raster dataset

       Added in	version	3.11.

SYNOPSIS
	  Usage: gdal raster reproject [OPTIONS] <INPUT> <OUTPUT>

	  Reproject a raster dataset.

	  Positional arguments:
	    -i,	--input	<INPUT>					 Input raster dataset [required]
	    -o,	--output <OUTPUT>				 Output	raster dataset [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]
	    --overwrite						 Whether overwriting existing output is	allowed
	    -s,	--src-crs <SRC-CRS>				 Source	CRS
	    -d,	--dst-crs <DST-CRS>				 Destination CRS
	    -r,	--resampling <RESAMPLING>			 Resampling method. RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode|min|max|med|q1|q3|sum (default: nearest)
	    --resolution <xres>,<yres>				 Target	resolution (in destination CRS units)
								 Mutually exclusive with --size
	    --size <width>,<height>				 Target	size in	pixels
								 Mutually exclusive with --resolution
	    --bbox <BBOX>					 Target	bounding box (in destination CRS units)
	    --bbox-crs <BBOX-CRS>				 CRS of	target bounding	box

	  Advanced Options:
	    --if, --input-format <INPUT-FORMAT>			 Input formats [may be repeated]
	    --oo, --open-option	<KEY>=<VALUE>			 Open options [may be repeated]
	    --target-aligned-pixels				 Round target extent to	target resolution
	    --src-nodata <SRC-NODATA>				 Set nodata values for input bands ('None' to unset). [1.. values]
	    --dst-nodata <DST-NODATA>				 Set nodata values for output bands ('None' to unset). [1.. values]
	    --add-alpha						 Adds an alpha mask band to the	destination when the source raster have	none.
	    --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

DESCRIPTION
       gdal  raster  reproject can be used to reproject	a raster dataset.  The
       program can reproject to	any supported projection.

       First, gdal raster reproject must determine the extent  and  resolution
       of  the	output,	 if  these  have  not  been specified using --bbox and
       --resolution.  These are	determined by transforming a sample of	points
       from  the  source  CRS to the destination CRS. Details of the procedure
       can be found in the  documentation  for	GDALSuggestedWarpOutput().  If
       multiple	 inputs	 are provided to gdal raster reproject,	the output ex-
       tent will be calculated to cover	all of them, at	a  resolution  consis-
       tent with the highest-resolution	input.

       Once  the  dimensions  of  the  output image have been determined, gdal
       raster reproject	divides	the output  image  into	 chunks	 that  can  be
       processed  independently.   gdal	 raster	 reproject  then iterates over
       scanlines in these chunks, and for each output pixel determines a  rec-
       tangular	 region	 of  source pixels that	contribute to the value	of the
       output pixel. The dimensions of this rectangular	region	are  typically
       determined by estimating	the relative scales of the source and destina-
       tion  raster,  but  can be manually specified (see documentation	of the
       XSCALE parameter	in  GDALWarpOptions::papszWarpOptions).	  Because  the
       source  region  is a simple rectangle, it is not	possible for an	output
       pixel to	be associated with source pixels from both sides  of  the  an-
       timeridian or pole (when	transforming from geographic coordinates).

       The  rectangular	region of source pixels	is then	provided to a function
       that performs the resampling algorithm selected with --resampling.  De-
       pending	on  the	resampling algorithm and relative scales of the	source
       and destination rasters,	source pixels may be weighted either according
       to the approximate fraction of the source pixel that is covered by  the
       destination pixel (e.g.,	"mean" and "sum" resampling), or by horizontal
       and vertical Cartesian distances	between	the center of the source pixel
       and  the	center of the target pixel (e.g., bilinear or cubic spline re-
       sampling). In the latter	case, the relative  weight  of	an  individual
       source pixel is determined by the product of the	weights	determined for
       its row and column; the diagonal	Cartesian distance is not calculated.

       This  subcommand	 is  also available as a potential step	of gdal	raster
       pipeline

   Standard options
       -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 in-
	      stance, 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
	      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.

       --overwrite
	      Allow  program  to  overwrite  existing  target file or dataset.
	      Otherwise, by default, gdal errors out if	 the  target  file  or
	      dataset already exists.

       -s, --src-crs <SRC-CRS>
	      Set  source spatial reference. If	not specified the SRS found in
	      the input	dataset	will be	used.

	      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.

	      Starting	with GDAL 2.2, if the SRS has an explicit vertical da-
	      tum that points to a PROJ.4 geoidgrids, and the input dataset is
	      a	single band dataset, a vertical	correction will	be applied  to
	      the values of the	dataset.

       -d, --dst-crs <SRC-CRS>
	      Set  source spatial reference. If	not specified the SRS found in
	      the input	dataset	will be	used.

	      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.

	      Starting	with GDAL 2.2, if the SRS has an explicit vertical da-
	      tum that points to a PROJ.4 geoidgrids, and the input dataset is
	      a	single band dataset, a vertical	correction will	be applied  to
	      the values of the	dataset.

       -r, --resampling	<RESAMPLING>
	      Resampling method	to use.	Available methods are:

	      near:  nearest neighbour resampling (default, fastest algorithm,
	      worst interpolation quality).

	      bilinear:	bilinear resampling.

	      cubic: cubic resampling.

	      cubicspline: cubic spline	resampling.

	      lanczos: Lanczos windowed	sinc resampling.

	      average: average resampling, computes the	 weighted  average  of
	      all non-NODATA contributing pixels.

	      rms  root	 mean  square  / quadratic mean	of all non-NODATA con-
	      tributing	pixels

	      mode: mode resampling, selects the value which appears most  of-
	      ten  of  all  the	sampled	points.	In the case of ties, the first
	      value identified as the mode will	be selected.

	      max: maximum resampling, selects	the  maximum  value  from  all
	      non-NODATA contributing pixels.

	      min:  minimum  resampling,  selects  the	minimum	value from all
	      non-NODATA contributing pixels.

	      med: median resampling, selects the median value of all  non-NO-
	      DATA contributing	pixels.

	      q1:  first quartile resampling, selects the first	quartile value
	      of all non-NODATA	contributing pixels.

	      q3: third	quartile resampling, selects the third quartile	 value
	      of all non-NODATA	contributing pixels.

	      sum:  compute  the  weighted  sum	of all non-NODATA contributing
	      pixels

	      NOTE:
		 When  downsampling  is	 performed  (use  of  --resolution  or
		 --size),  existing overviews (either internal/implicit	or ex-
		 ternal	ones) on the source image will be used by  default  by
		 selecting  the	closest	overview to the	desired	output resolu-
		 tion.	The resampling method used to create  those  overviews
		 is generally not the one you specify through the -r option.

       --resolution <xres>,<yres>
	      Set output file resolution (in target georeferenced units).

	      If  not  specified  (or  not deduced from	-te and	-ts), gdalwarp
	      will, in the  general  case,  generate  an  output  raster  with
	      xres=yres.

	      If neither --resolution nor --size are specified,	that no	repro-
	      jection  is  involved (including taking into account geolocation
	      arrays or	RPC), the resolution of	the  source  file(s)  will  be
	      preserved	 (in previous version, an output raster	with xres=yres
	      was always generated).

       --size <width>,<height>
	      Set output file size in pixels and lines.	If width or height  is
	      set  to 0, the other dimension will be guessed from the computed
	      resolution. Note that --size cannot be used with --resolution

       --bbox <xmin>,<ymin>,<xmax>,<ymax>
	      Set georeferenced	extents	of output file to be created (in  tar-
	      get SRS by default, or in	the SRS	specified with --bbox-crs)

       --bbox-crs <BBOX-CRS>
	      Specifies	 the  SRS  in which to interpret the coordinates given
	      with --bbox.

	      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.

	      Starting	with GDAL 2.2, if the SRS has an explicit vertical da-
	      tum that points to a PROJ.4 geoidgrids, and the input dataset is
	      a	single band dataset, a vertical	correction will	be applied  to
	      the values of the	dataset.

	      This must	not be confused	with --dst-crs which is	the target SRS
	      of  the  output  dataset.	 --bbox-crs is a convenience e.g. when
	      knowing the output coordinates in	a geodetic long/lat  SRS,  but
	      still wanting a result in	a projected coordinate system.

       --target-aligned-pixels
	      Align  the  coordinates  of the extent of	the output file	to the
	      values of	the --resolution, such that  the  aligned  extent  in-
	      cludes the minimum extent	(edges lines/columns that are detected
	      as  blank,  before  actual warping, will be removed).  Alignment
	      means that xmin /	resx, ymin / resy, xmax	/ resx and ymax	/ resy
	      are integer values.

   Advanced options
       --src-nodata <SRCNODATA>
	      Set nodata masking values	for input bands	(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.   Masked values will	not be used in
	      interpolation (details given in Nodata /	source	validity  mask
	      handling)

	      Use  a  value of None to ignore intrinsic	nodata settings	on the
	      source dataset.

	      When this	option is set to a non-None value, it causes the  UNI-
	      FIED_SRC_NODATA		warping		  option	  (see
	      GDALWarpOptions::papszWarpOptions) to be set to YES,  if	it  is
	      not explicitly set.

	      If  --src-nodata	is  not	explicitly set,	but the	source dataset
	      has nodata values, they will be taken into  account,  with  UNI-
	      FIED_SRC_NODATA at PARTIAL by default.

       --dst-nodata <DSTNODATA>
	      Set nodata values	for output bands (different values can be sup-
	      plied  for  each	band).	If more	than one value is supplied all
	      values should be quoted to keep them together as a single	 oper-
	      ating  system  argument.	 New files will	be initialized to this
	      value and	if possible the	nodata value will be recorded  in  the
	      output  file.  Use  a value of None to ensure that nodata	is not
	      defined.	If this	argument is not	used then nodata  values  will
	      be copied	from the source	dataset.  Note that a number of	output
	      formats,	including  GeoTIFF,  do	not support different per-band
	      nodata values, but a single one for all bands.

       --addalpha
	      Create an	output alpha band to identify nodata  (unset/transpar-
	      ent)  pixels.  Value 0 is	used for fully transparent pixels. The
	      maximum value for	the alpha band,	for fully opaque  pixels,  de-
	      pends  on	the data type and the presence of the NBITS band meta-
	      data item. If it is present, the	maximum	 value	is  2^NBITS-1.
	      Otherwise,  if  NBITS  is	 not set and the alpha band is of type
	      UInt16 (resp. Int16), 65535 (resp. 32767)	 is  used.  Otherwise,
	      255  is used. The	maximum	value can also be overridden with --wo
	      DST_ALPHA_MAX=<value>.

       --wo, --warp-option <NAME>=<VALUE>
	      Set a warp option.  The  GDALWarpOptions::papszWarpOptions  docs
	      show all options.	 Multiple options may be listed.

       --to <NAME>=<VALUE>
	      Set    a	  transformer	 option	   suitable    to    pass   to
	      GDALCreateGenImgProjTransformer2().			   See
	      GDALCreateRPCTransformerV2() for RPC specific options.

       --et, --error-threshold <ERROR-THRESHOLD>
	      Error threshold for transformation approximation,	expressed as a
	      number  of  source  pixels.  Defaults to 0.125 pixels unless the
	      RPC_DEM transformer option is specified, in which	case an	 exact
	      transformer, i.e.	 --error-threshold=0, will be used.

NODATA / SOURCE	VALIDITY MASK HANDLING
       Invalid	values	in  source  pixels, either identified through a	nodata
       value metadata set on the source	band, a	mask band, an alpha band  (for
       an  alpha  band,	 a value of 0 means invalid. Other values are used for
       blending	values)	or the use of --src-nodata will	not be used in	inter-
       polation.   The	details	of how it is taken into	account	depends	on the
       resampling kernel:

        for nearest resampling, for each target pixel,	the coordinate of  its
	 center	 is  projected back to source coordinates and the source pixel
	 containing that coordinate is identified. If this source pixel	is in-
	 valid,	the target pixel is considered as nodata.

        for bilinear, cubic, cubicspline and lanczos, for each	target	pixel,
	 the  coordinate of its	center is projected back to source coordinates
	 and a corresponding source pixel is identified. If this source	 pixel
	 is  invalid,  the target pixel	is considered as nodata	(in this case,
	 valid pixels within the  kernel  radius  would	 not  be  considered).
	 Given	that  those  resampling	kernels	have a non-null	kernel radius,
	 this source pixel is just one among other several source pixels,  and
	 it  might  be	possible  that there are invalid values	in those other
	 contributing source pixels.  The weights used to  take	 into  account
	 those invalid values will be set to zero to ignore them.

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

APPROXIMATE TRANSFORMATION
       By default gdal raster reproject	uses a	linear	approximator  for  the
       transformations	with  a	 permitted error of 0.125 pixels in the	source
       dataset.	 The approximator precisely transforms three points per	output
       scanline	(the start, middle, and	end) from a row	and column in the out-
       put dataset to a	row and	column in the source dataset.	It  then  com-
       pares  a	 linear	 approximation	of the center point coordinates	to the
       precisely transformed value.  If	the sum	of the horizontal and vertical
       errors is less than the	error  threshold  then	the  remaining	source
       points  are  approximated  using	linear interpolation between the start
       and middle point, and between the middle	and end	point.	If  the	 error
       exceeds	the threshold, the scanline is split into two sections and the
       approximator is recursively applied to each section until the error  is
       less than the threshold or all points have been exactly computed.

       The  error  threshold (in source	dataset	pixels)	can be controlled with
       the  --error-threshold  switch.	If  you	 want  to   compare   a	  true
       pixel-by-pixel reprojection use --error-threshold=0 which disables this
       approximator entirely.

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 ap-
       ply the specified pipeline in a on-the-fly / streamed way.

EXAMPLES
   Example 1: Reproject	a GeoTIFF file to CRS EPSG:32632 ("WGS 84 /  UTM  zone
       32N")
	  $ gdal raster	reproject --dst-crs=EPSG:32632 in.tif out.tif --overwrite

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

COPYRIGHT
       1998-2025

				 Jul 12, 2025	      GDAL-RASTER-REPROJECT(1)

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

home | help