Normative references Changes to the OGC® Abstract Specification

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