Details
-
Type:
Sub-task
-
Status:
Closed
-
Priority:
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 :
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
| This issue is related to: | ||||
| GEO-62 | Add a GeodeticCRS interface as specified in latest ISO 19111 revision |
|
|
|
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".