Downloading Geotoolkit.org Binaries

Binary versions of Geotk are available in several different formats. The easiest approach to integrate Geotk into a Java project uses the Apache maven dependency management tool to automatically obtain the required Java Archives (JAR) files from the network. For convenience of users who are not using the maven build tool, Geotk is also distributed as bundles which combine components of the library into a single JAR file. Finally, users can download the source code and build Geotk themselves to obtain all of the pieces in one shot as explained on the building from source page.

To run this code, Geotk requires a properly configured runtime environment as described in the running Geotoolkit.org page.

Maven downloads

Geotk can be obtained using the Apache's Maven management tool to download Geotk JAR files which have been deployed into the project's Maven repository (all Geotk modules) or into the Maven Central repository (only Geotk modules implementing the GeoAPI 3.0 release).

The Maven approach provides the following advantages compared to using Geotk bundles:

  • Developers can select only the dependencies they want, thus reducing the total size of their application.
  • Developers can add dependencies that are not otherwise included in the bundles, for example geotk-logging-log4j.jar which redirect all Geotk loggings to the Log4J framework.
  • Developers can reuse the same JAR files accross many projects, thus reducing the duplication. For example many independant projects could use the geoapi.jar file.
  • Maven downloads the JAR files automatically, including the source code in some IDE. Snapshots are checked daily for updates.

Below is an example of declaration in a pom.xml file for building a project with the Geotk referencing module and redirect all Geotk loggings to the Log4J framework:

<properties>
  <!-- Define the version that we want to use here, so
       we have a single line to change when upgrating. -->
  <geotk.version>3.20-geoapi-3.0</geotk.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.geotoolkit</groupId>
    <artifactId>geotk-referencing</artifactId>
    <version>${geotk.version}</version>
  </dependency>
  <dependency>
    <groupId>org.geotoolkit</groupId>
    <artifactId>geotk-logging-log4j</artifactId>
    <version>${geotk.version}</version>
    <scope>runtime</scope>
  </dependency>
</dependencies>

The above example is sufficient for any version ending in -geoapi-3.0. If the 3.20 or 4.0-M1 version is wanted instead than 3.20-geoapi-3.0 (in order to use modules that are beyond GeoAPI 3.0 interfaces), then the following repository must be declared in the root pom.xml file.

<repositories>
  <repository>
     <!-- Not needed for "*-geoapi-3.0" versions -->
     <id>geotoolkit</id>
     <name>Geotk repository</name>
     <url>http://maven.geotoolkit.org</url>
  </repository>
</repositories>

See the Running Geotoolkit.org page for more examples.

Bundle downloads (everything in a single JAR)

Geotk can be obtained as single archives which bundles together specific components of the library to provide an easy way to get started. A single archive file should be downloaded; when uncompressed with the unpack200 tool distributed with Java, the archive results in a single JAR file which includes the desired components of Geotk along with all the required dependencies. Geotk can then be used simply by placing the JAR on the classpath.

These Geotk bundles can be downloaded from:

Serveral bundles are available, each one providing successively more functionality. The JAR files included in each bundle are listed below (see the dependency management page for version numbers). Choose only one of the following pack.gz files:

File Content Prerequites
geotk-bundle-metadata.pack.gz • jsr-275.jar 
• jcip-annotations.jar 
• geoapi-pending.jar 
• geotk-utility.jar 
• geotk-metadata.jar 
• Java 7
geotk-bundle-referencing.pack.gz All the metadata pack plus: 
• vecmath.jar 
• geotk-referencing.jar 
• geotk-epsg.jar
• Java 7 
• JavaDB (optional)
geotk-bundle-coverage.pack.gz All the referencing pack plus: 
• geotk-coverage.jar 
• geotk-coverageio.jar 
• jai_imageio.jar 
• Java 7 
• Java Advanced Imaging 
• JavaDB (optional)
geotk-bundle-netcdf.pack.gz All the coverage pack plus: 
• geotk-coverageio-netcdf.jar 
• netcdf.jar 
• udunits.jar 
• opendap.jar 
• grib.jar 
• joda-time.jar 
• protobuf-java.jar 
• jdom.jar 
• servlet-api.jar 
• commons-codec.jar 
• commons-httpclient.jar 
• commons-logging.jar 
• slf4j-api.jar 
• slf4j-jdk14.jar
• Java 7 
• Java Advanced Imaging 
• JavaDB (optional)
geotk-bundle-storage.pack.gz All the coverage pack plus: 
• geotk-metadata-sql.jar 
• geotk-coverage-sql.jar 
• geotk-epsg-javadb.jar 
• derby.jar 
• derbyLocale_*.jar 
• postgresql.jar
• Java 7 
• Java Advanced Imaging
geotk-bundle.pack.gz All the storage pack plus: 
• geotk-setup.jar 
• geotk-display.jar 
• geotk-widgets-swing.jar 
• geotk-wizards-swing.jar 
• wizard.jar 
• swingx.jar 
• swing-worker.jar 
• filters.jar 
• jlfgr.jar
• Java 7 
• Java Advanced Imaging
geotk-bundle-pending.pack.gz Pending modules and dependencies Undocumented

Those files can be unpacked using the unpack200 executable provided in the Java installation directory.

For example, users who wish to use the georeferencing functionality of Geotk can select the geotk-bundle-referencing-4.0-M1.pack.gz archive for download. Once downloaded, the archive can then be expanded with the following command:

unpack200 --remove-pack-file geotk-bundle-referencing-4.0-M1.pack.gz geotk-bundle-referencing.jar

where the name of the target file, geotk-bundle-referencing.jar in this example, can be any name the user wishes.

The resulting JAR can be tested by running the command:

java -jar geotk-bundle-referencing.jar help

which will run the command line tool for working with the referencing and metadata modules.