Apache SIS downloads

Apache SIS 1.4 is now available. See the release notes for a list of changes since the previous version.

Apache SIS releases are available under the Apache License, Version 2.0. See the NOTICE file contained in each release artifact for applicable copyright attribution notices.

Download ZIP files

Apache SIS is distributed in the form of Java source code in a multi-modules Apache Maven project. For convenience, Javadoc and pre-compiled JAR files are available as separated downloads. The precompiled JAR files contain most modules and mandatory dependencies. Optional dependencies (JAXB implementation, UCAR netCDF library, Amazon SDK) are not included.

Verify signatures

All downloads can be verified using the Apache SIS code signing KEYS. The PGP (Pretty Good Privacy) signatures can be verified using any OpenPGP implementation, for example GPG (GNU Privacy Guard). First download the KEYS file and the .asc signature files for the relevant release packages. Make sure you get these files from the main distribution directory, rather than from a mirror. Then verify the signatures using the following (replace src by bin or doc if needed):

Using GNU Privacy Guard:

gpg --import KEYS
gpg --verify apache-sis-1.4-src.zip.asc

Using PGP version 6:

pgp -ka KEYS
pgp apache-sis-1.4-src.zip.asc

Using PGP version 5:

pgpk -a KEYS
pgpv apache-sis-1.4-src.zip.asc

Build from the sources

If the source files were donwloaded instead of the binaries, the sources will need to be built by Gradle. It requires Java 18 or higher for building, but the compilation result can be executed on Java 11 or higher. For installing the JAR files in the local Maven repository, execute the following command from the SIS project root:

cd apache-sis-1.4
gradle assemble
gradle publishToMavenLocal      # If use with Maven projects is desired.

JAR files will be in the endorsed/build/libs/ sub-directory. An Open/LibreOffice add-in will be in endorsed/build/bundle/.

The JavaFX application is excluded by default because it depends on the JavaFX platform which is distributed under GPL license (note that the SIS module stay under Apache 2 licence). Likewise the EPSG geodetic dataset is excluded by default for licensing reasons. For including the JavaFX module in the build, define the PATH_TO_FX environment variable with the path to the directory containing all JavaFX JAR files. Example on a Linux system (the path may vary):

export PATH_TO_FX=/usr/lib/jvm/openjfx

The application will bundled in a ZIP file in the optional/build/bundle directory. To test, uncompress in any directory and execute apache-​sis-​1.4/​bin/sisfx.

Setting the module-path

Apache SIS 1.4 and later use the Java Platform Module System (JPMS). Consequently applications should declare SIS JAR files on their module-path rather than their class-path. The easiest way is to declare the whole directory like below:

java --module-path apache-sis-1.4/lib

If the application using Apache SIS is not itself modularized, it may be necessary to add the --add-modules ALL-MODULE-PATH option. If it is not possible to declare SIS JAR files on the module-path, a compatibility mechanism makes possible to nevertheless use SIS 1.4 on the class-path. Note however that declaring SIS JAR files on the class-path may be no longer supported in a future version (it does not mean that applications using SIS must put themselves on the module-path).

Download as Maven dependencies

An easy approach to integrate Apache SIS into a Java project uses the Apache Maven dependency management tool to automatically obtain the required Java Archives (JAR) files from the network. Below are examples of declarations in a pom.xml file for building a project with a SIS core module.

<properties>
  <sis.version>1.4</sis.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.apache.sis.core</groupId>
    <artifactId>sis-referencing</artifactId>
    <version>${sis.version}</version>
  </dependency>

  <!-- The following dependency can be omitted if XML support is not desired. -->
  <dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>4.0.4</version>
    <scope>runtime</scope>
  </dependency>
</dependencies>

The sis-referencing module in above example can be replaced by one or many of the following modules:

Service Java module name Maven group Maven artifact
ISO 19115 metadata org.apache.sis.metadata org.apache.sis.core sis-metadata
Referencing by coordinates org.apache.sis.referencing org.apache.sis.core sis-referencing
Referencing by identifiers org.apache.sis.referencing.gazetteer org.apache.sis.core sis-referencing-by-identifiers
Features and coverages org.apache.sis.feature org.apache.sis.core sis-feature
Feature data from SQL database org.apache.sis.storage.sql org.apache.sis.storage sis-sqlstore
Feature data from GPX files org.apache.sis.storage.xml org.apache.sis.storage sis-xmlstore
Features and rasters from NetCDF org.apache.sis.storage.netcdf org.apache.sis.storage sis-netcdf
Raster data from GeoTIFF org.apache.sis.storage.geotiff org.apache.sis.storage sis-geotiff
Raster data from Landsat org.apache.sis.storage.earthobservation org.apache.sis.storage sis-earth-observation
Raster data from GCOM (JAXA) org.apache.sis.profile.japan org.apache.sis.profile sis-japan-profile
Connection to storages on cloud org.apache.sis.cloud.aws org.apache.sis.cloud sis-cloud-aws
Console application org.apache.sis.console org.apache.sis.application sis-console
Graphical application org.apache.sis.gui org.apache.sis.application sis-javafx

Include non-free resources

The EPSG geodetic dataset is optional but strongly recommended. The EPSG dataset is a de-facto standard providing thousands of Coordinate Reference System (CRS) definitions together with information about how to perform coordinate operations, their accuracies and their domains of validity. However usage of EPSG dataset requires acceptation of EPSG terms of use. If you accept those terms of use, then the following dependency can be added:

<dependencies>
  <dependency>
    <groupId>org.apache.sis.non-free</groupId>
    <artifactId>sis-embedded-data</artifactId>
    <version>${sis.version}</version>
    <scope>runtime</scope>
  </dependency>
</dependencies>

Above dependency uses a read-only embedded Derby database. Note that the need to uncompress the sis-embedded-data.jar file slows down CRS​.forCode(…) and CRS​.findCoordinateOperation(…) method executions. For better flexibility and performance, it is also possible to use an uncompressed and writable Derby database, or to install the EPSG dataset on HSQL or PostgreSQL. See How to use EPSG geodetic dataset page for more information.