GDAL/OGR In Java

The GDAL project has SWIG generated Java bindings for GDAL and OGR. The Java bindings have been substantially reworked for 1.7.0 release. For the 1.5.0 and 1.6.0 releases, they are considered to be broken.

Generally speaking the classes and methods mostly match those of the GDAL and OGR C++ classes. You can find the  Javadoc of the API of the Java bindings for GDAL 1.7.0 and later releases.

Due to the fact the Java garbage collector works in a separate thread from the main thread, it is necessary to configure GDAL with multi-threading support, even if you do not use GDAL API from several Java threads.

The minimum version of Java required to build the Java bindings is Java 1.4.

Useful Links

  •  Javadoc of the API of the Java bindings for GDAL 1.7.0 and later releases.
  • gdalinfo.java Sample Java program similar to gdalinfo utility (use API from Java bindings of GDAL 1.7.0dev)
  •  Tamas Szekeres' Windows daily builds : Tamas Szekeres maintains a complete set of Win32 and Win64 binary packages (compiled with VC2003/VC2005/VC2008/VC2010) that include the GDAL Java bindings. These packages are based on the current development and stable branches built from the GDAL SVN daily. The -devel packages are based on the developement version (1.9.0dev at time of writing), and the -stable packages are based on the latest stable branch (1.8 at time of writing)
  •  Image I/O-Ext: The main core module of the project is gdalframework, a framework leveraging on GDAL via SWIG's generated JAVA bindings to provide support for a reach set of data formats. (Note: this framework doesn't necessarily ship the latest released GDAL version)