Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

GDAL Utilities

The following utility programs are distributed with GDAL.

gdalinfo

Usage:

gdalinfo [--version] [--formats] [-mm] [-nogcp] [-nomd] datasetname

The gdalinfo program lists various information about a GDAL supported raster dataset.

--version
Print version of the GDAL library and exit.
--formats
Print a list of supported file formats.
-mm
Force computation of the actual min/max values for each band in the dataset.
-nogcp
Suppress ground control points list printing. It may be useful for datasets with huge amount of GCPs, such as L1B AVHRR or HDF4 MODIS which contain thousands of the ones.
-nomd
Suppress metadata printing. Some datasets may contain a lot of metadata strings.

The gdalinfo will report all of the following (if known):

Example:

warmerda@gdal[138]% gdalinfo ~/openev/utm.tif 
Driver: GTiff/GeoTIFF
Size is 512, 512
Coordinate System is:
PROJCS["NAD27 / UTM zone 11N",
    GEOGCS["NAD27",
        DATUM["North_American_Datum_1927",
            SPHEROID["Clarke 1866",6378206.4,294.978698213901]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",-117],
    PARAMETER["scale_factor",0.9996],
    PARAMETER["false_easting",500000],
    PARAMETER["false_northing",0],
    UNIT["metre",1]]
Origin = (440720.000000,3751320.000000)
Pixel Size = (60.000000,-60.000000)
Corner Coordinates:
Upper Left  (  440720.000, 3751320.000) (117d38'28.21"W, 33d54'8.47"N)
Lower Left  (  440720.000, 3720600.000) (117d38'20.79"W, 33d37'31.04"N)
Upper Right (  471440.000, 3751320.000) (117d18'32.07"W, 33d54'13.08"N)
Lower Right (  471440.000, 3720600.000) (117d18'28.50"W, 33d37'35.61"N)
Center      (  456080.000, 3735960.000) (117d28'27.39"W, 33d45'52.46"N)
Band 1 Block=512x16 Type=Byte, ColorInterp=Gray

gdal_translate

Usage:

gdal_translate 
       [-ot {Byte/UInt16/UInt32/Int32/Float32/Float64/CInt16/
             CInt32/CFloat32/CFloat64}] [-not_strict]
       [-of format] [-b band] [-outsize xsize[%] ysize[%]]
       [-scale [src_min src_max [dst_min dst_max]]]       
       [-srcwin xoff yoff xsize ysize] [-a_srs srs_def]
       [-projwin xoff yoff xsize ysize] [-co "NAME=VALUE"]*
       [-mo "META-TAG=VALUE"]* [-quiet]
       src_dataset dst_dataset

The gdal_translate utility can be used to convert raster data between different formats, potentially peforming some operations like subsettings, resampling, and rescaling pixels in the process.

-ot: For the output bands to be of the indicated data type.
-not_strict:
Be forgiving of mismatches and lost data when translating to the output format.
-of format:
Select the output format. The default is GeoTIFF (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.
-outsize xsize[] ysize[]:
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.
-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 data.
-srcwin xoff yoff xsize ysize:
Selects a subwindow from the source image for copying.
-a_srs srs_def:
Override the projection for the output file. The srs_def may be any of the usual GDAL/OGR forms, complete WKT, PROJ.4, EPSG:n or a file containing the wkt.
-projwin ulx uly lrx lry:
Selects a subwindow from the source image for copying (like -srcwin) but with the corners given in georeferenced coordinates.
-mo "KEY=VALUE":
passes a metadata key and value to set on the output dataset if possible.
-co "NAME=VALUE":
passes a creation option to the output format driver. Multiple -co options may be listed. See format specific documentation for legal creation options for each format.
-mo "META-TAG=VALUE":
Add the indicated metadata values to the output dataset.
-quiet:
Supress progress monitor and other non-error output.
src_dataset:
The source file name.
dst_dataset:
The destination file name.

Example:

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

gdaladdo

Usage:

gdaladdo [-r {nearest,average,average_mp,average_magphase,mode}]
                filename levels

The gdaladdo utility can be used to build or rebuild overview images for most supported file formats with one over several downsampling algorithms.

-r {nearest,average,average_mp,average_magphase,mode}:
Select a resampling algorithm.
filename:
The file to build overviews for.
levels:
A list of integral overview levels to build.

Mode is not actually implemented, and average_mp is unsuitable for use. Average_magphase averages complex data in mag/phase space. Nearest and average are applicable to normal image data. Nearest applies a nearest neighbour (simple sampling) resampler, while average computes the average of all non-NODATA contributing pixels.

Selecting a level value like 2 causes an overview level that is 1/2 the resolution (in each dimension) of the base layer to be computed. If the file has existing overview levels at a level selected, those levels will be recomputed and rewritten in place.

Some format drivers do not support overviews at all. Many format drivers store overviews in a secondary file with the extension .ovr. The GeoTIFF driver stores overviews internally to the file operated on.

Example:

gdaladdo -r average abc.tif 2 4 8 16

gdalwarp

Usage:

vim[C

gdalwarp [--version] [--formats]
    [-s_srs srs_def] [-t_srs srs_def] [-order n] [-et err_threshold]
    [-te xmin ymin xmax ymax] [-tr xres yres] [-ts width height]
	[-wo "NAME=VALUE"] [-ot Byte/Int16/...] [-wt Byte/Int16]
    [-rn] [-rb] [-rc] [-rcs] [-srcnodata value [value...]]
    [-wm memory_in_mb] [-multi] [-q]
    [-of format] [-co "NAME=VALUE"]* srcfile dstfile

The gdalwarp utility is a simple image reprojection and warping utility. The program can reproject to any support projection, and can also apply GCPs stored with the image if the image is "raw" with control information.

-s_srs srs def:
source spatial reference set. The coordinate systems that can be passed are anything supported by the OGRSpatialReference.SetFromUserInput() call, which includes EPSG PCS and GCSes (ie. EPSG:4296), PROJ.4 declarations (as above), or the name of a .prf file containing well known text.
-t_srs srs_def:
target spatial reference set. The coordinate systems that can be passed are anything supported by the OGRSpatialReference.SetFromUserInput() call, which includes EPSG PCS and GCSes (ie. EPSG:4296), PROJ.4 declarations (as above), or the name of a .prf file containing well known text.
-order n:
order of polynom used for warping (1 to 3)
-et err_threshold:
error threshold for transformation approximation (in pixel units - defaults to 0.125).
-te xmin ymin xmax ymax: set georeferenced extents of output file to be created.
-tr xres yres:
set output file resolution (in target georeferenced units)
-ts width height:
set output file size in pixels and lines
-wo "NAME=VALUE":
Set a lost of warp options. There is a list of available ones. Multiple -wo options may be listed.
-ot type:
For the output bands to be of the indicated data type.
-wt type:
Working pixel data type. The datatype of pixels in the source image and destination image buffers.
-rn:
Use nearest neighbour resampling (fastest algorithm, worst interpolation quality).
-rb:
Use bilinear resampling.
-rc:
Use cubic resampling.
-rcs:
Use cubic spline resampling (slowest algorithm).
-srcnodata value [value...]:
Set nodata masking values (several values may be specified). Masked values will not be used in interpolation.
-wm memory_in_mb:
Set the amount of memory (in bytes) that the warp API is allowed to use for caching.
-multi:
Use multithreaded warping implementation. Multiple threads will be used to process chunks of image and perform input/output operation simultaneously.
-q:
Be quiet.
-of format:
Select the output format. The default is GeoTIFF (GTiff). Use the short format name.
-co "NAME=VALUE":
passes a creation option to the output format driver. Multiple -co options may be listed. See format specific documentation for legal creation options for each format.
srcfile:
The source file name.
dstfile:
The destination file name.

Mosaicing into an existing output file is supported if the output file already exists.

Example:

For instance, an eight bit spot scene stored in GeoTIFF with control points mapping the corners to lat/long could be warped to a UTM projection with a command like this:

% gdalwarp -t_srs '+proj=utm +zone=11 +datum=WGS84' raw_spot.tif utm11.tif

gdaltindex

Usage:

gdaltindex [-tileindex field_name] index_file [gdal_file]*

This program builds a shapefile with a record for each input raster file, an attribute containing the filename, and a polygon geometry outlining the raster. This output is suitable for use with UMN MapServer as a raster tileindex.

Example:

gdaltindex doq_index.shp doq/*.tif

rgb2pct.py

Usage:

rgb2pct.py [-n colors] [-of format] source_file dest_file

This utility will compute an optimal pseudo-color table for a given RGB image using a median cut algorithm on a downsampled RGB histogram. Then it converts the image into a pseudo-colored image using the color table. This conversion utilizes Floyd-Steinberg dithering (error diffusion) to maximize output image visual quality.

-n colors:
Select the number of colors in the generated color table. Defaults to 256. Must be between 2 and 256.
-of format:
Format to generated (defaults to GeoTIFF). Same semantics as the -of flag for gdal_translate. Only output formats supporting pseudocolor tables should be used.
source_file:
The input RGB file.
dest_file:
The output pseudo-colored file that will be created.

NOTE: rgb2pct.py is a Python script, and will only work if GDAL was built with Python support. It is also not installed by default. It is found at $GDAL_HOME/pymod.

gdal_merge.py

Usage:

gdal_merge.py [-o out_filename] [-f out_format] [-v]
                     [-ps pixelsize_x pixelsize_y]
                     [-ul_lr ulx uly lrx lry] input_files

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.

-o out_filename:
The name of the output file to be created.
-f out_format:
Output format, defaults to GeoTIFF.
-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.
-ul_lr ulx uly lrx lry:
The extents of the output file. If not specified the aggregate extents of all input files will be used.
-v:
Generate verbose output of mosaicing operations as they are done.

NOTE: gdal_merge.py is a Python script, and will only work if GDAL was built with Python support. It is also not installed by default. It is found at $GDAL_HOME/pymod.

gdal-config

Usage:

gdal-config [OPTIONS]
Options:
        [--prefix[=DIR]]
        [--libs]
        [--cflags]
        [--version]
        [--ogr-enabled]
        [--formats]

This utility script (available on Unix systems) can be used to determine various information about a GDAL installation. It is normally just used by configure scripts for applications using GDAL but can be queried by an end user.

--prefix:
the top level directory for the GDAL installation.
--libs:
The libraries and link directives required to use GDAL.
--cflags:
The include and macro definition required to compiled modules using GDAL.
--version:
Reports the GDAL version.
--ogr-enabled:
Reports "yes" or "no" to standard output depending on whether OGR is built into GDAL.
--formats:
Reports which formats are configured into GDAL to stdout.

Generated on Thu Nov 13 00:09:00 2003 for GDAL by doxygen 1.3.4