Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


ID:

AIXM-431

target version:

AIXM 5.2

version:

1.0

last updated:

04 JUL 2023

status:

APPROVED




Table of Contents
printablefalse


Description

The existing AngleIndication and DistanceIndication features become <<object>> classes and are renamed Angle and Distance respectively. As a consequence, relationships with PointReference, SegmentPoint, DesignatedPoint and SignificantPoint are modified/added/deleted. Additional vertical limitation attributes are added in the PointReference class.

Rationale for change

See https://aixmccb.atlassian.net/browse/AIXM-181

As explained in the “AIXM UML to XML Schema Mapping”, AIXM <<feature>> classes are fundamental in AIXM. They can correspond to concrete and tangible real-world objects or to abstract and conceptual items. AIXM Features have properties that can change in time. These properties are encapsulated into classes with stereotype <<object>>, which do not exist independently (outside of a feature).

In the current model, AngleIndication and DistanceIndication are declared as <<feature>>. The following UML class diagrams show their attributes and associations (except association with Note). As the two classes have similar associations, the AngleIndication and DistanceIndication are shown “overlapped”.

Considering their current relationships with PointReference and the SegmentLeg specialisations, the Angle/DistanceIndication exist only when they are used to locate the position of a start/end segment point or as trajectory limitations for a procedure leg. In these cases, they are de-facto “objects” (complex properties of the related features). The only exception is the association “locates DesignatedPoint”, which could theoretically allow to provide fix information for a point, independent from its use as segment point. However, this also has a significant limitation, as the AngleIndication and DistanceIndication are separated features, which cannot be combined to provide a “significant point fix” information. Further more, the circular association Angle/DistanceIndication → (fix) DesignatedPoint ← (locates) PointReference → (isBasedOn) Angle/DistanceIndication could be easily misused for illogical combinations of angle/distance referring to different points.

Many AIXM 5.1 users complain that creating a feature for each AngleIndication and DistanceIndication is an unnecessary complication because they are typically used for a single PointReference or SegmentLeg. In addition, their properties do not give any convenient set of identifying properties, which makes it difficult to select the correct one to use in a given context.

Therefore, it is proposed that AngleIndication and DistanceIndication are replaced with equivalent <<object>> classes, while the current model capabilities are preserved.

Also, the PointReference was missing the possibility to specify a minimum and a maximum usage level, which result from the combination of angle/distance indication and the level at which the navaid signal is available or authorised. These attributes are proposed to be added.

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 AIXM UML model,

  • Rename the class AngleIndication into Angle and:
    • change its stereotype from <<feature>> into <<object>>;
    • change the definition of the following attributes:
      • angle = “The angle between the bearing and the North reference”;
      • angleType = “A code indicating the direction of the zero bearing
      • trueAngle = “The angle between the bearing and the True North reference”;
    • delete the association Angle locates (fix) DesignatedPoint
  • Rename the class DistanceIndication into Distance and:
    • change its stereotype from <<feature>> into <<object>>;
    • delete the association Distance locates (fix) DesignatedPoint
  • Modify PointReference, as follows:
    • Attributes:
      • Add minimumReceptionLimit, type ValDistanceVerticalType, definition = ‘The lowest vertical distance required to receive adequate signals from navigational aids used to locate a significant point.”
      • Add minimumReceptionLimitReference, type CodeVerticalReferenceType definition = “A code which defines the reference surface for the minimum reception limit.”
      • Add maximumAuthorisedLimit, type ValDistanceVerticalType, definition = “The highest vertical distance where a point reference may be used to locate a significant point. ”
      • Add maximumAuthorisedLimitReference, type CodeVerticalReferenceType, definition = “A code which defines the reference surface for the maximum authorised limit.”
    • Associations
      • Delete association PointReference locates DesignatedPoint
      • modify the association PointReference isBasedOnAngle Angle as follows:
        • change its aggregation mode into “composite” on the PointReference side;
        • change the role name on the Angle side into angleReference
      • modify the association PointReference isBasedOnDistance Distance as follows:
        • change its aggregation mode into “composite” on the PointReference side;
        • change the role name on the Distance side into distanceReference
  • In the DesignatedPoint class
    • add composition relationship DesignatedPoint isLocatedBy PointReference with
      • PointReference role "fix" (definition = "The point reference occurs at (locates) DesignatedPoint."), multiplicity 0..*
  • In the SegmentLeg class:
    • modify the association SegmentLeg isLimitedBy Angle as follows:
      • change its aggregation mode into “composite” on the SegmentLeg side;
      • change the role name on the Angle side into limitingAngle;
    • modify the association SegmentLeg isLimitedBy DistanceIndication as follows:
      • change its aggregation mode into “composite” on the SegmentLeg side;
      • change the role name on the Distance side into limitingDistance;

The following UML class diagram shows the new, modified and deleted model elements for the AngleIndication part:

The following UML class diagram shows the new, modified and deleted model elements for the DistanceIndication part:

Mapping AIXM 5.1.1 to AIXM 5.2 (forward)

The following algorithm shall be applied:

  • For each AngleIndication:
    • if it has a child element DesignatedPoint, then:
      • [MAPC-07] Find the corresponding (referencing) Designated Point and:
        • if necessary, apply the “timeSlice alignment” procedure described for this mapping case;
        • add PointReference.angleReference.AngleUse.theAngle.Angle descendant elements with the Angle element having:
          • gml:identifier value concatenated as value of the DesignatedPoint.gml:identifier and AngleIndication.gml:identifier value
            • note: this concatenation will prevent the risk of colliding gml:identifiers for different AngleIndication elements, in case of a circular mapping (AIXM 5.1 -> 5.2 -> 5.1);
          • angle, angleType, indicationDirection, trueAngle, cardinalDirection, minimumReceptionAltitude elements and pointChoice_* value copied from the AngleIndication element
        • if it is referenced by a DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg through a child angle element:
          • [MAPC-07] Find the corresponding (referencing) DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg element and:
            • if necessary, apply the “timeSlice alignment” procedure described for this mapping case;
            • rename the angle into limitingAngle and:
              • remove its xlink:href attribute
              • add an Angle child element having:
                • gml:identifier value concatenated as value of the *Leg.gml:identifier and AngleIndication.gml:identifier value
                  • note: this concatenation will prevent the risk of colliding gml:identifiers for different AngleIndication elements, in case of a circular mapping (AIXM 5.1 -> 5.2 -> 5.1);
                • angle, angleType, indicationDirection, trueAngle, cardinalDirection, minimumReceptionAltitude elements and pointChoice_* value copied from the AngleIndication element
              • if it is referenced by PointReference
                • which may be a descendant of one of the following <<feature>> elements:
                  • DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg
                    • .endPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .startPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .arcCentre.TerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                  • FinalLeg
                    • .visualDescentPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                  • RouteSegment
                    • .start.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .end.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityAngle
                  • HoldingPattern
                    • .outboundLegSpan_endPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .outboundLegSpan_endPointTerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .outboundLegSpan_endPoint.AerialSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint. EnRouteSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint. AerialSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityAngle
                    • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.facilityAngle
                    • .anchor.AerialRefuellingAnchor.point.AerialRefuellingPoint.facilityMakeup.PointReference.facilityAngle
                    • .track.AerialRefuellingTrack.point.AerialRefuellingPoint.facilityMakeup.PointReference.facilityAngle
                  • [MAPC-07] For each <feature> element and the corresponding branch identified above:
                    • if necessary, apply the “timeSlice alignment” procedure described for this mapping case;
                    • rename the facilityAngle into angleReference and modify its theAngle child element as follows:
                      • remove the xlink:href attribute
                      • add an Angle child element having:
                        • gml:identifier value concatenated as value of the <feature>*.gml:identifier and AngleIndication.gml:identifier value
                          • note: this concatenation will prevent the risk of colliding gml:identifiers for different AngleIndication elements, in case of a circular mapping (AIXM 5.1 -> 5.2 -> 5.1);;
                        • angle, angleType, indicationDirection, trueAngle, cardinalDirection, minimumReceptionAltitude elements and pointChoice_* value copied from the AngleIndication element
                      • remove the AngleIndication element.
                    • For each DistanceIndication:
                      • if it has a child element DesignatedPoint, then:
                        • [MAPC-07] Find the corresponding (referencing) Designated Point and:
                          • if necessary, apply the “timeSlice alignment” procedure described for this mapping case;
                          • add PointReference.distanceReference.Distance descendant elements with the Distance element having:
                            • gml:identifier value concatenated as value of the DesignatedPoint.gml:identifier and DistanceIndication.gml:identifier value
                              • note: this concatenation will prevent the risk of colliding gml:identifiers for different DistanceIndication elements, in case of a circular mapping (AIXM 5.1 -> 5.2 -> 5.1);
                            • distance, minimumReceptionAltitude, type elements and pointChoice_* value copied from the DistanceIndication element
                          • if it is referenced by a DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg through a child distance element:
                            • [MAPC-07] Find the corresponding (referencing) DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg element and:
                              • if necessary, apply the “timeSlice alignment” procedure described for this mapping case;
                              • rename the distance into limitingDistance and:
                                • remove its xlink:href attribute
                                • add a Distance child element having:
                                  • gml:identifier value concatenated as value of the *Leg.gml:identifier and DistanceIndication.gml:identifier value
                                    • note: this concatenation will prevent the risk of colliding gml:identifiers for different DistanceIndication elements, in case of a circular mapping (AIXM 5.1 -> 5.2 -> 5.1);
                                  • distance, minimumReceptionAltitude, type elements and pointChoice_* value copied from the DistanceIndication element
                                • if it is referenced by PointReference
                                  • which may be a descendant of one of the following <<feature>> elements:
                                    • DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, and ArrivalFeederLeg
                                      • .endPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .startPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .arcCentre.TerminalSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                    • FinalLeg
                                      • .visualDescentPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                    • RouteSegment
                                      • .start.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .end.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                    • HoldingPattern
                                      • .EnRouteSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .outboundLegSpan_endPointTerminalSegmentPoint.facilityMakeup.PointReference facilityDistance
                                      • .outboundLegSpan_endPoint.AerialSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .holdingPoint. EnRouteSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .holdingPoint. AerialSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                    • HoldingAssessment
                                      • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.facilityDistance
                                    • UnplannedHolding
                                      • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.facilityDistance
                                      • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.facilityDistance
                                    • AerialRefuelling
                                      • .anchor.AerialRefuellingAnchor.point.AerialRefuellingPoint.facilityMakeup.PointReference. facilityDistance
                                      • .track.AerialRefuellingTrack.point.AerialRefuellingPoint.facilityMakeup.PointReference.facilityDistance
                                    • [MAPC-07] For each <feature> element and the corresponding branch identified above:
                                      • if necessary, apply the “timeSlice alignment” procedure described for this mapping case;
                                      • rename the facilityDistance into distanceReference and modify it as follows:
                                        • remove the xlink:href attribute
                                        • add a Distance child element having:
                                          • gml:identifier value concatenated as value of the <feature>*.gml:identifier and DistanceIndication.gml:identifier value
                                            • note: this concatenation will prevent the risk of colliding gml:identifiers for different DistanceIndication elements, in case of a circular mapping (AIXM 5.1 -> 5.2 -> 5.1);
                                          • distance, minimumReceptionAltitude, type elements and pointChoice_* value copied from the DistanceIndication element
                                        • remove the AngleIndication element.

                                        Mapping AIXM 5.2 to AIXM 5.1.1 (backward)

                                        The following algorithm shall be applied:

                                        • ****Note: see [AIXM-404] Add <<object>> persistent identifiers. It is assumed that, in order to facilitate the backward mapping, the Angle and Distance objects will have their own unique gml:identifier (UUID) value.
                                        • For each Angle element:
                                          • [MAPC-07] Create an AngleIndication <<feature>> element that retains all its child/descendant elements, including the gml:identifier value and:
                                            • copy the parent’s feature validTime and lifetime values for the new AngleIndication feature
                                            • if the parent element is a limitingAngle of a DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg:
                                              • rename the parent limitingAngle into angle and:
                                                • copy the value of the Angle.gml:identifier into angle@xlink:href
                                                • delete the Angle element
                                              • if the parent element is an angleReference
                                                • which is the descendant of one of the following <feature> elements:
                                                • DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg
                                                • .endPoint.TerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .startPoint.TerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .arcCentre.TerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                              • FinalLeg
                                                • .visualDescentPoint.TerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                              • EnrouteSegment
                                                • .start.EnRouteSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .end.EnRouteSegmentPoint.facilityMakeup.PointReference.angleReference
                                              • HoldingPattern
                                                • .outboundLegSpan_endPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .outboundLegSpan_endPointTerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .outboundLegSpan_endPoint.AerialSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint. EnRouteSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint. AerialSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.angleReference
                                                • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.angleReference
                                                • .anchor.AerialRefuellingAnchor.point.AerialRefuellingPoint.facilityMakeup.PointReference.angleReference
                                                • .track.AerialRefuellingTrack.point.AerialRefuellingPoint.facilityMakeup.PointReference.angleReference
                                                • rename the ancestor angleReference into facilityAngle and:
                                                  • copy the value of the Angle.gml:identifier into facilityAngle.AngleUse.theAngleIndication@xlink:href
                                                  • delete the Angle element
                                                • If the parent element is an angleReference which is the descendant of a DesignatedPoint:
                                                  • Add a fix child element to the newly created AngleIndication that has @rxlink:href value copied from the DesignatedPoint’s gml:identifier’
                                                  • [MAPC-02] If the fix.PointReference has other child elements than just the angleReference, then from the three backward mapping options available 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:
                                                • Add an annotation.Note associated with the AngleIndication
                                                • purpose=“OTHER:BACKWARD_MAPPING”;
                                                • LinguisticNote.note = “role: <value of role>, priorFixTolerance: <value of priorFixTolerance>, postFixTolerance: <value of postFixTolerance>, minimumReceptionLimit: <value of minimumReceptionLimit>, minimumReceptionLimitReference: <value of minimumReceptionLimitReference>, maximumAuthorisedLimit: <value of maximumAuthorisedLimit>, maximumAuthorisedLimitReference: <value of maximumAuthorisedLimitReference>, alongCourseGuidance: <value of AngleUse.alongCourseGuidance>”
                                                  • Remove the fix object from the DesignatedPoint


                                        • For each Distance element:
                                          • Create a DistanceIndication <<feature>> element that retains all its child/descendant elements, including the gml:identifier value and:
                                            • copy the parent’s feature validTime and lifetime values for the new DistanceIndication feature
                                            • if the parent element is a limitingDistance of a DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, or ArrivalFeederLeg:
                                              • rename the parent limitingDIstance into distance and:
                                                • copy the value of the Distance.gml:identifier into distance@xlink:href
                                                • delete the Distance element
                                              • if the parent element is an distanceReference
                                                • which is the descendant of one of the following <feature> elements :
                                                  • DepartureLeg, ArrivalLeg, FinalLeg, InitialLeg, IntermediateLeg, MissedApproachLeg, and ArrivalFeederLeg
                                                    • .endPoint.TerminalSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .startPoint.TerminalSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .arcCentre.TerminalSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                  • FinalLeg
                                                    • .visualDescentPoint.TerminalSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                  • EnrouteSegment
                                                    • .start.EnRouteSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .end.EnRouteSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                  • HoldingPattern
                                                    • .EnRouteSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .outboundLegSpan_endPointTerminalSegmentPoint.facilityMakeup.PointReference distanceReference
                                                    • .outboundLegSpan_endPoint.AerialSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .holdingPoint. EnRouteSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .holdingPoint. AerialSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                  • HoldingAssessment
                                                    • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.distanceReference
                                                  • UnplannedHolding
                                                    • .holdingPoint.EnRouteSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .holdingPoint.TerminalSegmentPoint.facilityMakeup.PointReference.distanceReference
                                                    • .holdingPoint.AerialRefuellingPoint.facilityMakeup.PointReference.distanceReference
                                                  • AerialRefuelling
                                                    • .anchor.AerialRefuellingAnchor.point.AerialRefuellingPoint.facilityMakeup.PointReference. distanceReference
                                                    • .track.AerialRefuellingTrack.point.AerialRefuellingPoint.facilityMakeup.PointReference.distanceReference
                                                  • rename the ancestor distanceReference into facilityDistance and:
                                                    • copy the value of the Distance.gml:identifier into facilityDistance@xlink:href
                                                    • delete the Distance element
                                                  • If the parent element is a distanceReference which is the descendant of a DesignatedPoint:
                                                • Add a fix child element to the newly created DistanceIndication that has @xlink:href value copied from the DesignatedPoint’s gml:identifier’
                                                • [MAPC-02] If the fix.PointReference has other child elements than just the distanceReference, then from the three backward mapping options available 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:
                                              • Add an annotation.Note associated with the AngleIndication
                                              • purpose=“OTHER:BACKWARD_MAPPING”;
                                              • LinguisticNote.note = “role: <value of role>, priorFixTolerance: <value of priorFixTolerance>, postFixTolerance: <value of postFixTolerance>, minimumReceptionLimit: <value of minimumReceptionLimit>, minimumReceptionLimitReference: <value of minimumReceptionLimitReference>, maximumAuthorisedLimit: <value of maximumAuthorisedLimit>, maximumAuthorisedLimitReference: <value of maximumAuthorisedLimitReference>”
                                                • Remove the fix object from the DesignatedPoint
                                              • [MAPC-02] For each PointReference object (that is not the descendant of a DesignatedPoint) that has minimumReceptionLimit and/or minimumReceptionLimitReference and/or maximumAuthorisedLimit and/or maximumAuthorisedLimitReference values, from the three backward mapping options available 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:
                                              • Add an annotation.Note associated with the owner class having
                                              • purpose=“OTHER:BACKWARD_MAPPING”;
                                              • translatedNote.LinguisticNote.note = “minimumReceptionLimit: <value of minimumReceptionLimit>,  minimumReceptionLimitReference: <value of minimumReceptionLimitReference>, maximumAuthorisedLimit: <value of maximumAuthorisedLimit>, maximumAuthorisedLimitReference: <value of maximumAuthorisedLimitReference>”>

Mapping example

(Note: for mapping test data see: https://github.com/aixm/mapping_52_511/tree/master/AIXM-xxx

AIXM InputAIXM Output

Forward AngleDistance ArrivalLeg 5.1.1 input

message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = LNY

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 20.7645000 -156.9688889

              elevation = 1250 FT

  message:hasMember

    DesignatedPoint

      gml:identifier = bf3264d6-c075-47a3-b0dd-4ecccaffe040

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = CHAIN

          type = ICAO

          name = CHAIN

  message:hasMember

    DesignatedPoint

      gml:identifier = 505a205f-8682-4f82-8f69-d4eba07a047a

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = SOBOW

          type = ICAO

          name = SOBOW

  message:hasMember

    AngleIndication

      gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

      timeSlice

        AngleIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          angle = 359.99

          minimumReceptionAltitude = 2000 FT

          fix =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DistanceIndication

      gml:identifier = c692a79d-52d1-447f-805a-da2ab7cab711

      timeSlice

        DistanceIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          distance = 12.70 NM

          minimumReceptionAltitude = 2000 FT

          fix =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    AngleIndication

      gml:identifier = e27696a1-e89e-42b8-9445-13498379b9a9

      timeSlice

        AngleIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          angle = 278

          minimumReceptionAltitude = 5000 FT

          fix =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DistanceIndication

      gml:identifier = e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

      timeSlice

        DistanceIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          distance = 13 NM

          minimumReceptionAltitude = 5000 FT

          fix =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    ArrivalLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        ArrivalLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = ARC

          startPoint

            TerminalSegmentPoint

              facilityMakeup

                PointReference

                  facilityAngle

                    AngleUse

                      theAngleIndication =  #uuid.f7b8682a-cc39-42d4-b9d4-21717d652cb6

                  facilityDistance =  #uuid.c692a79d-52d1-447f-805a-da2ab7cab711

              pointChoice_fixDesignatedPoint =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          endPoint

            TerminalSegmentPoint

              facilityMakeup

                PointReference

                  facilityAngle

                    AngleUse

                      theAngleIndication =  #uuid.e27696a1-e89e-42b8-9445-13498379b9a9

                  facilityDistance =  #uuid.e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

              pointChoice_fixDesignatedPoint =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          arcCentre

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          distance =  #uuid.e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

______________________________________________________

Backward AngleDistance ArrivalLeg 5.2 input

message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = LNY

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 20.7645000 -156.9688889

              elevation = 1250 FT

  message:hasMember

    DesignatedPoint

      gml:identifier = bf3264d6-c075-47a3-b0dd-4ecccaffe040

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = CHAIN

          type = ICAO

          name = CHAIN

          fix

            PointReference

              minimumReceptionLimit = 0

              minimumReceptionLimitReference = MSL

              maximumAuthorisedLimit = 2000 FT

              maximumAuthorisedLimitReference = OTHER

              distanceReference

                Distance

                  gml:identifier = c692a79d-52d1-447f-805a-da2ab7cab711

                  distance = 12.70 NM

                  minimumReceptionAltitude = 2000 FT

                  pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

              angleReference

                AngleUse

                  theAngle

                    Angle

                      gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

                      angle = 359.99

                      minimumReceptionAltitude = 2000 FT

                      pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DesignatedPoint

      gml:identifier = 505a205f-8682-4f82-8f69-d4eba07a047a

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = SOBOW

          type = ICAO

          name = SOBOW

          fix

            PointReference

              minimumReceptionLimit = 5000 FT

              minimumReceptionLimitReference = MSL

              distanceReference

                Distance

                  gml:identifier = e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

                  distance = 13 NM

                  minimumReceptionAltitude = 5000 FT

                  pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

              angleReference

                AngleUse

                  theAngle

                    Angle

                      gml:identifier = e27696a1-e89e-42b8-9445-13498379b9a9

                      angle = 278

                      minimumReceptionAltitude = 5000 FT

                      pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    ArrivalLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        ArrivalLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = ARC

          startPoint

            TerminalSegmentPoint

              pointChoice_fixDesignatedPoint =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          endPoint

            TerminalSegmentPoint

              pointChoice_fixDesignatedPoint =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          arcCentre

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          limitingDistance

            Distance

              gml:identifier = e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

              distance = 13 NM

              minimumReceptionAltitude = 5000 FT

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14
























































______________________________________________________

Forward AngleDistance DepartureLeg 5.1.1 input

message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = AML

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 38.9345939 -77.4667025

              elevation = 781 FT

  message:hasMember

    AngleIndication

      gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

      timeSlice

        AngleIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          angle = 359.99

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DepartureLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        DepartureLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = STRAIGHT

          startPoint

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          angle =  #uuid.f7b8682a-cc39-42d4-b9d4-21717d652cb6

______________________________________________________

Backward AngleDistance DepartureLeg 5.2 input

message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = AML

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 38.9345939 -77.4667025

              elevation = 781 FT

  message:hasMember

    DepartureLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        DepartureLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = STRAIGHT

          startPoint

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          limitingAngle

            Angle

              gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

              angle = 110

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

Forward AngleDistance ArrivalLeg 5.2 output

message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = LNY

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 20.7645000 -156.9688889

              elevation = 1250 FT

  message:hasMember

    DesignatedPoint

      gml:identifier = bf3264d6-c075-47a3-b0dd-4ecccaffe040

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = CHAIN

          type = ICAO

          name = CHAIN

          fix

            PointReference

              distanceReference

                Distance

                  gml:identifier = c692a79d-52d1-447f-805a-da2ab7cab711

                  distance = 12.70 NM

                  minimumReceptionAltitude = 2000 FT

                  pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

              angleReference

                AngleUse

                  theAngle

                    Angle

                      gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

                      angle = 359.99

                      minimumReceptionAltitude = 2000 FT

                      pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DesignatedPoint

      gml:identifier = 505a205f-8682-4f82-8f69-d4eba07a047a

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = SOBOW

          type = ICAO

          name = SOBOW

          fix

            PointReference

              minimumReceptionLimit = 5000 FT

              minimumReceptionLimitReference = MSL

              distanceReference

                Distance

                  gml:identifier = e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

                  distance = 13 NM

                  minimumReceptionAltitude = 5000 FT

                  pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

              angleReference

                AngleUse

                  theAngle

                    Angle

                      gml:identifier = e27696a1-e89e-42b8-9445-13498379b9a9

                      angle = 278

                      minimumReceptionAltitude = 5000 FT

                      pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    ArrivalLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        ArrivalLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = ARC

          startPoint

            TerminalSegmentPoint

              pointChoice_fixDesignatedPoint =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          endPoint

            TerminalSegmentPoint

              pointChoice_fixDesignatedPoint =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          arcCentre

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          limitingDistance

            Distance

              gml:identifier = e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

              distance = 13 NM

              minimumReceptionAltitude = 5000 FT

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

















































______________________________________________________

Backward AngleDistance ArrivalLeg 5.1.1 output

message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = LNY

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 20.7645000 -156.9688889

              elevation = 1250 FT

  message:hasMember

    DesignatedPoint

      gml:identifier = bf3264d6-c075-47a3-b0dd-4ecccaffe040

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = CHAIN

          type = ICAO

          name = CHAIN

  message:hasMember

    DesignatedPoint

      gml:identifier = 505a205f-8682-4f82-8f69-d4eba07a047a

      timeSlice

        DesignatedPointTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          designator = SOBOW

          type = ICAO

          name = SOBOW

  message:hasMember

    AngleIndication

      gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

      timeSlice

        AngleIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          angle = 359.99

          minimumReceptionAltitude = 2000 FT

          fix =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DistanceIndication

      gml:identifier = c692a79d-52d1-447f-805a-da2ab7cab711

      timeSlice

        DistanceIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          distance = 12.70 NM

          minimumReceptionAltitude = 2000 FT

          fix =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    AngleIndication

      gml:identifier = e27696a1-e89e-42b8-9445-13498379b9a9

      timeSlice

        AngleIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          angle = 278

          minimumReceptionAltitude = 5000 FT

          fix =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DistanceIndication

      gml:identifier = e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

      timeSlice

        DistanceIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          distance = 13 NM

          minimumReceptionAltitude = 5000 FT

          fix =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    ArrivalLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        ArrivalLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = ARC

          startPoint

            TerminalSegmentPoint

              facilityMakeup

                PointReference

                  facilityAngle

                    AngleUse

                      theAngleIndication =  #uuid.f7b8682a-cc39-42d4-b9d4-21717d652cb6

                  facilityDistance =  #uuid.c692a79d-52d1-447f-805a-da2ab7cab711

                  annotation

                    Note

                      purpose = OTHER:BACKWARD_MAPPING

                      translatedNote

                        LinguisticNote

                          note = role:pointChoice_fixDesignatedPoint, minimumReceptionLimit:0, minimumReceptionLimitReference:MSL, maximumAuthorisedLimit:2000 FT, maximumAuthorisedLimitReference: OTHER unknown

              pointChoice_fixDesignatedPoint =  #uuid.bf3264d6-c075-47a3-b0dd-4ecccaffe040

          endPoint

            TerminalSegmentPoint

              facilityMakeup

                PointReference

                  facilityAngle

                    AngleUse

                      theAngleIndication =  #uuid.e27696a1-e89e-42b8-9445-13498379b9a9

                  facilityDistance =  #uuid.e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

                  annotation

                    Note

                      purpose = OTHER:BACKWARD_MAPPING

                      translatedNote

                        LinguisticNote

                          note = role:pointChoice_fixDesignatedPoint, minimumReceptionLimit:5000 FT, minimumReceptionLimitReference:MSL

              pointChoice_fixDesignatedPoint =  #uuid.505a205f-8682-4f82-8f69-d4eba07a047a

          arcCentre

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          distance =  #uuid.e70733e3-0c42-4f8c-9b7a-e80e1c0ed703

______________________________________________________

Forward AngleDistance DepartureLeg 5.2 output

message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = AML

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 38.9345939 -77.4667025

              elevation = 781 FT

  message:hasMember

    DepartureLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        DepartureLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = PERMDELTA

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = STRAIGHT

          startPoint

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          limitingAngle

            Angle

              gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

              angle = 110

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14












______________________________________________________

Backward AngleDistance DepartureLeg 5.1.1 output


message:AIXMBasicMessage

  message:hasMember

    Navaid

      gml:identifier = dfd04617-c8bd-443b-8290-067ba2e50e14

      timeSlice

        NavaidTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          type = VORTAC

          designator = AML

          purpose = TERMINAL

          location

            ElevatedPoint

              gml:pos = 38.9345939 -77.4667025

              elevation = 781 FT

  message:hasMember

    AngleIndication

      gml:identifier = f7b8682a-cc39-42d4-b9d4-21717d652cb6

      timeSlice

        AngleIndicationTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          angle = 359.99

          pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

  message:hasMember

    DepartureLeg

      gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb

      timeSlice

        DepartureLegTimeSlice

          gml:validTime

            gml:TimePeriod

              gml:beginPosition = 2021-02-25

              gml:endPosition = 2021-04-22

          interpretation = BASELINE

          sequenceNumber = 1

          featureLifetime

            gml:TimePeriod

              gml:beginPosition = 2009-01-01T00:00:00Z

              gml:endPosition =

          legPath = STRAIGHT

          startPoint

            TerminalSegmentPoint

              pointChoice_navaidSystem =  #uuid.dfd04617-c8bd-443b-8290-067ba2e50e14

          angle =  #uuid.f7b8682a-cc39-42d4-b9d4-21717d652cb6