Skip To Content

Generate OIS Obstacle Data

Summary

Generates a JSON string that is stored in the ObstacleJSON field on the Obstruction Identification Surface feature class that contains the data necessary to depict obstacles to safety of flight within the approach surfaces (in the form of points, lines, or polygons) in the Terrain and Obstacle Profile layout element.

For each runway feature, the tool finds each of the approach surfaces associated with that runway. With each approach surface, the tool then uses the underlying elevation models and input obstacle to determine the highest elevations and heights of those obstacle features that intersect the approach surfaces extent. The resulting 3D points representing the highest-point cross section of each affected obstacle are then created and stored in JSON format and saved in the corresponding approach OIS feature.

Usage

  • The Input Runway Features parameter must be z-aware and include one of the following fields:

    • RWYDESG
    • LANDINGSTRIPDESIGNATORIDENTIFIER
    • DESIGNATOR_TXT
    Tip:

    Recommended input features may be RunwayCenterline from the Airports data models (18B or 18C) or ADHPSurfaceLine from the AIS datamodel.

  • The Input Obstacle Features parameter must be z-aware and include the following fields:

    • TYPE_CODE
    • ELEV_VAL
    • HORIZACC_VAL
    • HORIZACC_UOM
    • VERTACC_VAL
    • VERTACC_UOM
    • DISTVERT_UOM
    Tip:

    Recommended input features are VerticalStructurePoint, VerticalStructureLine, and VerticalStructurePolygon from the Airports 18B or 18C data models.

  • The Target OIS Features parameter must include the following fields:

    • RWYDESG or LANDINGSTRIPDESIGNATORIDENTIFIER or DESIGNATOR_TXT
    • Name
    • OBSTACLEJSON
      Tip:

      Recommended input features may be ObstructionIdSurface_MP from the Airports 18B or 18C data models.

      Note:

      The field length must be at least 50,000 characters. A warning appears if the JSON output exceeds the length of the OBSTACLEJSON field.

  • If the tool is run repeatedly with different Input Obstacle Features, it will append the generated JSON data for each set of obstacles to each affected approach surface feature. Subsequently running the tool with an updated version of given Input Obstacle Features will selectively update the JSON data for those features without affecting the JSON data generated using other Input Obstacle Features.

  • The tool will use a flight path ID field (PATHID) to associate curved approach polylines with specific approach surfaces. This is required if you have Input Flight Path Features value provided.

Syntax

GenerateOISObstacleData_aviation (in_runway_features, in_dems, in_obstacle_features, target_ois_features, {obstacle_height_field}, {obstacle_height_unit}, {in_flightpath_features})
ParameterExplanationData Type
in_runway_features

This is the input runway dataset. The feature class must be z-enabled and contain polylines.

Feature Layer
in_dems
[in_dems,...]

The DEMs covering the runways and their approach obstruction identification surfaces.

Raster Layer
in_obstacle_features

The input obstacle features that will be analyzed. The feature class must be z-enabled.

Feature Layer
target_ois_features

The multipatch features with defined Airport schema. The feature class must be z-enabled.

Feature Layer
obstacle_height_field
(Optional)

The field containing the height of the obstacle feature.

Text
obstacle_height_unit
(Optional)

The unit of the obstacle height.

Text
in_flightpath_features
(Optional)

The polyline features that define curved approaches to the specified runways. If unspecified, all input features will be processed as straight approaches.

Feature Layer

Derived Output

NameExplanationData Type
out_ois_features

The updated feature class containing the generated obstruction identification surfaces.

Feature Layer

Code sample

GenerateOISObstacleData example (stand-alone script)

The following Python window script demonstrates how to use the GenerateOISObstacleData tool.

´╗┐import arcpy

# set gp environment
arcpy.CheckOutExtension("Airports")

# Input RunwayCenterline Feature Class
inRunwayFeatures = r"C:\data\ois.gdb\RunwayCenterlines"

# Input Terrain DEM Raster
inDEMRaster = [r"C:\data\ois.gdb\AirportFirstDEM",
               r"C:\data\ois.gdb\AirportSecondDEM"]

# Input Obstacle Feature Class
inOISObstacles = r"C:\data\ois.gdb\Obstacles"

# Input Obstruction Identification Surface Feature Class
targetOISFeatures = r"C:\data\ois.gdb\ObstructionIdSurface"

# Input Curved Approach Feature Class
inCurvedApproachFeatures = r"C:\data\ois.gdb\CurvedApproach"

# Processing GenerateOISObstacleData
arcpy.GenerateOISObstacleData_aviation(inRunwayFeatures, inDEMRaster,
                                       inOISObstacles, targetOISFeatures,
                                       "ELEV_Val", "Meters",
                                       inCurvedApproachFeatures)

arcpy.CheckInExtension("Airports")

Environments

Licensing information

  • Basic: No
  • Standard: Requires Aviation Airports
  • Advanced: Requires Aviation Airports

Related topics