ID: | AIXM-566 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 28 SEP 2022 |
status: | APPROVED |
Description
Add association from AirspaceVolume to Point with location role.
Rationale for change
See https://aixmccb.atlassian.net/browse/AIXM-221
There are many examples of “navigation warnings” published in AIP ENR 5.5, which have a simple latitude/longitude location. For example, Parachute Jumping Exercises (PJE), glider flying locations, High Intensity Radio Transmission Area (HIRTA), etc. See AIP France, Belgium, Netherlands for examples. The extent of the activity is not provided, therefore it is not possible to code a real volume for such areas.
The current AIXM 5.1.(1) model allows such navigation warnings to be encoded as instances of Airspace. However, this requires a horizontal projection (Surface) defined at least as a full Circle. An artificial radius of 1m is sometimes used, but this can be misinterpreted as an official value, which is not the case.
An additional association between the AirspaceVolume class and a Point is proposed in order to allow a simplified coding of such navigation warnings.
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 the AirspaceVolume class:
- add a new composition relationship AirspaceVolume isSituatedAround Point
- 0…1 on the Point side, “location” role name, definition = “A single position used as geographical reference for the AirspaceVolume, in particular when a precise horizontalProjection is not provided.”
- add a new “dependency” relationship from Point to SignificantPoint.
- add a new composition relationship AirspaceVolume isSituatedAround Point
Note: this dependency is similar to the dependency relationship between Surface and SignificantPoint. It is implemented with a pointProperty, as explained in the GML Profile for aviation data.
The following UML class diagram shows the additional relationship:
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
Not applicable
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
[MAPC-00] For each AirspaceVolume that has a location element and no horizontalProjection:
- add a horizontalProjection with geometry of type Circle, centred on the Point provided in the location element and with a radius of 1m
- remove the location element.
[MAPC-02] For each AirspaceVolume that has a location element and also a horizontalProjection:
From the three backward mapping options discussed for 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 AirspaceVolume class having
- purpose=“OTHER:BACKWARD_MAPPING”;
- LinguisticNote.note=”location: <location//gml:pos value>
- propertyName=horizontalProjection.
- remove the location element.
Mapping example
(Note: for mapping test data see: https://github.com/aixm/mapping_52_511/tree/master/AIXM-xxx)
AIXM Input | AIXM Output |
---|---|
Backward AirspacePointNav 5.2 input message:AIXMBasicMessage message:hasMember AirportHeliport gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb timeSlice AirportHeliportTimeSlice 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 = KEWR message:hasMember Unit gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41ba timeSlice UnitTimeSlice 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 = ATCC designator = ATCC 1 airportLocation = urn:uuid:fac34bfc-fc4f-4da7-ad8a-84ee687f41bb message:hasMember AirTrafficControlService gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bc timeSlice AirTrafficControlServiceTimeSlice 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 = flightOperations = ALL serviceProvider = urn:uuid:fac34bfc-fc4f-4da7-ad8a-84ee687f41ba radioCommunication = urn:uuid:fac34bfc-fc4f-4da7-ad8a-84ee687f41bd message:hasMember Airspace gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bd timeSlice AirspaceTimeSlice 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 = OTHER:AMA geometryComponent AirspaceGeometryComponent theAirspaceVolume AirspaceVolume location Point gml:pos = 34.6776728 -92.1805283 | Backward AirspacePointNav 5.1.1 output message:AIXMBasicMessage message:hasMember AirportHeliport gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bb timeSlice AirportHeliportTimeSlice 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 = KEWR message:hasMember Unit gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41ba timeSlice UnitTimeSlice 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 = ATCC designator = ATCC 1 airportLocation = urn:uuid:fac34bfc-fc4f-4da7-ad8a-84ee687f41bb message:hasMember AirTrafficControlService gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bc timeSlice AirTrafficControlServiceTimeSlice 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 = flightOperations = ALL serviceProvider = urn:uuid:fac34bfc-fc4f-4da7-ad8a-84ee687f41ba radioCommunication = urn:uuid:fac34bfc-fc4f-4da7-ad8a-84ee687f41bd message:hasMember Airspace gml:identifier = fac34bfc-fc4f-4da7-ad8a-84ee687f41bd timeSlice AirspaceTimeSlice 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 = AMA geometryComponent AirspaceGeometryComponent theAirspaceVolume AirspaceVolume horizontalProjection Surface gml:patches gml:Sphere gml:rows gml:Row gml:pos = 34.6776728 -92.1805283 |