Skip to end of metadata
Go to start of metadata
Two typical cases exist:
- an airspace that is fully derived from other existing airspace, which have their own operational reason to exist as separate airspace. For example, a control area (CTA) that is defined by the union of all its sectors
- an airspace that is composed by a number of 'Parts', which do not have any operational meaning taken in isolation. However, these parts may still be coded as individual Airspace elements.
Referencing other operational airspace volumes
The AirspaceVolumeDependency class defines the relationship between the geometry of an AirspaceVolume and the geometry of another (parent) Airspace.
The dependency attribute will be used to define, if only the horizontal limits of the "parent" airspace(s) shall be considered or also the vertical limits (i.e. the full geometry).
illustrates a simple referencing, again using as example the BRUSSELS TMA with its two parts: TMA one and TMA two.
The coding example below provides a XML fragment of a case like shown above for the fictitious TMA MAGNETTO (example is also part of the AIP Data Set - Specimen (DONLON)).
<aixm:AirspaceTimeSlice gml:id="ASE_MAGNETTO_TMA">
<gml:validTime>
<gml:TimePeriod gml:id="uuid.820fdbbb-55d4-4f45-9d59-d770e5faec95">
<gml:beginPosition>2017-07-01T00:00:00Z</gml:beginPosition>
<gml:endPosition indeterminatePosition="unknown"/>
</gml:TimePeriod>
</gml:validTime>
<aixm:interpretation>BASELINE</aixm:interpretation>
<aixm:sequenceNumber>2</aixm:sequenceNumber>
<aixm:correctionNumber>0</aixm:correctionNumber>
<aixm:featureLifetime>
<gml:TimePeriod gml:id="uuid.5e9c790e-b91b-4182-946d-145b6e0196de">
<gml:beginPosition>2002-11-30T00:00:00Z</gml:beginPosition>
<gml:endPosition indeterminatePosition="unknown"/>
</gml:TimePeriod>
</aixm:featureLifetime>
<aixm:type>TMA</aixm:type>
<aixm:designator>EAMM</aixm:designator>
<aixm:name>MAGNETTO</aixm:name>
<aixm:class>
<aixm:AirspaceLayerClass gml:id="acl123123">
<aixm:classification>C</aixm:classification>
</aixm:AirspaceLayerClass>
</aixm:class>
<aixm:geometryComponent>
<aixm:AirspaceGeometryComponent gml:id="uuid.4344f989-50b4-4cb0-9920-870ccd89429f">
<aixm:operation>BASE</aixm:operation>
<aixm:operationSequence>1</aixm:operationSequence>
<aixm:theAirspaceVolume>
<aixm:AirspaceVolume gml:id="uuid.59160a8e-a015-42ed-8346-34bc65436a72">
<aixm:contributorAirspace>
<aixm:AirspaceVolumeDependency gml:id="uuid.43a4e8ff-7995-492c-aa8f-50ef2c29b679">
<aixm:dependency>FULL_GEOMETRY</aixm:dependency>
<aixm:theAirspace xlink:href="urn:uuid:0df377fe-dd53-4d60-b6c4-6546ef31d26b"/>
</aixm:AirspaceVolumeDependency>
</aixm:contributorAirspace>
</aixm:AirspaceVolume>
</aixm:theAirspaceVolume>
</aixm:AirspaceGeometryComponent>
</aixm:geometryComponent>
<aixm:geometryComponent>
<aixm:AirspaceGeometryComponent gml:id="uuid.e8995bfd-8f47-401e-84d5-81154957ad53">
<aixm:operation>UNION</aixm:operation>
<aixm:operationSequence>2</aixm:operationSequence>
<aixm:theAirspaceVolume>
<aixm:AirspaceVolume gml:id="uuid.a91c0703-1a24-4c0a-a97b-f7a77ae6cdf2">
<aixm:contributorAirspace>
<aixm:AirspaceVolumeDependency gml:id="uuid.28854643-aca8-46e6-a199-57bf0d02a6e2">
<aixm:dependency>FULL_GEOMETRY</aixm:dependency>
<aixm:theAirspace xlink:href="urn:uuid:010d8451-d751-4abb-9c71-f48ad024045b"/>
</aixm:AirspaceVolumeDependency>
</aixm:contributorAirspace>
</aixm:AirspaceVolume>
</aixm:theAirspaceVolume>
</aixm:AirspaceGeometryComponent>
</aixm:geometryComponent>
</aixm:AirspaceTimeSlice>
...
<aixm:AirspaceTimeSlice gml:id="ASE_MAGNETTO1_TMA_P">
<gml:validTime>
<gml:TimePeriod gml:id="uuid.cd76b225-8e1d-4827-b892-e86c68168e9b">
<gml:beginPosition>2017-07-01T00:00:00Z</gml:beginPosition>
<gml:endPosition indeterminatePosition="unknown"/>
</gml:TimePeriod>
</gml:validTime>
<aixm:interpretation>BASELINE</aixm:interpretation>
<aixm:sequenceNumber>2</aixm:sequenceNumber>
<aixm:correctionNumber>0</aixm:correctionNumber>
<aixm:featureLifetime>
<gml:TimePeriod gml:id="uuid.4c1e9902-d3fb-4041-80ff-34e6a9ac0936">
<gml:beginPosition>2010-11-01T00:00:00Z</gml:beginPosition>
<gml:endPosition indeterminatePosition="unknown"/>
</gml:TimePeriod>
</aixm:featureLifetime>
<aixm:type>TMA_P</aixm:type>
<aixm:designator>EAMM1</aixm:designator>
<aixm:name>MAGNETTO TMA PART 1</aixm:name>
<aixm:geometryComponent>
<aixm:AirspaceGeometryComponent gml:id="uuid.dbcb9ad5-2008-4644-becb-4d01dbacc27e">
<aixm:theAirspaceVolume>
<aixm:AirspaceVolume gml:id="uuid.ba335f05-5fff-47f4-81e5-de8df2fa8263">
<aixm:upperLimit uom="FL">460</aixm:upperLimit>
<aixm:upperLimitReference>STD</aixm:upperLimitReference>
<aixm:lowerLimit uom="FL">210</aixm:lowerLimit>
<aixm:lowerLimitReference>STD</aixm:lowerLimitReference>
<aixm:horizontalProjection>
<aixm:Surface xsi:type="aixm:ElevatedSurfaceType" gml:id="uuid.d635cbc1-83ff-490d-8451-7aca0ef6a842">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve xsi:type="aixm:CurveType" srsName="urn:ogc:def:crs:EPSG::4326" gml:id="uuid.258c16e0-5f2c-4101-aabb-536f58c38eb5">
<gml:segments>
<gml:GeodesicString>
<gml:posList>51.99333333333333 -6.0005
52.45333333333333 -5.869333333333333
52.81666666666667 -5.89 53.53333333333333
-5.981666666666667 53.89333333333333
-5.937833333333333 53.905 -6.0038333333333334
53.916666666666664
-6.099333333333333</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
</aixm:Surface>
</aixm:horizontalProjection>
</aixm:AirspaceVolume>
</aixm:theAirspaceVolume>
</aixm:AirspaceGeometryComponent>
</aixm:geometryComponent>
</aixm:AirspaceTimeSlice>
...
<aixm:AirspaceTimeSlice gml:id="ASE_MAGNETTO2_TMA_P">
<gml:validTime>
<gml:TimePeriod gml:id="uuid.ee0a0e78-614e-419e-aebb-57829fd26699">
<gml:beginPosition>2017-07-01T00:00:00Z</gml:beginPosition>
<gml:endPosition indeterminatePosition="unknown"/>
</gml:TimePeriod>
</gml:validTime>
<aixm:interpretation>BASELINE</aixm:interpretation>
<aixm:sequenceNumber>2</aixm:sequenceNumber>
<aixm:correctionNumber>0</aixm:correctionNumber>
<aixm:featureLifetime>
<gml:TimePeriod gml:id="uuid.61902c93-3b1c-4969-90f1-c2422a31f9a2">
<gml:beginPosition>20010-11-01T00:00:00Z</gml:beginPosition>
<gml:endPosition indeterminatePosition="unknown"/>
</gml:TimePeriod>
</aixm:featureLifetime>
<aixm:type>TMA_P</aixm:type>
<aixm:designator>EAMM2</aixm:designator>
<aixm:name>MAGNETTO TMA PART 2</aixm:name>
<aixm:geometryComponent>
<aixm:AirspaceGeometryComponent gml:id="uuid.bbeaa329-9239-4e4f-86e3-95400d7ca76d">
<aixm:theAirspaceVolume>
<aixm:AirspaceVolume gml:id="uuid.fe954643-af04-4334-bd7f-fe969273a9a9">
<aixm:upperLimit uom="FL">460</aixm:upperLimit>
<aixm:upperLimitReference>STD</aixm:upperLimitReference>
<aixm:lowerLimit uom="FL">210</aixm:lowerLimit>
<aixm:lowerLimitReference>STD</aixm:lowerLimitReference>
<aixm:horizontalProjection>
<aixm:Surface xsi:type="aixm:ElevatedSurfaceType" gml:id="uuid.b2444276-e335-4106-9a4a-fd5eeb75b41c">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve xsi:type="aixm:CurveType" srsName="urn:ogc:def:crs:EPSG::4326" gml:id="uuid.84fe3774-a519-4b16-9344-cb311b2c92b5">
<gml:segments>
<gml:GeodesicString>
<gml:posList>53.876666666666665 -5.863333333333333
53.89333333333333 -5.937833333333333
53.53333333333333 -5.981666666666667
52.81666666666667 -5.89 52.45333333333333
-5.869333333333333 52.516666666666666
-5.850666666666667 52.583333333333336
-5.831666666666667 53.3 -5.755 53.7
-5.786666666666667 53.718333333333334
-5.8083333333333336 53.876666666666665
-5.863333333333333</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
</aixm:Surface>
</aixm:horizontalProjection>
</aixm:AirspaceVolume>
</aixm:theAirspaceVolume>
</aixm:AirspaceGeometryComponent>
</aixm:geometryComponent>
</aixm:AirspaceTimeSlice>
More coding examples can be found in the AIP Data Set - Specimen (DONLON).
No. | Description | XPath Expression |
---|
ASE-EX-11 ASE-EX-12 ASE-EX-13 | ATS airspace, CTA (Airspace aggregation by copying the geometry), Union of two airspace components | //aixm:AirspaceTimeSlice[@gml:id='ASE_DONLON_CTA'] | /aixm:AirspaceTimeSlice[@gml:id='ASE_DONLON1_CTA_P'] | /aixm:AirspaceTimeSlice[@gml:id='ASE_DONLON2_CTA_P'] |
ASE-EX-14 ASE-EX-15 ASE-EX-16 | ATS airspace, TMA, (Airspace aggregation by referencing), Union of two parts (AirspaceVolumeDependency) | //aixm:AirspaceTimeSlice[@gml:id='ASE_MAGNETTO_TMA'] | //aixm:AirspaceTimeSlice[@gml:id='ASE_MAGNETTO1_TMA_P'] | //aixm:AirspaceTimeSlice[@gml:id='ASE_MAGNETTO2_TMA_P'] |
Using airspace of type 'PART'
There are situations when an airspace is made of several parts and each part is described as an airspace volume with a defined horizontal border and specific vertical limits.
Such airspace parts are modelled using the Airspace.type 'PART'. For airspaces used for ATS provision, it is possible to be more specific by using dedicated types, such as: TMA Part ('TMA-P'), FIR Part ('FIR-P'), CTR Part ('CTR-P'), etc.
Thus, airspaces of type 'PART' are solely used as an auxiliary device to construct an appropriate airspace geometry of a "real" existing airspace (e.g. a TMA or D-Area). The figure below illustrates how such constructions are used:
Steps:
| Description |
---|
1 | Define the central circle as Airspace.type 'PART' with a horizontalProjection. |
2 | Define the polygon airspace to be added, as Airspace.type 'PART' with a horizontalProjection. |
3 | Define the polygon airspace to be subtracted as Airspace.type 'PART' with a horizontalProjection. |
4 | Create the derived geometry by 1 + 2 - 3 (using the AirspaceVolumeDependency). |
5 | By defining vertical limits, the 3-dimensional shape of the airspace is finalized. |
Using airspace of type 'XXX-P'
On the other side, an airspace of type 'TMA/FIR/CTA/etc.-P' (where P stands for PART) is not necessarily used to define the geometry of a compound airspace, but rather to indicate some specific characteristics of a subsection of a larger airspace. For example, a specific ATS Unit provides services in that airspace part, or different vertical limits are applied. The following figure illustrates such an example:
Typically, the name of such airspace parts includes a number (1, 2, 3, etc.), a letter (a, b, c, etc.) or a geographical direction (East, West, North, etc.), for example Ljubliana TMA 1 and Ljubliana TMA 2.
Coding Examples
Coding examples can be found in the AIP Data Set - Specimen (DONLON).
No. | Description | XPath Expression |
---|
ASE-EX-11 ASE-EX-12 ASE-EX-13 | ATS airspace, CTA (Airspace aggregation by copying the geometry), Union of two airspace components | //aixm:AirspaceTimeSlice[@gml:id='ASE_DONLON_CTA'] | /aixm:AirspaceTimeSlice[@gml:id='ASE_DONLON1_CTA_P'] | /aixm:AirspaceTimeSlice[@gml:id='ASE_DONLON2_CTA_P'] |
ASE-EX-14 ASE-EX-15 ASE-EX-16 | ATS airspace, TMA, (Airspace aggregation by referencing), Union of two parts | //aixm:AirspaceTimeSlice[@gml:id='ASE_MAGNETTO_TMA'] | //aixm:AirspaceTimeSlice[@gml:id='ASE_MAGNETTO1_TMA_P'] | //aixm:AirspaceTimeSlice[@gml:id='ASE_MAGNETTO2_TMA_P'] |