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.
- Apache SIS 1.4 binary [PGP] [SHA 512]
- Apache SIS 1.4 javadoc [PGP] [SHA 512]
- Apache SIS 1.4 sources [PGP] [SHA 512]
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.