/
[AIXM-598] Add possibility to group LightElements

[AIXM-598] Add possibility to group LightElements

ID:

AIXM-598

target version:

AIXM 5.2

version:

1.0

last updated:

28 FEB 2023

status:

APPROVED


Description

Add new <<object>> LightGroup associated with GroundLightSystem and LightElement.

Note: This Change Proposal replaces the previously approved AIXM-556 proposal

Rationale for change

See https://aixmccb.atlassian.net/browse/AIXM-184; https://aixmccb.atlassian.net/browse/AIXM-393 (for the direction attribute); https://aixmccb.atlassian.net/browse/AIXM-592

In AIP AD2.14 of a number of countries there are examples of grouping runway centre line lights and runway edge lights by “colour and runway sections ”. Such a possibility to group existing LightElements that would enable easier application of the data into e.g. AIP AD2.14 was identified missing in AIXM 5.1(.1).

Examples:

BELGIUM & LUXEMBOURG AIP

Czech Rep. AIP

POLAND AIP

In order to enable this possibility a separate <<object>> LightGroup is proposed. This new class will be associated with LightElement and GroundLightSystem (and its specialised subclasses, such as: RunwayDirectionLightSystem allowing centre line and edge lights encoding).

The RunwayProtectAreaLightSystem is missing a length property, which is required by the PANS-AIM Appendix 2 AD 2.14: "9) length and colour of stopway lights". The length is actually published in AIP, for example for Stopways (SWY).

Impact assessment

[FWD_1:1] No data mapping is necessary 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:

  • In RunwayDirectionLightSystem add
    • Attributes:
      • length, data type = ValDistanceType, definition = “The length of the runway direction light system.”
      • spacing, data type = ValDistanceType, definition = “The spacing of light elements forming the runway direction light system.”
    • In RunwayProtectAreaLightSystem add
      • Attribute:
        • length, data type = ValDistanceType, definition = “The length of the runway protection area light system.”
      • Add a new class LightGroup with <<object>> stereotype
        • Definition = “A group of elementary light sources (LightElements), part of a lightning system.”
        • Attributes:
          • fromDistance, data type = ValDistanceType, definition = “Distance from the start of a feature, for which a lighting system is coded, to a place where the start of the light group is located.
          • toDistance, data type = ValDistanceType, definition = “Distance from the start of a feature, for which a lighting system is coded, to a place where the end of the light group is located.
          • colour, data type = CodeColourType, definition = “An indication of the global colour of the light group.”
          • direction, data type = CodeLightDirectionType, definition = “An indication of the light emission direction of a light group.”,
        • Associations:
          • (composition) RunwayDirectionLightSystem isRepresentedBy LightGroup
            • 0…* on the LightGroup side, “group” role name, definition = “The light group representing an array of light elements.”
          • (composition) LightGroup contains LightElement
            • 0…* on the LightElement side, “element” role name, definition = “The light element contained in a light group.”
          • (composition) LightGroup hasAnnotations Note with
            • Note role “annotation” (definition = “A free text remark concerning the light group or one of its properties.”), multiplicity 0…*
          • In the CodeColourBaseType
            • Add value ‘RED_WHITE’, definition = “Alternating red and white.”

The following UML class diagram indicates the new class and attributes:

Mapping AIXM 5.1.1 to AIXM 5.2 (forward)

[MAPC-01] For each LightGroup.colour that has the value ‘OTHER:RED_WHITE’:

  • Replace “OTHER:RED_WHITE” with “RED_WHITE”

Mapping AIXM 5.2 to AIXM 5.1.1 (backward)

[MAPC-01] For each AeronauticalgroundLight.colour, LightElement.colour, LightGroup.colour, ApproachLightingSystem.colour , ApronLightSystem.colour , GuidanceLineLightSystem.colour , RunwayDirectionLightSystem.colour , RunwayProtectAreaLightSystem.colour , TaxiHoldingPositionLightSystem.colour , TaxiwayLightSystem.colour , TouchDownLiftOffLightSystem.colour , VisualGlideSlopeIndicator.colour, MarkingBuoy.colour, MarkingElement.colour, VerticalStructurePart.markingFirstColour, VerticalStructurePart.markingSecondColour that has the value ‘RED_WHITE’:

  • Replace “RED_WHITE” with “OTHER:RED_WHITE”

[MAPC-02] For each RunwayDirectionLightSystem

  • Add an annotation.Note associated with the owner class having
  • purpose=“OTHER:BACKWARD_MAPPING”;
  • LinguisticNote.note=”length: <length> <uom>; spacing: <spacing> <uom>,
    • Remove the length, spacing elements.

For each RunwayDirectionLightSystem that has a LightGroup element:

  • [MAPC-01] If there exists one or more LightElement associated with the LightGroup, then for each child LightElement of a LightGroup:
    • move the LightElement outside the LightGroup (it becomes a sibling of the LightGroup)
  • [MAPC-03] From the three backward mapping options discussed for this mapping 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”;
  • LinguisticNote.note=” group.LightGroup.fromDistance:<fromDistance><uom>; group.LightGroup.toDistance:<toDistance><uom>; group.LightGroup.colour: <colour> group.LightGroup.direction:<direction>,
    • Remove the LightGroup element

[MAPC-02] For each RunwayProtectAreaLightSystem that has a length child element, from the three backward mapping options discussed for this mapping 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”;
  • LinguisticNote.note=”length: <length> <uom>;
  • Remove the length element.

Mapping example

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

AIXM InputAIXM Output