OGC 09-083r3
UML Unified Modeling Language XML eXtended Markup Language
1D One
Dimensional
2D Two Dimensional
3D Three Dimensional
nD Multi-Dimensional
4
Copyright © 2009-2011 Open Geospatial Consortium.
OGC 09-083r3
6. A Geographic API in Java
The GeoAPI library formalizes the handling of the types defined in the specification documents for working with geographic information adopted by the International
Organization for Standardization ISO and the Open Geospatial Consortium OGC. Whereas the specifications define data types, methods and relationships using the general
UML notation, the GeoAPI library implements those standards as Java language interfaces or simple classes. The GeoAPI types jointly form an application programming interface API
which provides two groups of developers with a common point of exchange. Developers wishing to implement code which fulfills the requirements of the ISO and OGC
specifications can adopt GeoAPI as a roadmap for their development. Developers wishing to write code which uses the data types defined by the standards can simply call the methods of
the interfaces; they also gain a measure of independence from the particular implementation they are using since another implementation of the API can be swapped without breaking any
calls made to the GeoAPI interfaces.
The structure of the GeoAPI library mirrors the packaging and separation of the different ISO and OGC specifications by grouping different types and functionality in separate Java
language packages.
Figure 1: ISO specifications and GeoAPI packages mapping
The library rests on the
org.opengis.annotation
package which provides the annotation system used to document the origin and obligation level of all methods and types in the
library. These annotations are available through introspection at runtime for any code which wishes to exploit this information. The base of the library is formed by a formal mapping of
the core types used by the ISO and OGC standards to Java equivalents along with extra types
Copyright © 2009-2011 Open Geospatial Consortium.
5