Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 30
Next »
Introduction
In AIXM 5.1.x vertical dimensions of obstacles can be coded as the vertical extent of each obstacle part and the elevation on top of each part:
- the vertical extent is the vertical distance from the bottom to the top of the part itself; on a single part obstacle the vertical extant is the height from the ground to the top of the obstacle. It is coded in the VerticalStructurePart.verticalExtent attribute.
- the elevation is the MSL elevation of the topmost point of each part. Depending on the part's geometry, the elevation is coded in ElevatedSurface.elevation attribute for polygons, in the ElevatedCurve.elevation attribute for line obstacles or in the ElevatedPoint.elevation attribute for line obstacles.
This specification explains how obstacle elevations and heights shall be coded in AIXM.
Height versus Elevation
With regard to vertical dimensions of obstacles, the current AIXM 5.1(.1) model allows coding for each VerticalStructurePart:
- the elevation (MSL) at the top of the obstacle part, using the VerticalStructurePart.horizontalProjection choices (ElevatedPoint, ElevatedCurve, ElevatedSurface)
- the vertical dimension of each obstacle part, using the VerticalStructurePart.verticalExtent property
As shown above the vertical extent is just the vertical dimension of a part regardless of its position relative to the ground. This behaviour can be used to define multi-part obstacles with 'floating' elements, where an aircraft (e.g. an helicopter) can operate beneath.
Single Part Obstacles
A single part obstacle is a vertical structure that is coded as only one part,
- A single part obstacle can have the shape of a point (e.g. an antenna), a line (e.g. a fence) or a polygon (e.g. a forest). However, being a single part obstacle, .
- The top elevation of the obstacle is encoded with the corresponding horizontalProjection of its part element.
- The height of the obstacle is encoded as verticalExtent of the verticalStructurePart. Since the vertical structure can have only one vertical extent, for all points even in line or polygon obstacles.
- The unit of measurement is required and shall be coded as an attribute of the elevation element.
- In relation to the elevation a verticalDatum and a verticalAccuracy may be coded in addition
Point Obstacle (e.g. antenna)
Line Obstacle (e.g. fence)
Polygon Obstacle (e.g. forest)
Multi-Part Obstacles
A multi-part obstacle is a vertical structure that is composed from multiple parts.
- Each part of the obstacle can have the shape of a point (e.g. an antenna), a line (e.g. a wall) or a polygon (e.g. a building)
- For each part the top elevation shall be encoded with the corresponding horizontalProjection of its part element
- For each part the verticalExtent may be encoded. Please note that for multi-part obstacles the verticalExtension
- The unit of measurement is required and shall be coded as an attribute of its element (elevation repectively verticalExtent)
- In relation to the elevation a verticalDatum and a verticalAccuracy may be coded in addition.
The example blow demonstrates the coding of
- the elevations P1 and P2 of the building and the elevation of the antenna on top
- the vertical extents P1 and P2 of the building and the antenna on top. In this case the verticalExtent is the height of the obstacle parts.
- the verticalExtent for part P1 reflects the height above ground level.
- the verticalExtend for part P2 does not reflect the height above ground level. (Note: P2 may be also not on top of the roof but on the side).
Please note that currently the heights P1 and P2 above ground cannot be coded. Coding of heights will be enabled with the introduction of AIXM 5.2
Beside construction of 'simple' buildings composed of several cubes, multipart obstacles allow the definition of more complex structures like bridges, power lines and cable cars, even with the possibility to fly under parts of them.
Powerline with same elevation of all parts
The figure is similar to a single part obstacle with line geometry, but this time encoded as three parts instead of one. All 3 parts have the same elevation.
Cable car with different elevation of its parts (maximum height AGL)
The figure shows a case where the height of P2 is considered to be the maximum height above ground level. The elevation of the parts is different.
Powerline across a valley
In this case it was intended to allow flights below the obstacle (e.g. a cable crossing a fjord).
- The verticalExtent of the pylons (P1 & P3) can be considered the height above ground level as they have point shape.
- The verticalExtent of P2 is considered to be the difference between the elevation of the highest and lowest point of P2.
Coding Rules
Unable to render {include} The included page could not be found.
<aixm:VerticalStructure gml:id="uuid.5f68d835-828c-4ccd-91b7-791058d9dd4d">
<gml:identifier codeSpace="urn:uuid:">5f68d835-828c-4ccd-91b7-791058d9dd4d</gml:identifier>
...
<aixm:part>
<aixm:VerticalStructurePart gml:id="V-af4ee6d6">
<!-- In case of a single part obstacle the verticalExtent is used to code the height (above ground) of the obstacle.
Height is an optional attribute in PANS-AIM Table A-6-2.
Height is listed in ENR 5.4 and AD2/3.10.
Height is mandatory in RTCA/EUROCAE ED-98C/DO-276C. -->
<aixm:verticalExtent uom="M">120</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
...
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="p1121">
<gml:pos>52.36171388888889 -28.03756666666666</gml:pos>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">150</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
...
<aixm:VerticalStructure gml:id="TBD">
<gml:identifier codeSpace="urn:uuid:">TBD</gml:identifier>
...
<aixm:part>
<aixm:VerticalStructurePart gml:id="TBD">
<aixm:verticalExtent uom="M">15</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
<aixm:type>WINDMILL_FARMS</aixm:type>
<aixm:markingFirstColour>GREEN</aixm:markingFirstColour>
<aixm:designator>OBS-0026</aixm:designator>
<aixm:horizontalProjection_linearExtent>
<aixm:ElevatedCurve srsName="urn:ogc:def:crs:EPSG::4326" gml:id="TBD">
<gml:segments>
<gml:GeodesicString>
<gml:posList>54.33333333 -26.48555556 54.33777778 -26.45777778</gml:posList>
</gml:GeodesicString>
</gml:segments>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">180</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
</aixm:ElevatedCurve>
</aixm:horizontalProjection_linearExtent>
...
</aixm:part>
<!-- The annotation may not be needed. But to indicate that it is the height above ground level it is the only option -->
<aixm:annotation>
<aixm:Note gml:id="n000ewe">
<aixm:purpose>REMARK</aixm:purpose>
<aixm:translatedNote>
<aixm:LinguisticNote gml:id="ln000wewew">
<aixm:note>Height above ground level is 75M</aixm:note>
</aixm:LinguisticNote>
</aixm:translatedNote>
</aixm:Note>
</aixm:annotation>
...
<!-- POINT ON SURFACE: roof mounted antenna (Vertical Segmentation: 2 parts)-->
<aixm:VerticalStructure gml:id="uuid.15c2c2ba-c5f2-47b5-9ada-1964d51b82c0">
<gml:identifier codeSpace="urn:uuid:">15c2c2ba-c5f2-47b5-9ada-1964d51b82c0</gml:identifier>
...
<aixm:part>
<aixm:VerticalStructurePart gml:id="vsp0007-1">
<aixm:verticalExtent uom="M">168</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
...
<aixm:horizontalProjection_surfaceExtent>
<aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0007-1">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve gml:id="c4567">
<gml:segments>
<gml:GeodesicString>
<gml:posList>55.5243055555556 -24.64125833333333
55.5201388888889 -24.63178888888889
55.5211666666667 -24.63032222222222
55.5251944444444 -24.63868888888889
55.5243055555556 -24.64125833333333</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
...
<aixm:elevation uom="M">168</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
</aixm:ElevatedSurface>
</aixm:horizontalProjection_surfaceExtent>
...
</aixm:VerticalStructurePart>
</aixm:part>
<aixm:part>
<aixm:VerticalStructurePart gml:id="vsp0007-2">
<aixm:verticalExtent uom="M">23</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">5</aixm:verticalExtentAccuracy>
...
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="VID000005">
<gml:pos>55.52416667 -24.63888889</gml:pos>
...
<aixm:elevation uom="M">191</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
...
<aixm:VerticalStructure gml:id="TBD">
<gml:identifier codeSpace="urn:uuid:">TBD</gml:identifier>
...
<aixm:type>TRANSMISSION_LINE</aixm:type>
...
<!-- PART1: Pole -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="TBD">
<!-- Acc. to PANS-AIM height is optional. In this example coded as nil in order to highlight that this part has not height but only elevation. -->
<aixm:verticalExtent uom="M">12</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</verticalExtentAccuracy>
<aixm:type>POLE</aixm:type>
<aixm:designator>OBS-0024-1</aixm:designator>
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="TBD">
<gml:pos>46.72722222 -27.89166667</gml:pos>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">220</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
</aixm:VerticalStructurePart>
</aixm:part>
<!-- PART2: Line between Poles -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="TBD">
<!-- In this case it does not make sense to code a verticalExtend as no operations below will take place.
If needed the height above ground of the catenary has to be coded as a Note. -->
<aixm:annotation>
<aixm:Note gml:id="eqwe">
<aixm:purpose>REMARK</aixm:purpose>
<aixm:translatedNote>
<aixm:LinguisticNote gml:id="weqw">
<aixm:note>Height above ground level is 12 Meter</aixm:note>
</aixm:LinguisticNote>
</aixm:translatedNote>
</aixm:Note>
</aixm:annotation>
<aixm:verticalExtent xsi:nil="true" nilReason="unknown"/>
<aixm:verticalExtentAccuracy xsi:nil="true" nilReason="inapplicable"/>
<aixm:type>CATENARY</aixm:type>
<aixm:designator>OBS-0024-2</aixm:designator>
<aixm:horizontalProjection_linearExtent>
<aixm:ElevatedCurve srsName="urn:ogc:def:crs:EPSG::4326" gml:id="TBD">
<gml:segments>
<gml:GeodesicString>
<gml:posList>46.82722222 -27.99166667 46.80555556 -27.98638889</gml:posList>
</gml:GeodesicString>
</gml:segments>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">220</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedCurve>
</aixm:horizontalProjection_linearExtent>
</aixm:VerticalStructurePart>
</aixm:part>
<!-- PART3: Pole -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="TBD">
<aixm:verticalExtent uom="M">12</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</verticalExtentAccuracy>
<aixm:type>BUILDING</aixm:type>
<aixm:designator>OBS-0024-3</aixm:designator>
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="TBD">
<gml:pos>46.80555556 -27.98638889</gml:pos>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">220</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
</aixm:VerticalStructurePart>
</aixm:part>
</aixm:VerticalStructureTimeSlice>
</aixm:timeSlice>
</aixm:VerticalStructure>
<aixm:VerticalStructure gml:id="uuid.87a585b3-0597-4f5c-974f-cddfc604dc93">
<gml:identifier codeSpace="urn:uuid:">87a585b3-0597-4f5c-974f-cddfc604dc93</gml:identifier>
...
<aixm:name>LANGTALERECKHUETTE - HOCHWILDEHAUS</aixm:name>
<aixm:type>CABLE_CAR</aixm:type>
...
<!-- PART1: LANGTALERECKHUETTE (Ground Station) of Cable Way -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="vsp0004-1">
<!-- Acc. to PANS-AIM height is optional. In this example verticalExtent would have the meaning of height above ground as it is point geometry. -->
<aixm:verticalExtent xsi:nil="true" nilReason="unknown"/>
<aixm:verticalExtentAccuracy xsi:nil="true" nilReason="inapplicable"/>
<aixm:type>BUILDING</aixm:type>
<aixm:designator>OBS-0004-1</aixm:designator>
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0004-1">
<gml:pos>46.82722222 -27.99166667</gml:pos>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">2438</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
</aixm:VerticalStructurePart>
</aixm:part>
<!-- PART2: Line (rope) between Ground Station and Top Station -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="vsp0004-2">
<!-- verticalExtent is not coded as it is not relevant for this case. The maximum height above ground has to be coded as a Note!- -->
<aixm:annotation>
<aixm:Note gml:id="eqwe">
<aixm:purpose>REMARK</aixm:purpose>
<aixm:translatedNote>
<aixm:LinguisticNote gml:id="weqw">
<aixm:note>Maximum height above ground level is 280 Meter</aixm:note>
</aixm:LinguisticNote>
</aixm:translatedNote>
</aixm:Note>
</aixm:annotation>
<aixm:verticalExtent xsi:nil="true" nilReason="unknown"/>
<aixm:verticalExtentAccuracy xsi:nil="true" nilReason="inapplicable"/>
<aixm:type>CATENARY</aixm:type>
<aixm:constructionStatus>COMPLETED</aixm:constructionStatus>
<aixm:designator>OBS-0004-2</aixm:designator>
<aixm:horizontalProjection_linearExtent>
<aixm:ElevatedCurve srsName="urn:ogc:def:crs:EPSG::4326" gml:id="crv1242">
<gml:segments>
<gml:GeodesicString>
<gml:posList>46.82722222 -27.99166667 46.80555556 -27.98638889</gml:posList>
</gml:GeodesicString>
</gml:segments>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<!-- elevation is not applicable for the catenary as it not a constant value. -->
<aixm:elevation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalAccuracy xsi:nil="true" nilReason="inapplicable"/>
</aixm:ElevatedCurve>
</aixm:horizontalProjection_linearExtent>
</aixm:VerticalStructurePart>
</aixm:part>
<!-- PART3: HOCHWILDEHAUS (Top Station) of Cable Way -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="vsp0004-3">
<aixm:verticalExtent xsi:nil="true" nilReason="unknown"/>
<aixm:verticalExtentAccuracy xsi:nil="true" nilReason="inapplicable"/>
<aixm:type>BUILDING</aixm:type>
<aixm:designator>OBS-0004-3</aixm:designator>
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0004-3">
<gml:pos>46.80555556 -27.98638889</gml:pos>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">2870</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
</aixm:VerticalStructurePart>
</aixm:part>
</aixm:VerticalStructureTimeSlice>
</aixm:timeSlice>
</aixm:VerticalStructure>
<aixm:VerticalStructure gml:id="TBD">
<gml:identifier codeSpace="urn:uuid:">TBD</gml:identifier>
...
<aixm:type>TRANSMISSION_LINE</aixm:type>
...
<!-- PART1: TOWER (P1) -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="TBD">
<!-- In this example verticalExtent would have the meaning of height above ground as it is a point geometry. -->
<aixm:verticalExtent uom="M">10</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</aixm:verticalExtentAccuracy>
<aixm:type>TOWER>/aixm:type>
<aixm:designator>OBS-0025-1</aixm:designator>
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="TBD">
<gml:pos>46.62722222 -27.79166667</gml:pos>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">233</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
</aixm:VerticalStructurePart>
</aixm:part>
<!-- PART2: CATENARY (P2) -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="TBD">
<!-- verticalExtent inapplicable (because top elevation changes significantly along the cable). The maximum height above ground has to be coded as a Note!- -->
<aixm:annotation>
<aixm:Note gml:id="eqwe">
<aixm:purpose>REMARK</aixm:purpose>
<aixm:translatedNote>
<aixm:LinguisticNote gml:id="weqw">
<aixm:note>Lowest point of cable 208 FT MSL</aixm:note>
</aixm:LinguisticNote>
</aixm:translatedNote>
</aixm:Note>
</aixm:annotation>
<aixm:verticalExtent xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalExtentAccuracy xsi:nil="true" nilReason="inapplicable"/>
<aixm:type>CATENARY</aixm:type>
<aixm:constructionStatus>COMPLETED</aixm:constructionStatus>
<aixm:designator>OBS-0025-2</aixm:designator>
<aixm:horizontalProjection_linearExtent>
<aixm:ElevatedCurve srsName="urn:ogc:def:crs:EPSG::4326" gml:id="crv1242">
<gml:segments>
<gml:GeodesicString>
<gml:posList>46.62722222 -27.79166667 46.60555556 -27.78638889</gml:posList>
</gml:GeodesicString>
</gml:segments>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<!-- elevation (at the top) = inapplicable because it is inherited at the two ends from the adjacent parts and in between, it is variable. -->
<aixm:elevation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalAccuracy xsi:nil="true" nilReason="inapplicable"/>
</aixm:ElevatedCurve>
</aixm:horizontalProjection_linearExtent>
</aixm:VerticalStructurePart>
</aixm:part>
<!-- PART3: TOWER (P3) -->
<aixm:part>
<aixm:VerticalStructurePart gml:id="vsp0004-3">
<aixm:verticalExtent uom="M">10</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</aixm:verticalExtentAccuracy>
<aixm:type>TOWER</aixm:type>
<aixm:designator>OBS-0025-3</aixm:designator>
<aixm:horizontalProjection_location>
<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0004-3">
<gml:pos>46.60555556 -27.78638889</gml:pos>
<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
<aixm:elevation uom="M">922</aixm:elevation>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedPoint>
</aixm:horizontalProjection_location>
</aixm:VerticalStructurePart>
</aixm:part>
</aixm:VerticalStructureTimeSlice>
</aixm:timeSlice>
</aixm:VerticalStructure>