Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade from ISO 19111:2007 to 19111:2019 #72

Open
desruisseaux opened this issue Nov 12, 2021 · 1 comment
Open

Upgrade from ISO 19111:2007 to 19111:2019 #72

desruisseaux opened this issue Nov 12, 2021 · 1 comment
Assignees
Milestone

Comments

@desruisseaux
Copy link
Contributor

Upgrade Java interfaces in the org.opengis.referencing package and sub-packages in conformance with 2019 revision of ISO 19111. The Python interfaces added by #55 may need to be upgraded as well.

@desruisseaux desruisseaux self-assigned this Aug 10, 2023
@desruisseaux desruisseaux added this to the 3.1 milestone Aug 10, 2023
desruisseaux added a commit that referenced this issue Aug 10, 2023
Increase the default version number of Specification.ISO_19111
and add an explicit `version=2007` on existing interfaces.

This annotation change will help us to keep a trace of which
interfaces are done and which ones still need to be upgraded.

#72
desruisseaux added a commit that referenced this issue Apr 4, 2024
This is a first round (incomplete) of upgrade to ISO 19111:2019.

#72
@desruisseaux
Copy link
Contributor Author

Omitted types and properties

The following elements were intentionally omitted because they overlap with Java standard API or other API:

  • GeodeticCS, EngineeringCS and DerivedProjectedCS interfaces:
    omitted because they are union rather than interfaces.
  • DerivedGeodeticCRS, DerivedGeographicCRS, DerivedVerticalCRS, DerivedParametricCRS, DerivedTemporalCRS, DerivedEngineeringCRS and DerivedProjectedCRS interfaces:
    replaced by multi-inheritance of interfaces in the implementer classes.
  • TemporalMeasureCS, DateTimeTemporalCS, TemporalCountCS and OrdinalCS interfaces:
    omitted because they duplicate the TemporalCS.coordinateType property.
  • TemporalDatum.calendar property:
    replaced by use of java.time API in the origin property.
  • Calendar code list:
    omitted as a consequence of above replacement.
  • DataEpoch interface:
    replaced by the java.time.Temporal interface.
  • DefiningParameter interface:
    omitted because GeoAPI tries to use a unified parameter API.
  • GeographicObject interface:
    we suggest to use org.opengis.geometry.Geometry instead, but this is not mandated by the API.

The following elements were omitted because we are not sure what is best way to integrate them. However, those elements will need to be integrated somehow in a future version:

  • GeodeticCRS.definingTransformation
  • GeodeticCRS.velocityModel
  • VerticalCRS.geoidModel
  • VerticalCRS.velocityModel

Non-conform types and properties

The following interfaces need to be renamed. This is not yet done for compatibility reason. A possible strategy would be to rename them in GeoAPI 4 only.

  • TimeCSTemporalCS.
  • GeodeticDatumGeodeticReferenceFrame
  • VerticalDatumVerticalReferenceFrame

The following are departures from ISO 19111:2019. Since they may need discussion in CRS SWG, it may be safer to omit then in a GeoAPI release:

  • DynamicGeodeticReferenceFrame and DynamicVerticalReferenceFrame replaced by a single DynamicReferenceFrame interface.
  • ObjectUsage interface omitted in favor of moving the domain property into IdentifiedObject.
  • Datum.publicationDate property type set to ISO 19115 CitationDate instead of Date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant