Class Hierarchy Compound List File List Compound Members File Members Related Pages

# GDAL - Geospatial Data Abstraction Library

GDAL is a translator library for raster geospatial data formats that is released under an Open Source license. As a library, it presents a single abstract data model to the calling application for all supported formats.

Maintainer: Frank Warmerdam.

## Status

GDAL is in active use in a few projects, and includes a number of formats. Current translators include GeoTIFF (read/write), Erdas Imagine (read), ESRI .BIL (read/write), .aux labelled raw (read/write), DTED (read), SDTS DEM (read), CEOS (read), JPEG (read/write), PNG (read/write), Geosoft GXF (read) and Arc/Info Binary Grid (read).

I have created the gdal-dev@egroups.com mailing list. Subscriptions can be done, and archives reviewed on the web.

Incomplete (but useful) API Documentation exists for GDAL, and was created using Doxygen.

## Bug Reporting

GDAL bugs can be reported, and can be listed using BugZilla.

## Source Access

The GDAL source is available by anonymous CVS:

    export CVSROOT=:pserver:anonymous@cvs.remotesensing.org:/cvsroot
    cvs login
    Password: anonymous
    cvs checkout gdal

Update access to the CVS repository can be obtained by arrangement with the maintainer. The CVS tree can also be browsed on the web. The last full source release is available as gdal111.zip or gdal-1.1.1.tar.gz.

## Key Documentation Entry Points

- GDAL FAQ
- Supported Formats
- GDAL Data Model
- GDAL API Tutorial
- GDALDataset
- GDALRasterBand

## Building

GDAL has been successfully built on Linux, IRIX, Solaris, and Windows NT. On Unix platforms you might be able to build it as follows (assuming it is unpacked or checked out of CVS as gdal):

    % cd gdal
    % ./configure
    % make

Some caveats are:

- The shared library building is pretty specific to the GNU tool chain. If you are using something different than GNU C++, then you will likely finding that the .so files isn't built successfully. You could just link against the static libraries (normally gdal/gdal.a gdal/ogr/ogr.a gdal/frmts/o/ *.a gdal/gdal.a gdal/port/cpl.a) or you could hack LD_SHARED command in gdal/GDALmake.opt to work on your platform. I do plan to convert to using libtool at some point in the future.

- I depend on GNUmake on Unix platforms. Just get and install it.

- My "autoconf" logic that checks for libpng and libjpeg isn't too savvy about versions. If it is unsing pre-installed versions of these libraries and this support isn't working, rerun configure with ``--with-png=internal'' or ``--with-jpeg=internal'' instead.

- If you find build problems with one of the format drivers that you don't care about, just remove the format from the GDAL_FORMATS line at the bottom of gdal/GDALmake.opt, do a make clean, and make. This will drop it from the build and default runtime registration.

GDAL can be built on Windows using MS VC++ at the commandline. For this to work you will normally have to have run the VCVAR32.BAT script that comes with the compiler, and then do the following:

    C:\> CD GDAL
    C:\GDAL\> nmake /f makefile.vc

I frequently forget to update the Windows makefiles when I add new files, so if something comes up missing consider comparing the file lists in the appropriate makefile.vc against the GNUmakefile or just contact me.

## GDAL Utility Programs

The following GDAL utility programs exist current:

- gdal/apps/gdalinfo: Dumps a variety of information about a dataset to the terminal.

- gdal/apps/gdal_translate: Translate between GDAL formats. The default output format is GeoTIFF. Limited support for resizing images, selecting subwindows, and converting between data types.
- gdal/apps/gdaladdo: Add overviews to an existing database.

Binaries of the GDAL utility programs and the shared libraries are available for MS Windows NT/95/98 and Linux.

## Related Information

- My other projects, many of which are incorporated into GDAL.

- RemoteSensing.ORG: An organization for cooperative OpenSource work related to remote sensing. GDAL is hosted at remotesensing.org.

- OGRSpatialReference: My OGR encapsulation of OpenGIS projection definitions.

- OpenEV: An OpenGL/GTK/Python based graphical viewer which exclusively uses GDAL for raster access.

- OSSIM: Another geospatial viewing and analysis environment which uses GDAL as one of several plugins.