ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

GenerateOISProfileJSON

  • Summary
  • Discussion
  • Syntax
  • Code sample

Summary

Generates a JSON string that represents the RunwayCenterline, OIS, obstacles, and elevation along the profile of the approach surface, storing the result in an existing OIS Multipatch layer.

License:

This function requires anArcGIS Aviation Airports license.

Discussion

The GenerateOISProfileJSON function is used to create a standard format that provides a view of runway and approach surfaces as well as any obstructions and terrain (maximum and minimum) that can be used in web-based applications. The information contained in the JSON allows you to create a representation of the runway and approach profile similar to the Terrain and Obstacle Profile tool. This information will be stored in a text field on the OIS Multipatch called profileJSON. If you specify an obstacle feature class to be included, that information will be stored in the obstacleJSON field.

Note:

The profileJSON and obstacleJSON text fields must already exist in the OIS Multipatch feature class to be populated. Since these fields need to contain a long JSON string, the field length should be a minimum of 50,000 characters. A larger field size may be required depending on the source data and sampling distance used. The function will report an error to increase the field length if necessary.

Syntax

GenerateOISProfileJSON (runway_centerline, ois, demRaster, {sampling_distance}, {obstacle}, {profile_OIS}, {profile_Runway}, {curved_path})
ParameterExplanationData Type
runway_centerline

A z-aware polyline layer that contains the centerline of the runway. The recommended input is RunwayCenterline from the Airports 18B data model or ADHPSurfaceLine from the AIS data model. At least one of the following fields is required: DESIGNATOR_TXT or RWYDESG.

Layer
ois

A multipatch layer that represents the approach surface.

Note:

The recommended input is ObstructionIdSurface_MP from the Airports 18B data model.

The following fields are required:
  • DESCRIP
  • OBSTACLEJSON
  • PROFILEJSON
  • RWYDESG

Layer
demRaster

A layer of a raster dataset.

Layer
sampling_distance

The size of the sampling distance in meters.

Double
obstacle

A z-aware point layer that contains the obstacles.

Note:

The recommended input is ObstructionIdSurface_MP from the Airports 18B data model.

The following fields are required:
  • DISTVERT_UOM
  • ELEV_VAL
  • HEIGHT_VAL
  • HORIZACC_UOM
  • HORIZACC_VAL
  • OBSTACLETYPE_CODE or TYPE_CODE
  • VERTACC_UOM
  • VERTACC_VAL

Layer
profile_OIS

Specifies whether points other than the end points are added for the OIS.

  • False —Only end points are in the JSON. This is the default.
  • True —Multiple points are added in the JSON based on the sampling distance.
Boolean
profile_Runway

Specifies whether points other than the end points are added for the runway.

  • False —Only end points are in the JSON. This is the default.
  • True —Multiple points are added in the JSON based on the sampling distance.
Boolean
curved_path

The curved_path layer that contains the path used to create curved approach.

Layer

Code sample

GenerateOISProfileJSON example - Straight Approach

This script updates the profileJSON field with the information about the runway and approach profile as well as the obstacleJSON field with the obstacle information.

# Name: GenerateOISProfileJSONExample.py
# Description: Generates the JSON of the approach profile
# Author: Esri
# Date: April 2016

# Import arcpyproduction and aviation modules
import arcpy
import arcpyproduction

# Check out Aviation license
arcpy.CheckOutExtension("Aeronautical")

# Set variables
mxd = arcpy.mapping.MapDocument(r"C:\Aviation\GenerateJSON.mxd")
lyrs = arcpy.mapping.ListLayers(mxd)

lyrLine = lyrOIS = lyrdemRaster = lyrObstacle  = None

for lyr in lyrs:
    if lyr.name == "RunwayCenterLine":
        lyrLine  = lyr
    elif lyr.name == "ois":
        lyrOIS = lyr
    elif lyr.name == "DEMRaster":
        lyrdemRaster = lyr
    elif lyr.name == "Obstacle":
        lyrObstacle = lyr
		
# Generate the profile JSON
arcpyproduction.aviation.airports.GenerateOISProfileJSON(lyrLine, lyrOIS, lyrdemRaster, 20, lyrObstacle, False, False)

# Check in Aviation license
arcpy.CheckInExtension("Aeronautical")
GenerateOISProfileJSON example - Curved Approach

This script updates the profileJSON field with the information about the runway and approach profile as well as the obstacleJSON field with the obstacle information.

# Name: GenerateOISProfileJSON_curvedapproach.py
# Description: Generates the JSON of the approach profile
# Author: Esri
# Date: April 2016

# Import arcpyproduction and aviation modules
import arcpy
import arcpyproduction

# Check out Aviation license
arcpy.CheckOutExtension("Aeronautical")

# Set variables
mxd = arcpy.mapping.MapDocument(r"C:\Aviation\GenerateJSON.mxd")
lyrs = arcpy.mapping.ListLayers(mxd)

lyrLine = lyrOIS = lyrdemRaster = lyrObstacle = lyrCurvePath = None

for lyr in lyrs:
    if lyr.name == "RunwayCenterLine":
        lyrLine  = lyr
    elif lyr.name == "ois":
        lyrOIS = lyr
    elif lyr.name == "DEMRaster":
        lyrdemRaster = lyr
    elif lyr.name == "Obstacle":
        lyrObstacle = lyr
    elif lyr.name == "CurvedPath":
        lyrCurvePath = lyr

		
# Generate the profile JSON
arcpyproduction.aviation.airports.GenerateOISProfileJSON(lyrLine, lyrOIS, lyrdemRaster, 20, lyrObstacle, False, False, lyrCurvePath)

# Check in Aviation license
arcpy.CheckInExtension("Aeronautical")

Related topics

  • Introduction to arcpyproduction.aviation.airports
  • Adding the terrain and obstacle profile to the chart layout

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2021 Esri. | Privacy | Legal