# Mobile obstacles

## Introduction

Mobile obstacles are objects that penetrate the obstacle collection surfaces without having a fixed location. The total perimeter of the potential penetration is captured, irrespective of the obstacle actual location.

The geometry should be a line or a polygon, depending on the movement area footprint penetrating the obstacle collection surface. The threshold definition as specified in EUROCAE ED-98C App G can be used to determine the exact geometry of the footprint,  i.e. a line or polygon.

If the mobile character of an obstacle is not relevant for aviation, it should be considered as a 'static' obstacle with a horizontal extent. For example, in the case of a railroad with an overhead power line, the power line is the relevant obstacle (not mobile). The trains moving on the railroad are irrelevant in this case.

Obstacles at fixed positions with variable geometry are not considered mobile obstacles. Please refer to Obstacles with variable geometry for the appropriate coding guidelines.

Typical cases for mobile obstacle are obstacles moving along a line or within an area, e.g. ships, cars or rail mounted cranes.

The VerticalStructurePart.mobile property may be used to indicate that the VerticalStructurePart is expected to move around its nominal location. If the VerticalStructurePart.mobile property is set to "YES", then the obstacle is moving along a curve or within the boundaries of a polygon. Therefore a point obstacle can never be mobile.

It is assumed that the VerticalStructure.width property for a curve, respectively the polygon covers the entire horizontal extent of the moving part, i.e. no part of the obstacle is outside these limits. If, for example, a crane moves along a line, the width of the line should be selected to cover all possible positions of the crane's jib.

Mobile obstacles may also have a schedule. For example, trains on a railroad can be present only at certain times. In this case, the VerticalStructurePart (line or polygon) concerned may have associated Timesheet(s).

## Coding as polygon or line depending on area

Roads, railroads, powerlines and other line shape obstacles can be modeled either as lines with a width or as polygons. EUROCAE ED-98C App G.3 gives some guidance, when such obstacles shall be coded as a polygon rather than a line, namely if the width of the footprint penetrating the collection surface:

• for Area 1 if larger than 100 meters, or 32 meters for helicopter requirements
• for Area 2 if larger than 10 meters
• for Area 3 if larger than 1 meter
• for Area 4 if larger than 5 meters.

This means that small and narrow roads in Area 1 can be simply modeled as a line, whereas the same object in area 2 should be modeled as a polygon.

Regardless of the shape, it is essential to code the highest elevation of the obstacle in the elevation property of the elevatedCurve or elevatedSurface  element of the VerticalStructurePart.

## Rail mounted cranes

A gantry crane (picture below left) or a container crane in a harbour can move in a limited area defined by the rails. A rail mounted gantry crane is captured considering the height and the maximum area of movement, which defines the footprint of the obstacle (picture below right). Then, the relevant footprint of the object is considered taking into account the penetration of the collection surface.

Such a crane should be coded as a VerticalStructurePart.horizontalProjection of type ElevatedSurface.

## Moving obstacles (cars, trucks) on a road

Such mobile obstacles are captured as a polygon considering the maximum height of the trucks using the roads and the lateral boundary of the part of the roads relevant for the operation.

Small roads may alternatively be coded as line obstacles with a width (see above).

## Ship channel

Ship channels are areas, where vessels may be present in any part of the area. In the example below there are three ship channels with different maximum vessel heights:

• up to 15 meters in the red area close to the runway
• up to 30 meters in the yellow area
• up to 49 meters in the blue area

Vessels exceeding these limits might still be possible, but shall be announced by NOTAM or ATIS.

Since these areas are quite large and clearly located in Area 2, they shall be coded as polygons with the maximum ship height as elevation.

In this example the waters are sea level, therefore the elevation equals the height. In cases of water bodies at higher elevations (e.g. rivers, or lakes) the elevation should be the elevation of the water plus the hip height.

## Mobile cable cranes

Cable cranes are mobile constructions used for logging woods in hilly forests. They are moved within a known perimeter every few days. The obstacle is captured as a polygon with an elevation of the highest possible point of the crane.

## Examples

```		<aixm:VerticalStructure gml:id="uuid.8a6626f9-0739-4ec2-ae56-4a8af45ec9fe">
<gml:identifier codeSpace="urn:uuid:">8a6626f9-0739-4ec2-ae56-4a8af45ec9fe</gml:identifier>
<aixm:timeSlice>
...
<aixm:name>DONLON LIGHT RAIL</aixm:name>
<aixm:lighted>NO</aixm:lighted>
<aixm:part>
<aixm:VerticalStructurePart gml:id="vsp0002-1">
<aixm:verticalExtent uom="M">12.5</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</aixm:verticalExtentAccuracy>
<aixm:mobile>YES</aixm:mobile>
<aixm:horizontalProjection_linearExtent>
<aixm:ElevatedCurve srsName="urn:ogc:def:crs:EPSG::4326" gml:id="crv12456">
<gml:segments>
<gml:GeodesicString>
<gml:posList>52.37805556 -31.91388889 52.37944444 -31.91388889</gml:posList>
</gml:GeodesicString>
</gml:segments>
<aixm:horizontalAccuracy uom="M">2.5</aixm:horizontalAccuracy>
<aixm:elevation uom="M">28.5</aixm:elevation>
<aixm:geoidUndulation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedCurve>
</aixm:horizontalProjection_linearExtent>
</aixm:VerticalStructurePart>
</aixm:part>
</aixm:VerticalStructureTimeSlice>
</aixm:timeSlice>
</aixm:VerticalStructure>
```
Example 2: Rail mounted crane
```		<aixm:VerticalStructure gml:id="uuid.a68d71f3-d6b2-42ac-97f7-1387e2b8fc80">
<gml:identifier codeSpace="urn:uuid:">a68d71f3-d6b2-42ac-97f7-1387e2b8fc80</gml:identifier>
<aixm:timeSlice>
...
<aixm:name>DONLON HARBOUR PORTCRANES</aixm:name>
<aixm:type>CRANE</aixm:type>
<aixm:lighted>YES</aixm:lighted>
<aixm:part>
<aixm:VerticalStructurePart gml:id="ID_2101">
<aixm:verticalExtent uom="M">40</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</aixm:verticalExtentAccuracy>
<aixm:type>CRANE</aixm:type>
<aixm:mobile>YES</aixm:mobile>
<aixm:designator>OBS-2001</aixm:designator>
<aixm:horizontalProjection_surfaceExtent>
<aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ID_2111">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve gml:id="C0011171">
<gml:segments>
<gml:GeodesicString>
<gml:posList>42.34195888626022 -71.02490482677439
42.34114247102134 -71.02487645246556
42.34124988992343 -71.01799503623012
42.3420622608233 -71.01801037180861
42.34195888626022 -71.02490482677439
</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
<aixm:horizontalAccuracy uom="M">2.5</aixm:horizontalAccuracy>
<aixm:elevation uom="M">45.8</aixm:elevation>
<aixm:geoidUndulation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedSurface>
</aixm:horizontalProjection_surfaceExtent>
</aixm:VerticalStructurePart>
</aixm:part>
</aixm:VerticalStructureTimeSlice>
</aixm:timeSlice>
</aixm:VerticalStructure> ```
Example 3: Road in area 2 as polygon
```		<aixm:VerticalStructure gml:id="uuid.2e265447-5051-4770-b03c-844575db752c">
<gml:identifier codeSpace="urn:uuid:">2e265447-5051-4770-b03c-844575db752c</gml:identifier>
<aixm:timeSlice>
...
<aixm:type>OTHER:TRUCK</aixm:type>
<aixm:lighted>NO</aixm:lighted>
<aixm:part>
<aixm:VerticalStructurePart gml:id="ID_2102">
<aixm:verticalExtent uom="FT">11</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="FT">3</aixm:verticalExtentAccuracy>
<aixm:type>OTHER:TRUCK</aixm:type>
<aixm:mobile>YES</aixm:mobile>
<aixm:designator>OBS-2002</aixm:designator>
<aixm:horizontalProjection_surfaceExtent>
<aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ID_2112">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve gml:id="C0011172">
<gml:segments>
<gml:GeodesicString>
<gml:posList>-17.95366751468379 122.2408790909087
-17.9535363118261 122.2408340756265
-17.95312324212226 122.2407625299572
-17.95284818847947 122.2407623333916
-17.95266589472395 122.2407358950926
-17.95256227601419 122.2406006627382
-17.95238746689386 122.2403603946079
-17.95215574770482 122.2401166240863
-17.95173088876535 122.2398945707215
-17.95093396584829 122.2395085179301
-17.95093081491957 122.2394228359782
-17.95114199017588 122.2395295070694
-17.95138861469984 122.2396506823734
-17.9517200861323 122.2398118219001
-17.95197717877459 122.2399397639386
-17.95229138193358 122.2400792834295
-17.95266225935231 122.2401848833914
-17.9528652908608 122.2401778552736
-17.9529791309108 122.240114553016
-17.95308943811437 122.240039934868
-17.9531890320544 122.2399428841143
-17.95327076474057 122.2398533607664
-17.95329249201708 122.2399390117978
-17.95324629826424 122.2399949958421
-17.95315034738468 122.2401256930282
-17.95308649791904 122.240275182003
-17.95305825514996 122.2404061378082
-17.95312273005621 22.2404548202425
-17.95323750311097 122.2405448072432
-17.95338355337771 122.2406575988964
-17.95360779182652 122.2407215871883
-17.95366751468379 122.2408790909087
</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
<aixm:horizontalAccuracy uom="FT">5</aixm:horizontalAccuracy>
<aixm:elevation uom="FT">34</aixm:elevation>
<aixm:geoidUndulation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="FT">3</aixm:verticalAccuracy>
</aixm:ElevatedSurface>
</aixm:horizontalProjection_surfaceExtent>
</aixm:VerticalStructurePart>
</aixm:part>
</aixm:VerticalStructureTimeSlice>
</aixm:timeSlice>
</aixm:VerticalStructure> ```
Example 4: Ship channels with different elevations in area 2
```		<aixm:VerticalStructure gml:id="uuid.abdd4d0a-9db3-410d-bd7a-5671b08eb04d">
<gml:identifier codeSpace="urn:uuid:">abdd4d0a-9db3-410d-bd7a-5671b08eb04d</gml:identifier>
<aixm:timeSlice>
...
<aixm:name>DONLON SHIP CHANNEL</aixm:name>
<aixm:type>OTHER:VESSEL</aixm:type>
<aixm:lighted>NO</aixm:lighted>
<aixm:part>
<aixm:VerticalStructurePart gml:id="ID_2103">
<aixm:verticalExtent uom="M">15</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</aixm:verticalExtentAccuracy>
<aixm:type>OTHER:VESSEL</aixm:type>
<aixm:mobile>YES</aixm:mobile>
<aixm:designator>OBS-2003-1</aixm:designator>
<aixm:horizontalProjection_surfaceExtent>
<aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ID_2113">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve gml:id="C0011173">
<gml:segments>
<gml:GeodesicString>
<gml:posList>1.3072036701055 103.938828411356
1.30296020238085 103.950693641498
1.30497893945374 103.955390295096
1.30497893945374 103.997495382617
1.29414367720534 104.018053541788
1.30197143320228 104.02242060566
1.30246581779157 104.040033056653
1.31676177216493 104.039538672064
1.31688536831225 104.033194069835
1.31569060555482 104.03216410194
1.31585540041791 104.028538614952
1.32018126557412 104.028373820089
1.3200576694268 104.022935589607
1.31573180427059 104.022853192175
1.31577300298637 104.0148194426
1.31527861839709 104.011358750475
1.31379546462924 104.007856859634
1.31091155452511 104.003778186772
1.31029357378851 104.000853077952
1.31062316351469 103.998175161427
1.31210631728254 103.996609610228
1.3130950864611 103.993890494987
1.31400145820811 103.990635796441
1.31210631728254 103.983961604485
1.31342467618728 103.985115168527
1.3168029708807 103.984085200633
1.3168029708807 103.979512143182
1.31560820812327 103.976669431793
1.31643218243874 103.97621624592
1.31606139399678 103.97193157948
1.31515502224977 103.967482118176
1.31367186848192 103.963321047883
1.31461943894471 103.962950259441
1.31301268902955 103.959901554474
1.31144713783016 103.954710516286
1.31082915709356 103.95038465113
1.31016997764119 103.947335946163
1.3072036701055  103.938828411356
</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
<aixm:horizontalAccuracy uom="M">3</aixm:horizontalAccuracy>
<aixm:elevation uom="M">15</aixm:elevation>
<aixm:geoidUndulation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedSurface>
</aixm:horizontalProjection_surfaceExtent>
</aixm:VerticalStructurePart>
</aixm:part>
<aixm:part>
<aixm:VerticalStructurePart gml:id="ID_2204">
<aixm:verticalExtent uom="M">30</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</aixm:verticalExtentAccuracy>
<aixm:type>OTHER:VESSEL</aixm:type>
<aixm:mobile>YES</aixm:mobile>
<aixm:designator>OBS-2003-2</aixm:designator>
<aixm:horizontalProjection_surfaceExtent>
<aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ID_2214">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve gml:id="C0011184">
<gml:segments>
<gml:GeodesicString>
<gml:posList>1.30296020238085 103.950734840214
1.29163055554317 103.982869838517
1.29418487592112 104.017991743714
1.30502013816951 103.997515981975
1.30497893945374 103.95545209317
1.3029602023808 103.950734840214
</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
<aixm:horizontalAccuracy uom="M">3</aixm:horizontalAccuracy>
<aixm:elevation uom="M">30</aixm:elevation>
<aixm:geoidUndulation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedSurface>
</aixm:horizontalProjection_surfaceExtent>
</aixm:VerticalStructurePart>
</aixm:part>
<aixm:part>
<aixm:VerticalStructurePart gml:id="ID_2305">
<aixm:verticalExtent uom="M">49</aixm:verticalExtent>
<aixm:verticalExtentAccuracy uom="M">1</aixm:verticalExtentAccuracy>
<aixm:type>OTHER:VESSEL</aixm:type>
<aixm:mobile>YES</aixm:mobile>
<aixm:designator>OBS-2003-3</aixm:designator>
<aixm:horizontalProjection_surfaceExtent>
<aixm:ElevatedSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ID_2315">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:Ring>
<gml:curveMember>
<gml:Curve gml:id="C0011195">
<gml:segments>
<gml:GeodesicString>
<gml:posList>1.30490989941832 103.945009667114
1.30490989941832 103.941895623558
1.27726371041083 103.94185941375
1.27704645155812 103.982758392773
1.28606269394563 104.027513716431
1.29417369111351 104.018026746529
1.29163900449855 103.982867022199
1.30490989941832 103.945009667114
</gml:posList>
</gml:GeodesicString>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
<aixm:horizontalAccuracy uom="M">3</aixm:horizontalAccuracy>
<aixm:elevation uom="M">49</aixm:elevation>
<aixm:geoidUndulation xsi:nil="true" nilReason="inapplicable"/>
<aixm:verticalDatum>EGM_96</aixm:verticalDatum>
<aixm:verticalAccuracy uom="M">1</aixm:verticalAccuracy>
</aixm:ElevatedSurface>
</aixm:horizontalProjection_surfaceExtent>
</aixm:VerticalStructurePart>
</aixm:part>
</aixm:VerticalStructureTimeSlice>
</aixm:timeSlice>
</aixm:VerticalStructure> ```
• No labels