Introduction
AIXM 5.1 uses the Geographical Markup Language (GML) for the encoding of geometrical and geographical data. This is done by directly including the GML 3.2.1 Schema into the AIXM XML Schema. In order to automatically generate the text of the NOTAM messages, it is also necessary to translate back the GML encodings into human readable information. Therefore, the purpose of this section is to provide guidelines for the decoding from GML of the geographical and geometrical data that is in the scope of the Event Scenarios covered by the specification.
As explained in the data encoding section, all geometrical/geographical data is encoded in AIXM/GMl as one of the following elements:
- aixm:Point or aixm:ElevatedPoint;
- aixm:Curve or aixm:ElevatedCurve;
- aixm:Surface or aixm:ElevatedSurface;
Decoding rules
This section provides rules for converting these geometries into NOTAM text.
Reference | Rules | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(1) | Identify the srsName that applies (see section 3.2 of the "Use of GML for aviation data" guidance document). If this specification was followed for the data encoding, then it is an attribute of the ancestor aixm:Point, aixm:ElevatedPoint, aixm:Curve, aixm:ElevatedCurve, aixm:Surface or aixm:ElevatedSurface element.
| ||||||||||||||||
(2) | Convert the latitude value into the format "DDMMSSH" or "DDMMSS.ssH" as appropriate; trim to 2 decimals if necessary, but do not add trailing zeros after the decimal point! | ||||||||||||||||
(3) | Convert the longitude value into the format "DDDMMSSH" or "DDDMMSS.ssH" as appropriate; trim to 2 decimals if necessary, but do not add trailing zeros after the decimal point! | ||||||||||||||||
(4) | If srsName="urn:ogc:def:crs:EPSG::4326", then leave empty this branch. Otherwise, decode the srsName as appropriate. | ||||||||||||||||
(5) | Convert each pair of latitude/longitude values of the child gml:posList into the format "DDMMSSH DDDMMSSH"; insert " - " as separator between consecutive "lat long" pairs. | ||||||||||||||||
(6) | Convert each pair of latitude/longitude values of the child gml:posList into the format "DDMMSSH DDDMMSSH"; insert " - " as separator between consecutive "lat long" pairs. | ||||||||||||||||
(7) | Decode the gml:ArcByCenterPoint as detailed in the diagram below Important note: It is assumed that the srsName applicable to the gml:ArcByCentrePoint has the value "urn:ogc:def:crs:EPSG::4326". Otherwise, the result of this decoding might be incorrect.
| ||||||||||||||||
(8) | Decode the gml:Arc as detailed in the diagram below:
| ||||||||||||||||
(9) | If there exist more than one child element of gml:segments, it is possible that the individual decoding of each gml:GeodesicString, gml:LineStringSegment, gml:ArcByCenterPoint or gml:Arc results into duplicate pairs of lat/long values (because the start of one curve may be the end of the previous one). To prevent this situation, inspect check the complete decoding of the geometry and eliminate any duplicate consecutive lat/long values. | ||||||||||||||||
(10) | If there exist more than one child element of gml:segments, it is possible that the individual decoding of each gml:GeodesicString, gml:LineStringSegment, gml:ArcByCenterPoint or gml:Arc results into duplicate pairs of lat/long values (because the start of one curve may be the end of the previous one). To prevent this situation, inspect check the complete decoding of the geometry and eliminate any duplicate consecutive lat/long values. Pay attention that the first and the last position should be identical. If this is not the case, a warning message shall be raised. | ||||||||||||||||
(11) | Decode the gml:CircleByCenterPoint as detailed in the diagram below: | ||||||||||||||||
(12) | If an AirspaceVolume with a centreline is encountered, then it is assumed that it is the encoding of a corridor type of geometry. |