GeoTools : Refactor OpenGIS



GeoTools is currently using GeoAPI 2.3-M2; this proposal is to copy the contents of both geoapi and geoapi-pending into a new gt-opengis module. The license information (in the pom.xml) is updated to point to the OGC license terms.

Please see the zip attached to the above JIRA issue for details; this proposal is needed to allow XPath NamespaceSupport to proceed efficiently.

IMPORTANT: This does not represent any API change


The JIRA issue GEOT-3364 above considered two alternatives:

  • (tick) Copy over both geoapi and geoapi-pending; this represents bowing out of the GeoAPI project.
  • (error) Copy over just the contents of the 2.3-M2 geoapi-pending. These represent unofficial interfaces that we are not going to have the political will to push through the geoapi process. Leaving the door open to further involvement with GeoAPI; and maintaining support of the official GeoAPI "opengis" packages.

Related discussion:

  • (error) Combine with gt-api module; this was rejected as gt-api depends on coverage interfaces defined by gt-coverage (thus needing gt-referencing and gt-metadata)
  • (error) Moving the interfaces into the module they are associated with; such as the coverage interfaces with gt-coverage. This was prevented due to dependencies between referencing and coverage interfaces.
  • (error) Combining the GeoAPI interfaces with the "utility" classes from gt-metadata resulting in a single jar for integration and interfaces. A separation of concerns was requested - and a clear module for opengis interfaces.
  • (error) Moving the gt-opengis package into our "ogc" packages to match the organisation responsible. This is good match as the contents of this directory all represent material under the OGC banner and license. This was rejected as it hid core interfaces and abstraction out of sight.


This proposal has been updated in response to email discussion and is ready for voting:



no progress






lack mandate/funds/time


volunteer needed

  1. JG: Review and apply associated patch (ie creating a new gt-geoapi module; and changing the pom.xml dependencies).
    • (error) Patch was based on geoapi-2.3-M2; we need to use 2.3-M1
    • (tick) Reproduce patch from 2.3-M1
    • (tick) Updated headers and include OGC license
  2. (error) Look into combining with gt-api so we have a single module of interfaces
    • Use of ReferencedEnvelope depends on the CRS utility class preventing this
  3. Remove "deprecations" that were notes of future geoapi plans