GDAL Image Formats on GeoServer

GeoServer can leverage the ImageI/O-Ext GDAL libraries to read selected coverage formats. GDAL is able to read many formats, but for the moment GeoServer supports only a few general interest formats and those that can be legally redistributed and operated in an open source server.

The following image formats can be read by GeoServer using GDAL:

Installing GDAL extension

From GeoServer version 2.2.x, GDAL must be installed as an extension. To install it:

  1. Navigate to the GeoServer download page
  2. Find the page that matches the version of the running GeoServer.


    Be sure to match the version of the extension with that of GeoServer, otherwise errors will occur.

  3. Download the GDAL extension. The download link for GDAL will be in the Extensions section underCoverage Store.
  4. Extract the files in this archive to the WEB-INF/lib directory of your GeoServer installation.

Moreover, in order for GeoServer to leverage these libraries, the GDAL (binary) libraries must be installed through your host system’s OS. Once they are installed, GeoServer will be able to recognize GDAL data types. See bloe for more information.

Installing GDAL native libraries

The ImageIO-Ext GDAL plugin for geoserver master uses ImageIO-Ext 1.1.7 whose artifacts can be downloaded from here.

Browse to the native and then gdal directory for the link. Now you should see a list of artifacts that can be downloaded. We need to download two things now:

  1. The CRS definitions
  2. The native libraries matching the target operating system

Let’s now install the CRS definitions.

  • Click on the “” to download the CRS definitions archive.
  • Extract this archive on disk and place it in a proper directory on your system.
  • Create a GDAL_DATA environment variable to the folder where you have extracted this file. Make also sure that this directory is reachable and readable by the application server process’s user.

We now have to install the native libraries.

  • Assuming you are on a 64 bits Ubuntu 11 Linux Operating System (as an instance), click on the linux folder and then on “gdal192-Ubuntu11-gcc4.5.2-x86_64.tar.gz” to download the native libraries archive (Before doing this, make sure to read and agree with the ECWEULA if you intend to use ECW).
  • Extract the archive on disk and place it in a proper directory on your system.


    If you are on Windows, make sure that the GDAL DLL files are on your PATH. If you are on Linux, be sure to set the LD_LIBRARY_PATH environment variable to refer to the folder where the SOs are extracted.


    The native libraries contains the GDAL gdalinfo utility which can be used to test whether or not the libs are corrupted. This can be done by browsing to the directory where the libs have been extracted and performing a gdalinfo command with the formats options that shows all the formats supported. Moreover the package contains also a Java versions of the gdalinfo utility to check also the Java bindings correct functioning (you can see a .bat script for Windows and .sh for Linux).

Once these steps have been completed, restart GeoServer. If all the steps have been performed correctly, new data formats will be in the Raster Data Sources list when creating a new data store as shown here below.

../../_images/gdalcreate.pngGDAL image formats in the list of raster data stores

If instead now new formats appear in the GUI and in the logs the following messages is shown:

it.geosolutions.imageio.gdalframework.GDALUtilities loadGDAL WARNING: Native library load no gdaljni in java.library.path

that means that the installations failed for some reason.

Extra Steps for Windows Platforms

There are a few things to be careful with as well as some extra steps if you are deploying on Windows.

First of all, you’ll notice that we have multiple versions like MSVC2005, MSVC2008 and so on macthing the Microsoft Visual C++ Redistributables. Depending on the version of the underlying operating system you’ll have to pick up the right one. You can google around for the one you need.

That said, we have DLLs for both 32 bits as well as 64 bits Operating Systems. Again, pick the one that matches your infrastructure.

Note on running GeoServer as a Service on Windows

Simply deploying the GDAL ImageI/O-Ext native libraries in a location referred by the PATH environment variable (like, as an instance, the JDK/bin folder) doesn’t allow GeoServer to leverage on GDAL, when run as a service. As a result, during the service startup, GeoServer log reports this worrysome message:

it.geosolutions.imageio.gdalframework.GDALUtilities loadGDAL WARNING: Native library load no gdaljni in java.library.path

Taking a look at the wrapper.conf configuration file available inside the GeoServer installation (at bin/wrapper/wrapper.conf), there is this useful entry:

# Java Library Path (location of Wrapper.DLL or

To allow the GDAL native DLLs getting loaded, you have 2 possible ways:

  1. Move the native DLLs on the referred path (bin/wrapper/lib)
  2. Add a entry just after the line.

Adding support for ECW and MrSID on Windows

If you are on Windows and you want to add support for ECW and MrSID there is an extra step to perform.

In the Windows packaging ECW and MrSID are built as plugins hence they are not loaded by default but we need to place their DLLs in a location that is pointed by the GDAL_DRIVER_PATH environmental variable. GDAL uses internally this env variable to look up additional drivers (notice that there are a few default places where GDAL will look anyway). For additional information, please, check this link.

Configuring a DTED data store

../../_images/gdaldtedconfigure.pngConfiguring a DTED data store

Configuring a EHdr data store

../../_images/gdalehdrconfigure.pngConfiguring a EHdr data store

Configuring a ERDASImg data store

../../_images/gdalerdasimgconfigure.pngConfiguring a ERDASImg data store

Configuring a JP2MrSID data store

../../_images/gdaljp2mrsidconfigure.pngConfiguring a JP2MrSID data store

Configuring a NITF data store

../../_images/gdalnitfconfigure.pngConfiguring a NITF data store


About Qiusheng Wu

Assistant Professor of Geography at Binghamton University, State University of New York

Posted on March 20, 2014, in GIS/RS, Software, Tutorials and tagged , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Alex Tereshenkov

Programming and managing GIS

REDD+ for the Guiana Shield

Technical Cooperation Project

Dr. Qiusheng Wu @ SUNY Binghamton

Writing Science

How to write papers that get cited and proposals that get funded

GIS In Ecology

Providing Training, Advice And Consultation On The Use Of GIS In Ecology


On cities, land, ...


Open GIS: No Bounds

Scientia Plus Conscientia

Thoughts on Science and Nature


Learning hydrology with R

Karl Hennermann

GIS at the University of Manchester

GIS and Science

Applications of geospatial technology for scientific research and understanding.

GIS, Mapping, Remote Sensing, Geodata, Geospatial news

Whitebox Geospatial Analysis Tools

Open-source GIS development and spatial analysis with Whitebox GAT


MATLAB-based software for topographic analysis

Anything Geospatial – AnyGeo

Dr. Qiusheng Wu @ SUNY Binghamton

Dr. Qiusheng Wu @ SUNY Binghamton

%d bloggers like this: