Horizontal projection
- Wolfgang Scheucher
- POROSNICU Eduard
In AIXM 5 the geometry type is defined by the VerticalStructurePart.horizontalProjection property. Each part may have a different geometry type. The following geometry types can be used:
- (point) ElevatedPoint or
- (line) ElevatedCurve or
- (polygon) ElevatedSurface.
The horizontal reference system is coded using the srsName attribute. In addition, the horizontal accuracy may be coded together with its unit of measurement (uom).
Point
Most obstacles may be coded with a simple point geometry (e.g. antenna, pole, wind turbine, etc. ). The example below shows the coding of the point location and geometry of an antenna.
<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"> ... <!-- horizontalProjection required by PANS-AIM Table A6-2 "horizontal position" and ENR 5.4,AD 2/3.10 "obstacle position" --> <aixm:horizontalProjection_location> <aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="p1121"> <gml:pos>52.36171388888889 -28.03756666666666</gml:pos> <!-- horizontalAccuracy required by PANS-AIM Table A6-2 --> <aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy> ... </aixm:ElevatedPoint> </aixm:horizontalProjection_location> ...
Line
Some obstacles may be coded as a single part line obstacle (e.g. a fence, wall, etc.). The example below shows the coding of the location and line geometry of a windfarm consisting of wind turbines positioned in a line. In this example, all wind turbines have the same height and elevation.
<!-- LINE OBSTACLE (Windfarm) 1x VerticalStructure with 1 x VerticalStructurePart as linearExtent (Can only be used in case all verticalStructure elements have same values for all "parts" of the obstacle..--> <aixm:VerticalStructure gml:id="uuid.718c2782-a624-405e-86b6-144b40b680b0"> <gml:identifier codeSpace="urn:uuid:">718c2782-a624-405e-86b6-144b40b680b0</gml:identifier> ... <aixm:type>WINDMILL_FARMS</aixm:type> ... <aixm:part> <aixm:VerticalStructurePart gml:id="vsp0006-1"> ... <aixm:type>WINDMILL_FARMS</aixm:type> ... <aixm:horizontalProjection_linearExtent> <aixm:ElevatedCurve srsName="urn:ogc:def:crs:EPSG::4326" gml:id="crv12456"> <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">75</aixm:elevation> <aixm:verticalDatum>EGM_96</aixm:verticalDatum> <aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy> </aixm:ElevatedCurve> </aixm:horizontalProjection_linearExtent> ... </aixm:VerticalStructurePart> </aixm:part> ...
Polygon
Some obstacles may be coded as a single part polygon obstacle (e.g. a building, stadium etc.).  The example below shows the coding of the location and surface geometry a Building.
<!-- POLYGON OBSTACLE Area 3 (Control Tower) --> <aixm:VerticalStructure gml:id="uuid.d22653bd-826d-411c-b8d3-838eba2a8325"> <gml:identifier codeSpace="urn:uuid:">d22653bd-826d-411c-b8d3-838eba2a8325</gml:identifier> ... <aixm:part> <aixm:VerticalStructurePart gml:id="ID_210"> <... <aixm:type>BUILDING</aixm:type> <aixm:designator>OBS-EADD-0009</aixm:designator> <aixm:horizontalProjection_surfaceExtent> <aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ID_211"> <gml:patches> <gml:PolygonPatch> <gml:exterior> <gml:Ring> <gml:curveMember> <gml:Curve gml:id="C001117"> <gml:segments> <gml:GeodesicString> <gml:posList>52.373240585956786 -31.94466222350188 52.373239760561745 -31.943667276726224 52.37253439745958 -31.943665099679613 52.37248632123943 -31.944468912666462 52.37259178856422 -31.94439396362618 52.37273479940925 -31.944331784997903 52.372846720940146 -31.944338002860732 52.37298351392235 -31.94438774576335 52.373107871178895 -31.94453075660838 52.373240585956786 -31.94466222350188</gml:posList> </gml:GeodesicString> </gml:segments> </gml:Curve> </gml:curveMember> </gml:Ring> </gml:exterior> </gml:PolygonPatch> </gml:patches> ... </aixm:ElevatedSurface> </aixm:horizontalProjection_surfaceExtent> ...
Multi-part obstacle
Some obstacles may be coded as multi part obstacle, with the all the parts having their own geometry and location (e.g. a building with an antenna on top, cable care with poles/buildings and catenary in between, etc.).Â
The example below show the encoding of the geometry and location of a cableway with a ground station, a top station (elevatedPoint) and a catenary in between (elevatedCurve).
<!-- LINE OBSTACLE (Cableway) 1x VerticalStructure with several VerticalStructurePart. --> <aixm:VerticalStructure gml:id="uuid.87a585b3-0597-4f5c-974f-cddfc604dc93"> ... <aixm:type>CABLE_CAR</aixm:type> ... <!-- PART1: LANGTALERECKHUETTE (Ground Station) of Cable Way --> <aixm:part> <aixm:VerticalStructurePart gml:id="vsp0004-1"> ... <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: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"> ... <aixm:type>CATENARY</aixm:type> <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:ElevatedCurve> </aixm:horizontalProjection_linearExtent> </aixm:VerticalStructurePart> </aixm:part> <!-- PART3: HOCHWILDEHAUS (Top Station) of Cable Way --> <aixm:part> <aixm:VerticalStructurePart gml:id="vsp0004-3"> ..> <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:ElevatedPoint> </aixm:horizontalProjection_location> </aixm:VerticalStructurePart> </aixm:part> </aixm:VerticalStructureTimeSlice> </aixm:timeSlice> </aixm:VerticalStructure>
The example below show the encoding of a building (elevatedSurface) with an antenna (elevatedPoint) mounted on the rooftop.
<!-- 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:type>BUILDING</aixm:type> <aixm:designator>OBS-00007-1</aixm:designator> <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:ElevatedSurface> </aixm:horizontalProjection_surfaceExtent> ... </aixm:part> <aixm:part> <aixm:VerticalStructurePart gml:id="vsp0007-2"> ... <aixm:type>ANTENNA</aixm:type> <aixm:designator>OBS-00007-2</aixm:designator> <aixm:horizontalProjection_location> <aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="VID000005"> <gml:pos>55.52416667 -24.63888889</gml:pos> .... </aixm:ElevatedPoint> </aixm:horizontalProjection_location> ... </aixm:VerticalStructurePart> </aixm:part> </aixm:VerticalStructureTimeSlice> </aixm:timeSlice> </aixm:VerticalStructure>