
/*!
\if man
\page gdal_edit
\else
\page gdal_edit gdal_edit.py
\endif

Edit in place various information of an existing GDAL dataset.

\section gdal_edit_synopsis SYNOPSIS

\verbatim
gdal_edit [--help-general] [-ro] [-a_srs srs_def] [-a_ullr ulx uly lrx lry]
          [-tr xres yres] [-unsetgt] [-unsetrpc] [-a_nodata value] [-unsetnodata]
          [-unsetstats] [-stats] [-approx_stats]
          [-setstats min max mean stddev]
          [-scale value] [-offset value]
          [-colorinterp_X red|green|blue|alpha|gray|undefined]*
          [-gcp pixel line easting northing [elevation]]*
          [-unsetmd] [-oo NAME=VALUE]* [-mo "META-TAG=VALUE"]*  datasetname
\endverbatim

\section gdal_edit_description DESCRIPTION

The gdal_edit.py script can be used to edit in place various information
of an existing GDAL dataset (projection, geotransform, nodata, metadata).

It works only with raster formats that support update access to
existing datasets.

CAUTION: depending on the format, older values of the updated information might
still be found in the file in a "ghost" state, even if no longer accessible
through the GDAL API. This is for example the case of the GTiff format (this is
not a exhaustive list)

<dl>

<dt> <b>--help-general</b></dt>:<dd>
Gives a brief usage message for the generic GDAL commandline options
and exit.
</dd>

<dt> <b>-ro</b></dt>:<dd> (GDAL >= 1.11)
Open the dataset in read-only. Might be useful for drivers refusing to
use the dataset in update-mode. In which case, updated information will go
into PAM .aux.xml files.</dd>

<dt> <b>-a_srs</b> <i>srs_def</i>:</dt><dd>

Defines the target coordinate system.  This coordinate system will be
written to the dataset. If the empty string or None is specified, then the
existing coordinate system will be removed (for TIFF/GeoTIFF, might not be
well supported besides that).

<dt> <b>-a_ullr</b> <i>ulx uly lrx lry</i>:</dt><dd>
Assign/override the georeferenced bounds of the dataset.</dd>

<dt> <b>-tr</b> xres yres :</dt><dd>
Set target resolution. The values must be expressed in georeferenced units.
Both must be positive values.</dd>

<dt> <b>-unsetgt</b></dt>:<dd>
Remove the georeference information.</dd>

<dt> <b>-unsetrpc</b></dt>:<dd> (GDAL >= 2.4)
Remove RPC information.</dd>

<dt> <b>-unsetstats</b></dt>:<dd> (GDAL >= 2.0)
Remove band statistics information.</dd>

<dt> <b>-stats</b></dt>:<dd> (GDAL >= 2.0)
Calculate and store band statistics.</dd>

<dt> <b>-setstats</b>min max mean stddev:</dt><dd> (GDAL >= 2.4)
Store user-defined values for band statistics (minimum, maximum, mean and standard deviation).
If any of the values is set to None, the real statistics are calclulated from the file
and the ones set to None are used from the real statistics.</dd>

<dt> <b>-approx_stats</b></dt>:<dd> (GDAL >= 2.0)
Calculate and store approximate band statistics.</dd>

<dt> <b>-a_nodata</b> <i>value</i>:</dt><dd>
Assign a specified nodata value to output bands.</dd>

<dt> <b>-unsetnodata</b></dt>:<dd> (GDAL >= 2.1)
Remove existing nodata values.</dd>

<dt> <b>-scale</b> <i>value</i>:</dt><dd> (GDAL >= 2.2)
Assign a specified scale value to output bands. If a single scale value is provided it will be 
set for all bands. Alternatively one scale value per band can be provided, in which case the 
the number of scale values must match the number of bands. If no scale is needed, it
it recommended to set the value to 1. Scale and Offset are generally used
together. For example, scale and offset might be used to store elevations in 
a unsigned 16bit integer file with a precision of 0.1, and starting from -100.
True values would be calculated as: 
true_value = (pixel_value * scale) + offset 
Note: these values can be applied using -unscale during a gdal_translate run.</dd> 

<dt> <b>-offset</b> <i>value</i>:</dt><dd> (GDAL >= 2.2)
Assign a specified offset value to output bands. If a single offset value is provided it will be 
set for all bands. Alternatively one offset value per band can be provided, in which case the 
the number of offset values must match the number of bands. If no offset is needed, it
recommended to set the value to 0. For more see scale.</dd> 

<dt> <b>-colorinterp_X</b> <i>red|green|blue|alpha|gray|undefined</i>:</dt><dd>
(GDAL >= 2.3) Change the color interpretation of band X (where X is a valid
band number, starting at 1)
</dd>

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

<dt> <b>-unsetmd</b></dt>:<dd> (GDAL >= 2.0)
Remove existing metadata (in the default metadata domain). Can be combined
with -mo.</dd>

<dt> <b>-mo</b> <i>"META-TAG=VALUE"</i>:</dt><dd> Passes a metadata key and
value to set on the output dataset if possible. This metadata is added to
the existing metadata items, unless -unsetmd is also specified.</dd>

<dt> <b>-oo</b> <i>"NAME=VALUE"</i>:</dt><dd>
(GDAL >= 2.0) Open option (format specific).</dd>

</dl>

-a_ullr, -tr and -unsetgt options are exclusive.

-unsetstats and either -stats or -approx_stats options are exclusive.

\section gdal_edit_example EXAMPLE

\verbatim
gdal_edit -mo DATUM=WGS84 -mo PROJ=GEODETIC -a_ullr 7 47 8 46 test.ecw

gdal_edit -scale 1e3 1e4 -offset 0 10 twoBand.tif

\endverbatim

\if man
\section gdal_edit_author AUTHORS
Even Rouault &lt;even dot rouault at mines dash paris dot org&gt;
\endif
*/

