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 specifications.
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 examples.
See the wiki page for the roadmap and completion status.
GeoAPI requires Java 10 and Maven 3 for building, but the compilation result can be used with Java 8 or later.
- 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.