Group of obstacles

Coding rules



The VerticalStructure.group property can be used to indicate that an obstacle consists of a number of closely situated similar objects. This property is not specified in the ICAO PANS-AIM provisions for obstacle data sets, but it might be useful in certain situations, as the ICAO Charting Manual provides a specific symbol for groups of obstacles. 

The EUROCAE/RTCA standard for obstacle data sets indicates that vegetation that cannot be captured as individual obstacles should be captured as a polygon.  In this case the group = 'YES' indicates that the polygon is actually occupied by a number of similar trees or other vegetation. 

Note: If there exists in the middle of the group an obstacle that is significantly higher than the group, this should not be included in the group. That should be still provided as an individual obstacle. As a consequence, the geometry of that individual obstacle (point, line, polygon) intersects the geometry of the group (polygon). This should be kept in mind by data users as a particular case where two obstacles can have intersecting horizontal projections.

The TOD Manual provides guidance on the provision of data for grouping obstacles that have a similar height. Adjacent point obstacles of similar height and elevation can be grouped into an obstacle of type polygon or line. The decision if the objects are captured as single obstacle or as a group depends on the operational needs e.g. if operations are planned or not between obstacles. When obstacles that are similar in height, type and are located close to each other are captured as individual points, the TOD Manual indicates that they can published as a group. This approach is supported in AIXM through the coding of a single VerticalStructure with multiple VerticalStructurePart and group = YES, to indicate that the parts constitute a group rather than elements of a single volume. 

Therefore, the group property may be used to indicate that the obstacle consists of a group of objects with similar type and elevation and located closely to each other, as follows:

  • for obstacles with polygon (ElevatedSurface) or line (EleveatedCurve) geometry
  • for obstacles that have multiple parts, each with point (ElevatedPoint) geometry

Coding Examples


Case 1: Polygon (e.g. group of wind turbines)

Case where a large number of obstacles with similar elevation are grouped, an area encompassing the grouped obstacles (perimeter) may be provided instead of providing each individual obstacle.

The wind park can be represented as a polygon as shown in the figure below.

In AIXM such as case may be coded as a VerticalStructure consisting of one (or more) VerticalStructurePart with ElevatedSurface geometry and group = 'YES'. The example below shows the encoding of a wind park comprising 8 wind turbines as polygon:

Example 1: Wind Park as Polygon
		<!-- GROUPS OF OBSTACLES GROUPED WITH AN AREA (POLYGON) (Windfarm area).
			Case where a large number of obstacles with similar elevation are grouped, an area encompassing the grouped obstacles may be published instead of publishing each individual object.-->
		<aixm:VerticalStructure gml:id="uuid.47db48e9-d46a-4100-a266-25a3968b6a98">
			<gml:identifier codeSpace="urn:uuid:">47db48e9-d46a-4100-a266-25a3968b6a98</gml:identifier>
			...
					<aixm:name>RODSAND II</aixm:name>
					<aixm:type>WINDMILL_FARMS</aixm:type>
					<aixm:lighted>YES</aixm:lighted>
					<aixm:markingICAOStandard>NO</aixm:markingICAOStandard>
					<!-- aixm:group is not required by PANS-AIM. 
					However, in AIXM it is coded with 'YES' in case a single part obstacle is actually a group of several obstacles. -->
					<aixm:group>YES</aixm:group>
					<aixm:radius xsi:nil="true" nilReason="inapplicable"/>
					<aixm:part>
						<aixm:VerticalStructurePart gml:id="vsp0002-1">
							<aixm:verticalExtent uom="M">115</aixm:verticalExtent>
							<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
							<aixm:type>WINDMILL_FARMS</aixm:type>
							<aixm:markingFirstColour>GREEN</aixm:markingFirstColour>
							<aixm:designator>OBS-0002</aixm:designator>
							<aixm:horizontalProjection_surfaceExtent>
								<aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0002-1">
									<gml:patches>
										<gml:PolygonPatch>
											<gml:exterior>
												<gml:Ring>
													<gml:curveMember>
														<gml:Curve gml:id="c1234">
															<gml:segments>
																<gml:GeodesicString>
																	<gml:posList>54.58333333 -24.48555556 
																		54.56222222 -24.61694444 
																		54.52638889 -24.61694444 
																		54.57111111 -24.45777778 
																		54.58333333 -24.48555556</gml:posList>
																</gml:GeodesicString>
															</gml:segments>
														</gml:Curve>
													</gml:curveMember>
												</gml:Ring>
											</gml:exterior>
										</gml:PolygonPatch>
									</gml:patches>
									<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
									<aixm:elevation uom="M">115</aixm:elevation>
									<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
									<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
								</aixm:ElevatedSurface>
							</aixm:horizontalProjection_surfaceExtent>
							<aixm:lighting>
								<aixm:LightElement gml:id="le0002-1">
									<aixm:colour>RED</aixm:colour>
									<aixm:intensityLevel>LIM</aixm:intensityLevel>
									<aixm:type>OTHER:FLASHING</aixm:type>
								</aixm:LightElement>
							</aixm:lighting>
						</aixm:VerticalStructurePart>
					</aixm:part>
					<!-- The number of obstacles forming the group is coded as annotation. -->
					<aixm:annotation>
						<aixm:Note gml:id="n12-12">
							<aixm:propertyName>group</aixm:propertyName>
							<aixm:translatedNote>
								<aixm:LinguisticNote gml:id="ln12-12">
									<aixm:note lang="eng">8 Wind Turbines</aixm:note>
								</aixm:LinguisticNote>
							</aixm:translatedNote>
						</aixm:Note>
					</aixm:annotation>
				</aixm:VerticalStructureTimeSlice>
			</aixm:timeSlice>
		</aixm:VerticalStructure>
	</message:hasMember>

Case 2: Line (e.g. group of wind turbines)

Another case is the provision of multiple obstacles as a line. For example, wind turbines positioned in a line as in the figure below (red line).

In AIXM such as case may be coded as a VerticalStructure consisting of one (or more) VerticalStructurePart with ElevatedCurve geometry and group = 'YES'The example below shows the encoding a wind park consisting of an unknown amount of wind turbines with similar elevation (height) as one line:

Example 2: Wind turbines along a line
		<!-- LINE OBSTACLE (Wind Park) -->
		<aixm:VerticalStructure gml:id="uuid.718c2782-a624-405e-86b6-144b40b680b0">
			<gml:identifier codeSpace="urn:uuid:">718c2782-a624-405e-86b6-144b40b680b0</gml:identifier>
			...
					<aixm:name>TUBORG IIB</aixm:name>
					<aixm:type>WINDMILL_FARMS</aixm:type>
					<aixm:lighted>YES</aixm:lighted>
					<aixm:markingICAOStandard>NO</aixm:markingICAOStandard>
					<aixm:group>YES</aixm:group>
					<aixm:radius xsi:nil="true" nilReason="inapplicable"/>
					<aixm:part>
						<aixm:VerticalStructurePart gml:id="vsp0006-1">
							<aixm:verticalExtent uom="M">75</aixm:verticalExtent>
							<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
							<aixm:type>WINDMILL_FARMS</aixm:type>
							<aixm:markingFirstColour>GREEN</aixm:markingFirstColour>
							<aixm:designator>OBS-00006</aixm:designator>
							<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:lighting>
								<aixm:LightElement gml:id="le0006-1">
									<aixm:colour>RED</aixm:colour>
									<aixm:intensityLevel xsi:nil="true" nilReason="unknown"/>
									<aixm:intensity xsi:nil="true" nilReason="unknown"/>
									<aixm:type>OTHER:FLASHING</aixm:type>
									<aixm:availability xsi:nil="true" nilReason="unknown"/>
								</aixm:LightElement>
							</aixm:lighting>
						</aixm:VerticalStructurePart>
					</aixm:part>
				</aixm:VerticalStructureTimeSlice>
			</aixm:timeSlice>
		</aixm:VerticalStructure>
	</message:hasMember>

Case 3: Series of points (e.g. group of wind turbines)

There may be an operational benefit to provide each individual obstacle (e.g. wind turbine) belonging to a group of obstacles of similar height (e.g. wind park) .

In AIXM there are two possibilities to encode such a case:

Option A. The wind park as such is encoded as one VerticalStructure. Each individual wind turbine is encoded as a VerticalStructurePart. In this case, the group = 'YES' is used to indicate that the obstacle parts are similar in type and height and are close to each other.

Option B: Each individual wind turbine is encoded as its own VerticalStructure. The wind turbines are not related to each other.

The example below shows the encoding of Option A:

Example 3: Wind Park with Series of Points
		<!-- GROUPS OF OBSTACLES EACH OBSTACLE PUBLISHED INDIVIDUALLY (Wind turbines of a windpark). -->
		<aixm:VerticalStructure gml:id="uuid.6c7fac45-c24f-4e36-b196-687458d99070 ">
			<gml:identifier codeSpace="urn:uuid:">6c7fac45-c24f-4e36-b196-687458d99070</gml:identifier>
			...
					<aixm:name>WINDPARK BAUMGARTEN</aixm:name>
					<aixm:type>WINDMILL_FARMS</aixm:type>
					<aixm:lighted>NO</aixm:lighted>
					<aixm:markingICAOStandard>OTHER:NOT_MARKED</aixm:markingICAOStandard>
					<aixm:group>YES</aixm:group>
					<aixm:radius xsi:nil="true" nilReason="inapplicable"/>
					<!-- Windturbine 1 of the Windpark-->
					<aixm:part>
						<aixm:VerticalStructurePart gml:id="vsp0003-1">
							<aixm:verticalExtent uom="M">150</aixm:verticalExtent>
							<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
							<aixm:type>WINDMILL</aixm:type>
							<aixm:designator>OBS-0003-1</aixm:designator>
							<aixm:horizontalProjection_location>
								<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0003-1">
									<gml:pos>47.74500000 -27.52583333</gml:pos>
									<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
									<aixm:elevation uom="M">264</aixm:elevation>
									<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
									<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
								</aixm:ElevatedPoint>
							</aixm:horizontalProjection_location>
						</aixm:VerticalStructurePart>
					</aixm:part>
					<!-- Windturbine 2 of the Windpark-->
					<aixm:part>
						<aixm:VerticalStructurePart gml:id="vsp0003-2">
							<aixm:verticalExtent uom="M">150</aixm:verticalExtent>
							<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
							<aixm:type>WINDMILL</aixm:type>
							<aixm:designator>OBS-0003-2</aixm:designator>
							<aixm:horizontalProjection_location>
								<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0003-2">
									<gml:pos>47.74222222 -27.52388889</gml:pos>
									<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
									<aixm:elevation uom="M">253</aixm:elevation>
									<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
									<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
								</aixm:ElevatedPoint>
							</aixm:horizontalProjection_location>
						</aixm:VerticalStructurePart>
					</aixm:part>
					<!-- Windturbine 3 of the Windpark-->
					<aixm:part>
						<aixm:VerticalStructurePart gml:id="vsp0003-3">
							<aixm:verticalExtent uom="M">150</aixm:verticalExtent>
							<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
							<aixm:type>WINDMILL</aixm:type>
							<aixm:designator>OBS-0003-3</aixm:designator>
							<aixm:horizontalProjection_location>
								<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0003-3">
									<gml:pos>47.74194444 -27.528888896</gml:pos>
									<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
									<aixm:elevation uom="M">255</aixm:elevation>
									<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
									<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
								</aixm:ElevatedPoint>
							</aixm:horizontalProjection_location>
						</aixm:VerticalStructurePart>
					</aixm:part>
					<!-- Windturbine 4 of the Windpark-->
					<aixm:part>
						<aixm:VerticalStructurePart gml:id="vsp0003-4">
							<aixm:verticalExtent uom="M">150</aixm:verticalExtent>
							<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
							<aixm:type>WINDMILL</aixm:type>
							<aixm:designator>OBS-0003-4</aixm:designator>
							<aixm:horizontalProjection_location>
								<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0003-4">
									<gml:pos>47.73888889 -27.52750000</gml:pos>
									<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
									<aixm:elevation uom="M">239</aixm:elevation>
									<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
									<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
								</aixm:ElevatedPoint>
							</aixm:horizontalProjection_location>
						</aixm:VerticalStructurePart>
					</aixm:part>
					<!-- Windturbine 5 of the Windpark-->
					<aixm:part>
						<aixm:VerticalStructurePart gml:id="vsp0003-5">
							<aixm:verticalExtent uom="M">150</aixm:verticalExtent>
							<aixm:verticalExtentAccuracy uom="M">30</aixm:verticalExtentAccuracy>
							<aixm:type>WINDMILL</aixm:type>
							<aixm:designator>OBS-00003-5</aixm:designator>
							<aixm:horizontalProjection_location>
								<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ep0003-5">
									<gml:pos>47.73888889 -27.43361111</gml:pos>
									<aixm:horizontalAccuracy uom="M">50</aixm:horizontalAccuracy>
									<aixm:elevation uom="M">269</aixm:elevation>
									<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
									<aixm:verticalAccuracy uom="M">30</aixm:verticalAccuracy>
								</aixm:ElevatedPoint>
							</aixm:horizontalProjection_location>
						</aixm:VerticalStructurePart>
					</aixm:part>
				</aixm:VerticalStructureTimeSlice>
			</aixm:timeSlice>
		</aixm:VerticalStructure>