Versions Compared

Key

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

...

If an AirspaceVolume with a centreline is encountered, then it is assumed that it is the encoding of a corridor type of geometry.

ReferenceRules
(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.

  • If @srsName='urn:ogc:def:crs:EPSG::4326', then the first value in the gml:pos element is the latitude and the second one is the longitude, both in WGS-84;
  • If another @srsName value is found, then specific decoding rules must be available for it.
(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: use the CRS name provided in the "Use of GML for aviation data", Annex A.

(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)

If a gml:pointProperty is used (in order to refer to the position of a named location), then decode first the lat/long values of its gml:pos child element in the format "DDMMSSH DDDMMSSH", followed by the decoding of its child aixm:annotation

Image Modified

(7)

Decode the gml:ArcByCenterPoint as detailed in the diagram below

Image Modified

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.

ReferenceRule
(7.1)

If the gml:ArcByCenterPoint is the first child element of gml:segments, then calculate the position of the start of the arc using the gml:pos, gml:radius and gml:startAngle data and insert here in format "DDMMSSH DDDMMSSH - ". Otherwise leave empty (the start of the arc is the end of the previous curve segment).

(7.2)If gml:startAngle is lower than gml:endAngle, then insert "clockwise", otherwise insert "counterclockwise".
(7.3)Insert the value of the gml:radius element followed by the value of its uom attribute, decoded as follows:
  • m -> "m"
  • km -> "km"
  • [nmi_i] -> "NM"
(7.4)

If a gml:pos is provided for the centre of the arc, then decode here the lat/long values of that element in the format "DDMMSSH DDDMMSSH";

(7.5)

If a gml:pointProperty is used, then decode it as indicated in rule (6) above

(7.6)

If the gml:ArcByCenterPoint is the last child element of gml:segments or it is followed by another gml:ArcByCenterPoint, then calculate the position of the end of the arc using the gml:pos, gml:radius and gml:endAngle data and insert here in format "DDMMSSH DDDMMSSH". Otherwise leave empty (the end of the arc is the start of the next curve segment).

(8)

Decode the gml:Arc as detailed in the diagram below:

Image Modified

ReferenceRules
(8.1)Decode the lat/long data of the first gml:pos child element of the gml:Arc in the format "DDMMSSH DDDMMSSH"
(8.2)Decode the lat/long data of the second gml:pos child element of the gml:Arc in the format "DDMMSSH DDDMMSSH"
(8.3)Decode the lat/long data of the third gml:pos child element of the gml:Arc in the format "DDMMSSH DDDMMSSH"
(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 and 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 and 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:

Image Modified

(12)