[AIXM-435] Route segment reference to cardinal directions
ID: | AIXM-435 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 24 OCT 2019 |
status: | APPROVED |
Description
Add new attributes to indicate the cardinal directions for the left/right side of a route segment.
Rationale for change
See https://aixmccb.atlassian.net/browse/AIXM-270
The RouteAvailability class allows using cardinal directions in order to indicate the direction in which the RouteSegment may be used. There is no such possibility for the width of the RouteSegment, which currently can be expressed only as left/right. Adding the possibility to also express the width with reference to cardinal directions would facilitate the coding of the data, as it would no longer link it to the order of the start/end points. This can be simply done by adding new attributes to RouteSegment that map ‘left’ and ‘right’ to cardinal directions. Thus, it is proposed to add two new attributes cardinalDirectionLeft and cardinalDirectionRight that indicate which cardinal direction is at the left and at the right of the Route Segment.
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_MAP_LOSS] Data mapping is possible, but some data would be lost (or converted into Notes) 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 UML model, add new attributes to RouteSegment:
- cardinalDirectionLeft of type CodeCardinalDirectionType, definition = “The cardinal direction left side in relation to the route segment when considering the direction from the start point to the end point”.
- cardinalDirectionRight of type CodeCardinalDirectionType, definition = “The cardinal direction right side in relation to the route segment when considering the direction from the start point to the end point”.
The new attributes are visible in the UML class diagram at the right.
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
NIL (Not Applicable).
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
[MAPC-02] From the three backward mapping options applicable in this case, the first two (discard the value or use an extension) are straightforward and do not need any further details. The 3rd option (backward mapping into a Note) is detailed in order to provide a complete description of this case and its conversion option. The following mapping into Note algorithm is proposed:
For each RouteSegment that has a specified cardinalDirectionLeft:
- Remove the cardinalDirectionLeft
- Add an annotation.Note associated with the RouteSegment class having:
- purpose=“OTHER:BACKWARD_MAPPING”
- translatedNote.LinguisticNote.note=”cardinalDirectionLeft: <cardinalDirectionLeft”;
- propertyName = “widthLeft”
For each RouteSegment that has a specified cardinalDirectionRight:
- Remove the cardinalDirectionRight
- Add an annotation.Note associated with the RouteSegment class having:
- purpose=“OTHER:BACKWARD_MAPPING”
- translatedNote.LinguisticNote.note=”cardinalDirectionRight: <cardinalDirectionRight”;
- propertyName = “widthRight”
Mapping example
Example to be added...
(Note: for mapping test data see: https://github.com/aixm/mapping_52_511/tree/master/AIXM-xxx)
AIXM 5.2 | AIXM 5.1(.1) |
---|---|