Java language library for developing geospatial applications following OGC/ISO standards.

Clone this repo:
  1. 485bf63 Merge branch 'geoapi-3.1'. This commit contains one incompatible change: by Martin Desruisseaux · 4 days ago main
  2. 5dab095 Merge branch 'geoapi-4.0' into geoapi-3.1 by Martin Desruisseaux · 4 days ago geoapi-3.1
  3. 24d7b69 `PixelInCell` code list has been removed from ISO 19111:2019. by Martin Desruisseaux · 4 days ago
  4. a0eac41 Classes for comparing against a XML schema moved to a `schema` sub-packages. by Martin Desruisseaux · 5 days ago
  5. 93f2b97 Change the parameter name of central meridian in Robinson and Sinusoidal projections. by Martin Desruisseaux · 6 days ago

Apache Spatial Information System (SIS)

Apache SIS is a Java language library for developing geospatial applications. The library is an implementation of OGC GeoAPI 3.0.2 interfaces and can be used for desktop or server applications. SIS provides data structures along with methods derived from the following international standards:

  • Metadata — ISO 19115-1, ISO 19115-2, ISO 19115-3, ISO 19157
  • Referencing — ISO 19111, ISO 19111-2, ISO 19112, OGC 01-009
  • Features and filters — ISO 19109, ISO 19143
  • Units of measurement — ISO 19103, JSR 385
  • Data formats:
    • GeoTIFF — OGC 19-008
    • NetCDF — OGC 10-092, OGC 16-114
    • XML and GML — ISO 19139, ISO 19136, OGC 01-009
    • WKT (Well-Known Text) — ISO 19162
    • CSV (Comma-separated values) — OGC 14-084

See the https://sis.apache.org/ web site for more information and a more accurate list of standards.

SIS is a project of the Apache Software Foundation. Apache SIS, SIS, Apache, the Apache feather logo, and the Apache SIS project logo are trademarks of The Apache Software Foundation.

Build from sources

Running the library part of Apache SIS requires Java 11 or higher. Running the JavaFX application part requires Java 16 or higher. Building SIS requires Java 18 or higher together with Gradle 8 build system. To build SIS, use the following command in this directory:

gradle assemble

The JAR files will be located in the following directories, together with their dependencies:

  • endorsed/build/libs/ (core library)
  • optional/build/libs/ (requires JavaFX)
  • incubator/build/libs/ (not yet released)

If JAR files seem missing, try gradle jar. For publishing to the local ~/.m2 repository (for example, for use with Maven projects):

gradle publishToMavenLocal

Build the graphical application

If the optional modules prerequisites are met, a ZIP file containing a subset of Apache SIS modules and dependencies is automatically built in the optional/build/bundle/ sub-directory. That ZIP file can be unzipped in any directory and the application is launched by running the ./bin/sisfx script.

Getting Started

Information for running a command-line tool or an optional JavaFX application can be found on the web site. Java code examples for some common tasks are given in the How to… pages. Complete API can be browsed in online Javadoc.

License (see also LICENSE)

Collective work: Copyright 2010-2023 The Apache Software Foundation.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Some Apache SIS subcomponents have dependencies subject to different license terms. All those dependencies except GeoAPI, JSR-385 and JAXB API are optional. Your use of those dependencies is subject to the terms and conditions of the licenses listed in the NOTICE file.

Mailing Lists

Discussion about SIS takes place on the following mailing lists:

Notification on all changes are sent to the following mailing lists:

The mailing lists are open to anyone and publicly archived. You can subscribe the mailing lists by sending a message to LIST-subscribe@sis.apache.org (for example user-subscribe@…). To unsubscribe, send a message to LIST-unsubscribe@sis.apache.org. For more instructions, send a message to LIST-help@sis.apache.org.

Issue Tracker

If you encounter errors in SIS or want to suggest an improvement or a new feature, please visit the SIS issue tracker. There you can also find the latest information on known issues and recent bug fixes and enhancements.