重叠剖面 (3D Analyst)

摘要

创建表格和可选图表,用于说明一个或多个多面体、栅格、TIN 或 terrain 表面上的线要素的剖面。

使用情况

  • 将对每条输入线进行增密,以沿其重叠的剖面目标插值高度。 沿此增密方法创建的输入线的高程和距离,和有关线要素及剖面目标的信息一起存储在输出表中。

  • 输出表中的以下字段可提供在任何图表绘制应用程序中生成图形所需的信息:

    • FIRST_DIST- 到剖面段中第一个折点的距离。
    • FIRST_Z- 剖面段中第一个折点的高度。
    • SEC_DIST- 到剖面段中第二个折点的距离。
    • SEC_Z- 剖面段中第二个折点的高度。
    • LINE_ID- 用于定义剖面的线要素的唯一 ID。
    • SRC_TYPE- 剖面源的数据类型,即表面或多面体。
    • SRC_ID- 要描绘剖面的多面体要素的唯一 ID。 不适用于表面输入。
    • SRC_NAME- 到剖面源的名称和路径。

参数

标注说明数据类型
输入线要素

将在表面输入上描绘剖面的线要素。

Feature Layer
剖面目标

剖面的数据,可由多面体要素、栅格和三角化表面模型的任意组合组成。

Feature Layer; LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
输出表

将存储与输入线相交的每个剖面目标的插值高度的输出表。

Table
输出图形名称
(可选)

Pro 中不支持输出图表。

Graph

arcpy.ddd.StackProfile(in_line_features, profile_targets, out_table, {out_graph})
名称说明数据类型
in_line_features

将在表面输入上描绘剖面的线要素。

Feature Layer
profile_targets
[profile_targets,...]

剖面的数据,可由多面体要素、栅格和三角化表面模型的任意组合组成。

Feature Layer; LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_table

将存储与输入线相交的每个剖面目标的插值高度的输出表。

Table
out_graph
(可选)

Pro 中不支持输出图表。

Graph

代码示例

StackProfile 示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具。

arcpy.env.workspace = 'C:/data'
arcpy.ddd.StackProfile('profile_line.shp', profile_targets=['dem.tif', 'buildings.shp'],
                      out_table='profile_values.dbf')
StackProfile 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具。

'''**********************************************************************
Name: Save Profiles to Graph Files
Description: Creates profile graphs of multipatch and surface features,
             which are then saved as graph files.
**********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
profileLine = arcpy.GetParameterAsText(0)
profileTargets = arcpy.GetParameterAsText(1) # input las files
profileTable = arcpy.CreateUniqueName('profile_table', 'in_memory')
graphName = "Sample Graph"
outGraph = arcpy.GetParameterAsText(2) # output graph file

# Execute StackProfile
arcpy.ddd.StackProfile(profileLine, profileTargets, profileTable, graphName)

# Execute SaveGraph
arcpy.management.SaveGraph(graphName, outGraph)