APACHE SIS
Discover the Java library the EXAMIND suite is built on
Apache Spatial Information System (SIS) is a free software Java library for developing geospatial applications. SIS provides data structures for geographic features and associated metadata, along with methods to manipulate those data structures. The library is an implementation of the GeoAPI 3.0.2 interfaces and can be used for desktop or server applications. The SIS metadata module allows the creation of metadata objects that comply with the OGC/ISO international standards model. The SIS referencing module enables the construction of data structures for coordinate reference system definitions, together with the associated operations that transform coordinates between different reference systems. The SIS storage modules provide a common approach to reading and writing metadata, features and coverages, applicable to simple imagery as well as to multidimensional data structures. SIS offers processing functions such as multi-threaded raster reprojection and isoline computation from raster data. The APIs and data encodings follow international standards wherever they are available.
More about the international standards and the features supported by Apache SIS:
Raster formats
- Reading the NetCDF-3 Classic and 64-bit Offset formats.
- Reading GeoTIFF or Cloud Optimized GeoTIFF (COG), including the BigTIFF extension.
- Reading Landsat data (groups of GeoTIFF files).
- Reading the ESRI BIL/BIP/BSQ formats, and reading/writing ESRI ASCII grids.
- Reading/writing World Files with any image format supported by Image I/O.
Feature formats
- Reading Moving Features files encoded as comma-separated values (CSV).
- Reading Moving Features files encoded in netCDF.
- Reading/writing GPX files (an XML schema for GPS data).
- Reading features from SQL spatial databases by analysing the database schema.
Geographic metadata (ISO 19115)
- Reading ISO 19115 metadata from every raster and feature format listed above.
- Reading and writing XML documents conforming to ISO 19115-3 (the current standard) or ISO 19139 (the legacy standard).
- Automatic conversions between the legacy metadata model published in 2003 and the revision published in 2014.
Units of measurement
- An implementation of JSR-363 with unit parsing, formatting and conversion capabilities.
- The same implementation is available as a small standalone project.
Referencing by coordinates (ISO 19111)
- Reading and writing Well Known Text (WKT) versions 1 and 2 (ISO 19162).
- Reading and writing Geographic Markup Language (GML) version 3.2 (ISO 19136).
- Use of the EPSG geodetic database for geodetic definitions and coordinate operations.
- More than 6000 coordinate reference systems supported.
- Supported operation methods: Mercator, Transverse Mercator, Lambert Conic Conformal, stereographic, and more.
Referencing by identifiers (ISO 19112)
- Geohashes (a simple encoding of geographic coordinates into short strings of letters and digits).
- Military Grid Reference System (MGRS), also used in some civilian contexts.
Processing
- Multi-threaded raster reprojection.
- Multi-threaded isoline computation from raster data.
- Feature filtering based on the ISO 19143 conceptual model.

The latest SIS release is 1.4, published in October 2023, and can be downloaded as zip files or through Maven dependencies. The EPSG geodetic dataset is optional for licensing reasons, but recommended. Installing the EPSG database is described on a dedicated page. This release of Apache SIS requires Java 11 or later and uses the Java Platform Module System (JPMS). Applications must therefore declare the SIS JAR files on their module-path rather than their class-path, although a compatibility mechanism still allows SIS to be used on the class-path. Note that this class-path compatibility may be removed in future releases. Apache SIS is a Java library intended to be used by other applications. To take full advantage of SIS's capabilities, or to obtain the best performance, users should develop their own SIS-based applications. The developer guide, the online Javadoc and the recommended code patterns page provide instructions for developing with SIS. A command-line tool and a JavaFX application are also provided, however, so that users can experiment with some of SIS's features before writing any code.