Skip To Content

Generate OIS Obstacle Data

Summary

Enhances select Obstruction Identification Surface (OIS) features by determining the data necessary to build a skyline profile of point, polyline, or polygon features that may or may not be true obstacles to safe flight approach, adding collections of 3D points representing obstacle cross-sections to those features using JSON.

Usage

  • The Input Runway Features parameter must be z-enabled.

  • The Input Runway Features parameter must have a Runway Designator field (RWYDESG, DESIGNATOR_TXT, or RUNWAYDESIGNATORIDENTIFIER).

  • The Input Obstacle Features parameter must be z-enabled and have a type code field (TYPE_CODE) and an elevation value field (ELEV_VAL).

  • Using a multipatch OIS feature class generated by any of the OIS tools, for example FAA13A or FAA18B, is recommended with all defined attributes populated in the Airport schema.

  • Straight runway approaches are assumed and extended to 25000 meters.

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

    • Runway Designator (RWYDESG or LANDINGSTRIPDESIGNATORIDENTIFIER)
    • Name
    • OBSTACLEJSON
      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.

  • The tool will take each runway feature and find each of the approach surfaces (OIS features with descriptions that include the words Approach or Area 2B) associated with that runway. With each approach surface, the tool will then use the underlying DEM and the Input Obstacle Features parameter to determine the highest elevations and heights of those obstacle features that intersect that approach OIS feature. 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.

  • 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

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= ["C:\data\ois.gdb\AirportFirstDEM", "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

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

Related topics