ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

GenerateOISProfileJSON

  • 描述
  • 讨论
  • 语法
  • 代码示例

描述

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.

讨论

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.

注:

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.

语法

GenerateOISProfileJSON (runway_centerline, ois, demRaster, {sampling_distance}, {obstacle}, {profile_OIS}, {profile_Runway}, {curved_path})
参数说明数据类型
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.

注:

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.

注:

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

代码示例

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")

相关主题

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

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

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

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2022 Esri. | 隐私政策 | 法律声明