GeoAPI

New ISO 19111:2007 interface: CS_GeodeticCS

Details

  • Type: Sub-task Sub-task
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Won't Fix
  • Affects Version/s: 2.3-M1
  • Fix Version/s: 2.3-M1
  • Component/s: referencing
  • Labels:
    None
  • Number of attachments :
    0

Description

ISO 19111:2007 introduced a new interface: GeodeticCS, which should be the parent interface of CartesianCS, EllipsoidalCS and SphericalCS. Once this interface is added, two incompatible changes are needed:

  • The value returned by GeodeticCRS.getCoordinateSystem() needs to be restricted to GeodeticCS type.
  • The CRSFactory.createGeocentricCRS method needs to restrict its cs argument to the GeodeticCS type.

ISO 19111:2007 defines also an EngineeringCS union, which is basically the union of every coordinate system excluding the EllipsoidalCS. We can not set Engineering as the parent interface of CartesianCS (for example) since it would not be accurate to state that the CartesianCS used by a ProjectedCRS is a special kind of EnginneringCS.

Note that ISO 19111:2007 adds also an ImageCS union, which is not needed if we accept to define CartesianCS as a special case of AffineCS like GeoAPI does. We can not set imageCS as the parent interface since it would not make sense to said that the CartesianCS used by a ProjectedCRS is a special kind of imageCS.

Issue Links

Activity

Hide
Martin Desruisseaux added a comment -

Actually the arguments raised in the description against ImageCS and EngineeringCS could also be applied on GeodeticCS: the CartesianCS used by an EngineeringCRS can not be qualified as a special kind of GeodeticCS.

Note that in ISO 19111:2007, all those new constructs are union, not type. Union is a C/C++ concept without direct equivalence in Java.

We may need to close this issue as "will not fix".

Show
Martin Desruisseaux added a comment - Actually the arguments raised in the description against ImageCS and EngineeringCS could also be applied on GeodeticCS: the CartesianCS used by an EngineeringCRS can not be qualified as a special kind of GeodeticCS. Note that in ISO 19111:2007, all those new constructs are union, not type. Union is a C/C++ concept without direct equivalence in Java. We may need to close this issue as "will not fix".
Hide
Martin Desruisseaux added a comment -

We will close this issue as "will not fix" since the new ISO structures are unions, not interfaces, which can not be represented easily in the Java language. We keep the task open until the reasons for this departure have been documented in the specification draft.

Show
Martin Desruisseaux added a comment - We will close this issue as "will not fix" since the new ISO structures are unions, not interfaces, which can not be represented easily in the Java language. We keep the task open until the reasons for this departure have been documented in the specification draft.
Hide
Martin Desruisseaux added a comment -

The unions will not be created, and the raison for the departure will be documented in the specification.

Show
Martin Desruisseaux added a comment - The unions will not be created, and the raison for the departure will be documented in the specification.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved:

Time Tracking

Estimated:
20m
Original Estimate - 20 minutes
Remaining:
20m
Remaining Estimate - 20 minutes
Logged:
Not Specified
Time Spent - Not Specified