[AIXM-432] Remove decimals limitation on vertical distances
ID: | AIXM-432 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 24 OCT 2019 |
status: | APPROVED |
Description
Modify the pattern imposed on ValDistanceVerticalBaseType to allow more than 4 decimals.
Rationale for change
See https://aixmccb.atlassian.net/browse/AIXM-375
Obstacle elevations are sometimes published with decimals - especially in electronic sources. Inherited from AIXM 4.5, the pattern imposed on ValDistanceVerticalBaseType does not allow more than 4 decimals: “((+|-){0,1}[0-9]{1,8}(\.[0-9]{1,4}){0,1})|UNL|GND|FLOOR|CEILING”
Although from an operational point of view it does not make much sense to provide elevation values with millimeter resolution, it is better to not impose resolution limitations in the AIXM schema. The other 'distance' data types do not have such limitations.
Removing this limitation would allow coding the data in AIXM as received from the originator/surveyor, who usually provides between 5-6 decimals. Auditing the data would be easier in terms of traceability.
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
The regular expression for ValDistanceVerticalBaseType is modified to allow unlimited decimals.
In the UML model:
- Modify the ValDistanceVerticalBaseType pattern as follows:
- ((\+|\-){0,1}[0-9]{1,8}(\.[0-9]{1,}){0,1})|UNL|GND|FLOOR|CEILING
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
Not applicable.
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
[MAPC-06] The following algorithm shall be applied:
- For each of the following elements values with more than 4 decimals shall be rounded to the nearest (half up) to 4 positions behind the decimal point:
- AerialRefuellingAnchor/refuellingBaseLevel ,
- AirportHeliport/fieldElevation,
- AirportHeliport/ fieldElevationAccuracy
- AirportHeliport/transitionAltitude
- AirspaceLayer/upperLimit ,
- AirspaceLayer/lowerLimit ,
- AirspaceVolume/upperLimit ,
- AirspaceVolume/maximumLimit ,
- AirspaceVolume/lowerLimit ,
- AirspaceVolume/minimumLimit ,
- AltitudeAdjustment/altitudeAdjustment ,
- AngleIndication/minimumReceptionAltitude ,
- ApproachAltitudeTable/altitude,
- ApproachDistanceTable/valueHAT ,
- ArrivalLeg/upperLimitAltitude ,
- ArrivalLeg/lowerLimitAltitude ,
- ArrivalLeg/altitudeOverrideATC ,
- ArrivalFeederLeg/upperLimitAltitude ,
- ArrivalFeederLeg/lowerLimitAltitude ,
- ArrivalFeederLeg/altitudeOverrideATC ,
- CheckpointINS/upperLimit ,
- CheckpointINS/lowerLimit ,
- CheckpointVOR/upperLimit ,
- CheckpointVOR/lowerLimit ,
- CircleSector/upperLimit ,
- CircleSector/lowerLimit ,
- DepartureArrivalCondition/minimumEnrouteAltitude ,
- DepartureArrivalCondition/minimumCrossingAtEnd ,
- DepartureArrivalCondition/maximumCrossingAtEnd ,
- DepartureLeg/minimumObstacleClearanceAltitude ,
- DepartureLeg/upperLimitAltitude ,
- DepartureLeg/lowerLimitAltitude ,
- DepartureLeg/altitudeOverrideATC ,
- DistanceIndication/minimumReceptionAltitude ,
- ElevatedCurve/elevation ,
- ElevatedPoint/elevation ,
- ElevatedSurface/elevation ,
- EquipmentUnavailableAdjustmentColumn/visibilityAdjustment ,
- FlightRestrictionLevel/upperLevel ,
- FlightRestrictionLevel/lowerLevel ,
- FinalLeg/upperLimitAltitude ,
- FinalLeg/lowerLimitAltitude ,
- FinalLeg/altitudeOverrideATC ,
- Glidepath/rdh ,
- Glidepath/rdhAccuracy ,
- HoldingAssessment/upperLimit ,
- HoldingAssessment/lowerLimit ,
- HoldingPattern/upperLimit ,
- HoldingPattern/lowerLimit ,
- HoldingUse/instructedAltitude ,
- InitalLeg/upperLimitAltitude ,
- InitalLeg/lowerLimitAltitude ,
- InitalLeg/altitudeOverrideATC
- IntermediateLeg/upperLimitAltitude ,
- IntermediateLeg/lowerLimitAltitude ,
- IntermediateLeg/altitudeOverrideATC
- Minima/altitude ,
- Minima/height ,
- Minima/militaryHeight ,
- Minima/radioHeight ,
- MissedApproachGroup/alternateClimbAltitude ,
- MissedApproachLeg/heightMAPT ,
- MissedApproachLeg/upperLimitAltitude,
- MissedApproachLeg/lowerLimitAltitude ,
- MissedApproachLeg/altitudeOverrideATC ,
- NavigationArea/minimumCeiling ,
- NavigationSystemCheckpoint/upperLimit ,
- NavigationSystemCheckpoint/lowerLimit ,
- ObstacleAssessmentArea/assessedAltitude ,
- ObstacleAssessmentArea/slopeLowerAltitude ,
- Obstruction/minimumAltitude,
- RouteSegment/upperLimit ,
- RouteSegment/lowerLimit ,
- RouteSegment/minimumObstacleClearanceAltitude ,
- RouteSegment/minimumEnrouteAltitude ,
- RouteSegment/minimumCrossingAtEnd ,
- RouteSegment/maximumCrossingAtEnd,
- RunwayDirection/elevationTDZ,
- SectorDesign/terminationAltitude ,
- SegmentLeg/upperLimitAltitude,
- SegmentLeg/lowerLimitAltitude,
- SegmentLeg/altitudeOverrideATC
- StandardLevel/verticalDistance ,
- SurveillanceRadar/verticalCoverageAltitude ,
- UnplannedHolding/authorizedAltitude,
- VisualGlideSlopeIndicator/minimumEyeHeightOverThreshold
- Add an annotation.Note associated to the affected feature
- purpose=“OTHER:BACKWARD_MAPPING”;
- propertyName = affected property
- translatedNote.LinguisticNote.note= “Value has been rounded. Original value is: [original value].”
Mapping example
Maping 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) |
---|---|