Generate OIS Profile Data (Aviation)

Available with Aviation Airports license.

Available with Aviation Charting license.


Generates a JSON string that is stored in the PROFILEJSON field on the input Obstruction Identification Surface multipatch feature class that contains the data necessary to depict the terrain, runway, and OIS 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 uses the sampling distance parameter to extend from the runway and collect the centerline, the highest and lowest values for the terrain along a parallel extending from edge to edge. It also collects the profile information for the runway and the approach surface. The resulting 3D points representing the terrain, runway, and approach surface are stored in JSON format and saved in the corresponding approach OIS feature.

The output JSON string in PROFILEJSON will include elements defining the RunwayCenterline, OIS, Terrain, and OIS edges sections. All coordinates are in WGS84, and elevations and distances are given in meters.

The following table describes the values stored in the element paths data within each element:

Element pathsExamplePopulated with


[-95.9594, 45.5582, 336.6764, 30.0]

RunwayCenterline point coordinates and elevation at input sampling distance interval [Longitude, Latitude, Elevation, Distance from nearest Runway End]


[-95.9587, 45.5575, 342.1426, 90.0]

Obstruction Identification Surface coordinates and altitude at input sampling distance interval [Longitude, Latitude, Elevation, Distance from nearest Runway End]


[-95.9592, 45.5579, 338.3926, 338.3926, 338.3926, 30.0]

Terrain coordinates and elevations across OIS extent at input sampling distance interval [Longitude, Latitude, Minimum Elevation, Elevation along extended runway, Maximum Elevation, Distance from nearest Runway End]


[-95.958, 45.5578, -95.9594, 45.5572, 90.0]

Coordinates of OIS edges at opposite sides, outward from runway end at input sampling distance interval [Side 1 Longitude, Side 1 Latitude, Side 2 Longitude, Side 2 Latitude, Distance from nearest Runway End]


  • The Input Runway Features parameter must be z-enabled and have projected horizontal and vertical coordinate systems defined. It must include a populated Runway Designator text field, which must be named as one of the following from the ArcGIS Aviation data models:


    Recommended input features are RunwayCenterline from the Airports data models (18B or 18C) or ADHPSurfaceLine from the AIS datamodel. For more information, see the respective schemas for attribute properties.

  • With each approach surface, the tool will use the underlying digital elevation model (DEM) to determine the minimum and maximum elevations between the left and right edges of the approach surface, sampled along the length of the approach.

  • The Target OIS Features parameter must be a multipatch feature class, with projected horizontal and vertical coordinate systems defined, containing approach features and include the following fields:

    • RWYDESG or LANDINGSTRIPDESIGIDENTIFIER or DESIGNATOR_TXT (populated with a runway designator, for example, '09/27')
    • NAME (populated with the value 'Approach Surface')
    • DESCRIP (18B) or USERNOTETEXT (18C) (populated by Obstruction Identification Surfaces tools)
    • PROFILEJSON (to be populated by the tool)

      Recommended input features may be ObstructionIdSurface_MP from the Airports 18B or 18C data models. The approach features can be generated with one of the tools from the Obstruction Identification Surfaces toolset.


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

  • The tool will use a flight path ID field (PATHID, text, Nullable, 255) in the Target OIS Features to associate curved approach polylines with specific approach surfaces. This is required if you have an Input Flight Path Features value. Use this value in the Target OIS Features with the OBJECTID of the corresponding Input Flight Path Features. This will be populated by the Create Curved Approach tool when creating the curved approach surface or surfaces.


GenerateOISProfileData(in_runway_features, in_dems, target_ois_features, {in_flightpath_features}, {sampling_distance}, {sample_profile_ois}, {sample_profile_runways})
ParameterExplanationData Type

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

Feature Layer

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

Raster Layer

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

Feature Layer

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

Feature Layer

The distance, in meters, between generated points. The default is 30.


Specifies whether elevation points for OIS features will be generated.

  • PROFILE_OISGenerates elevation points.
  • NO_PROFILE_OISElevation points will not be generated. This is default.

Specifies whether elevation points along the runways will be generated.

  • PROFILE_RUNWAYGenerates elevation points along the runways.
  • NO_PROFILE_RUNWAYUses only the start and end points of the runways. This is default.

Derived Output

NameExplanationData Type

The updated feature class containing the generated obstruction identification surfaces.

Feature Layer

Code sample

GenerateOISProfileData example (stand-alone script)

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

import arcpy

# set gp environment

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

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

# 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 GenerateOISProfileData
arcpy.GenerateOISProfileData_aviation(inRunwayFeatures, inDEMRaster,



Licensing information

  • Basic: No
  • Standard: Requires ArcGIS Aviation Charting
  • Advanced: Requires ArcGIS Aviation Charting

Related topics