GeoAPI provides a set of Java and Python language programming interfaces for geospatial applications. The interfaces developed by the GeoAPI project include data structures and manipulation methods needed for geographic information system applications. The GeoAPI interfaces closely follow the abstract models and concrete specifications published collaboratively by the International Organization for Standardization (ISO) in its 19100 series of documents and the Open Geospatial Consortium (OGC) in its abstract and implementation standards.
The current release is GeoAPI 3.0.2, published as an Open Geospatial Consortium standard and available on Maven Central. Development branches on GitHub are "3.1" for GeoAPI 3.1 (backward compatible with GeoAPI 3.0) and "master" for GeoAPI 4.0. The main sub-directories are:
- geoapi contains the normative interfaces proposed for next GeoAPI releases.
- geoapi-pending contains experimental interfaces not yet targeted for a release.
- geoapi-conformance contains a test suite for testing vendor implementations.
- src/main/metanorma contains the GeoAPI specification.
- Other directories are build tools or examples.
See the wiki page for the roadmap and completion status.
GeoAPI development branches require Java 18 and Maven 3 for building, but the compilation result can be run on Java 11. The GeoAPI 3.0 stable release requires only Java 8.
- OGC specification
is built in HTML format with
mvn pre-site -N
.
The output file will be created in thetarget/site/
directory. - Java interfaces
are built as a Java Archive File (JAR) with
mvn install
.
The output file will be created in thegeoapi/target/
directory. - Python interfaces
are located in the
geoapi/src/main/python
sub-directory and do not need to be built.