Closed jetgeo closed 7 years ago
Shall the cardinality really be 1..*? Can a geometry have several CRSs? It is 0..1 in the old 19111, did we change this at some point?
From @RogerLott: I have no recollection of us discussing this cardinality. However I have just looked in the revised 19107 where John has it as 1..*. So I presume this cardinality came from that.
19107 says: 6.2.4.3 Attribute rsid: RSID [1..*] In many applications, such as linear reference systems (ISO 19148) and moving features (ISO 19141), extra columns are added to the coordinates for "other" non‐ISO 19111 purposes. The most common practice is to concatenate reference systems, represented by listing an RSID for each component system. Req 24. Each ReferenceSystem object shall have a sequence of RSIDs to identify projected reference systems in it composition. Rec 2. The RSID should follow a general pattern of [spatial axes] ([temporal axes]) ([homogeneous Weight]) ([parameter axes])
I think what John is doing in 19107 here is representing the 19111 compound CRS construct in a different way. As 19111 includes the compound construct, I think the cardinality in 19111 for the association named CoordinateReferenceSystem should be 1. (Then my question goes away).
The 0..1 in the previous version was because you could either have a single point (direct position) or a set of points (geometry) and there were two associations, you could not have both so the cardinality of each had to be 0..1. Now we only show Geometry so I don't think the 0..1 is relevant any more. A single point is a special case of Geometry.
(The cardinality for the association named CoordinateEpoch is correct as 0..1: epoch is only relevant for a dynamic CRS).
So I feel that the relationship to geometry diagram should be changed to have the cardinality on CooordinateReferenceSystem of 1.
OK, done.
Question from @RogerLott: There is a note on the Geometry class "{if … then epoch is mandatory}". The cardinality on the association from Geometry to CRS is 1..*. If there is more than one CRS, does this constraint work on every one of them?