Versions Compared

Key

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

This example shows how AIP information about the geometry of an airspace (TMA AQUITAINE part 2-1) is used to calculate the AIXM/GML digital representation of the horizontal projection of that Airspace.

Information published in AIP France ENR 2.3


Screenshot of map showing the horizontal extent of the TMA

The horizontal projection of the airspace starts with a "clockwise arc". The center is 44°49'37"N; 000°43'16"W. The first point is A (45°07'24"N; 001°03'41"W) and the second point is B (44°47'02"N; 000°11'15"W). The radius is declared as 23 NM.

Assuming that EPSG::4326 will be used as coordinated reference system in GML, the start and end arc angles can be calculated with a geodesic tool:

  • startAngle: - 39.056642 (from centre to point A)
    • note that most geodetic tools will return a true bearing (such as 320.943358 deg in this case). However, the actual statAngle value used in the ArcByCenterPoint will need to take into consideration the CRS type (left-handed in this case) and the arc direction (clockwose in this case). Therefore, the startAngle value needs to be smaller than the endAngle value. For this purpose, the startAngle is calculated by subtracting the bearing from 360.

  • endAngle: 96.278174 (from centre to point B)

In order to encode the ArcByCenterPoint, the value of the arc radius is also necessary. The AIP information indicates 23 NM. Before using that value, it is worth checking that it is close enough (less than 1% difference) to the actual distances between the arc center and the two points (A and B). Otherwise, the geometry will not close correctly when adding the next segments.

  • distance from center to point A: 22.942 NM (0.25% difference to 23 NM)
  • distance from center to point B: 22.941 NM (0.26% difference to 23 NM)

Therefore, the official AIP value of 23 NM may be safely used in the GML encoding. If the difference was higher than 1%, the data originator should be contacted in order to provide a more accurate value for the arc radius.

The resulting GML ArcByCenterPoint can be encoded as follows:

Code Block
languagexml
linenumberstrue
...
        <aixm:Surface gml:id="S01" srsName="urn:ogc:def:crs:EPSG::4326">
            <gml:patches>
                <gml:PolygonPatch>
                    <gml:exterior>
                        <gml:Ring>
                            <gml:curveMember>
                                <aixm:Curve gml:id="C01">
                                    <gml:segments>
                                        <gml:ArcByCenterPoint gml:id="A01">
                                            <gml:pos>44.82694444445 -0.72111111111</gml:pos>
                                            <gml:radius uom="[nmi_i]">23.0</gml:radius>
                                            <gml:startAngle uom="deg">-39.056642</gml:startAngle>
                                            <gml:endAngle  uom="deg">96.278174</gml:endAngle>
                                        </gml:ArcByCenterPoint>
                                        <gml:GeodesicString>
                                            <gml:posList>... </gml:posList>
                                        </gml:GeodesicString>
                                        ...
                                    </gml:segments>
                                </aixm:Curve>
                            </gml:curveMember>
                        </gml:Ring>
                    </gml:exterior>
                </gml:PolygonPatch>
            </gml:patches>
        </aixm:Surface>
        ...