[AIXM-617] Not allowed to specify srsName in Feature Envelope
ID: | AIXM-617 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 21 NOV 2024 |
status: | APPROVED |
Description
The possibility to specify the srsName in an AIXM Feature Envelope object is removed from the GML Profile.
Rationale for change
See https://aixmccb.atlassian.net/browse/AIXM-612
The current GML Profile (OGC 12028-r1) states that AIXM applies the standard GML rules for the provision of srsName values: The CRS is either defined directly on the geometry element using the srsName attribute or is derived from the larger context the geometry is part of.
Practically, the srsName attribute can be specified:
- for each geometry element that has this attribute (gml:Curve, gml:Point, gml:Surface and their AIXM specializations, such as aixm:Point, etc.)
- on an ancestor (such as gml:Surface ancestor of gml:Curve)
- on the gml:boundedBy/gml:Envelope property of the AIXM feature that contains the geometrical element
- on the gml:boundedBy/gml:Envelope property of the AIXM feature collection (AIXM-BasicMessage) that contains the feature that contains the geometrical element.
Experience gathered with the AIXM implementations has led to a proposal to reduce these possibilities, as each of them requires specific data processing rules. From the possibilities specified above, the 1st and the 2nd (GML element level) are widely used in AIXM data sets and need to be preserved. The 4th possibility is considered useful as it can both indicate that all data in a data set is “WGS-84 compliant” and can also reduce the file size, be no longer repeating the srsName for each GML geometry).
The 3rd one (gml:Envelope of the AIXM Feature) is considered of low interest, as it adds complexity to the AIXM data sets, while most AIXM features have a single GML geometrical property and the srsName could be specified with equal benefit at that level. Therefore, it is proposed to remove the possibility to specify the srsName at the level of the AIXM feature gml:boundedBy/gml:Envelope element.
Impact assessment
[FWD_MAP_1:1] Data mapping is possible and no data loss occurs when data is exchanged from a system (A) that uses AIXM 5.1.1 for output towards a system (B) that uses AIXM 5.2 for input.
[BWD_1:1] No data mapping is necessary and no data loss occurs when data is exchanged from a system (B) that uses AIXM 5.2 for output towards a system (A) that uses AIXM 5.1.1 for input.
Change Proposal details
In the new Geography Markup Language (GML) profile for AIXM applications document, Annex A - GML Profile definition
- For the following elements / types add this note “If not specified for this element, the srsName can be inherited (in this order) from a higher-level containing GML element (ancestor) that has a specified srsName or from the gml:boundedBy/gml:Envelope of the whole data set (GML feature collection).”
- gml:Point
- gml:Curve
- gml:Surface
- aixm:Point
- aixm:ElevatedPoint
- aixm:Curve
- aixm:ElevatedCurve
- aixm:Surface
- aixm:ElevatedSurface
- gml:Ring
- gml:LineString
- gml:OrientableCurve
- gml:CompositeCurve
- gml:pos
- gml:posList
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
[MAPC-01] For each AIXM feature that has a value for its gml:boundedBy/gml:Envelope@srsName attribute:
- for each first descendant element of type gml:Point, gml:Curve, gml:Surface, aixm:Point, aixm:Curve, aixm:Surface, aixm:ElevatedPoint, aixm:ElevatedCurve or aixm:ElevatedSurface:
- if the element identified does not have @srsName attribute value, then copy the @srsName attribute of the gml:boundedBy/gml:Envelope@srsName;
- otherwise, do nothing;
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
Not applicable.
Mapping example
(Note: for mapping test data see: https://github.com/aixm/mapping_52_511/tree/master/AIXM-xxx)
AIXM 5.2 | AIXM 5.1(.1) |
---|---|