Horizontal projection

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.

Example 1: ElevatedPoint
		<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.

Example 2: ElevatedCurve
		<!-- 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.

Example 3: ElevatedSurface
		<!-- 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).

Example 4-1: Multiple Parts
		<!-- 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.

Example 4-2: Multi Part Obstacle
		<!-- 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>