堆栈剖面 (3D Analyst)
摘要
创建表格和可选图表,用于说明一个或多个多面体、栅格、TIN 或 terrain 表面上的线要素的剖面。
插图
用法
-
如果填充了输出图表名称参数并且在 ArcMap、ArcScene 或 ArcGlobe 中执行工具,则生成的图表将会显示在屏幕上。
图表将会存储在内存中,但是可以使用保存图表工具将其另存为图表文件。
输出表提供生成剖面图所需的信息。每个线要素均通过沿线引入新折点,以捕捉剖面特征的方式,沿其重叠剖面目标增密。沿此增密方法创建的输入线的高程和距离,和有关线要素及剖面目标的其余信息一起存储在输出表中。其字段中的值可用于在各种外部应用程序中创建图表。字段表示:
- FIRST_DIST - 到剖面段中第一个折点的距离。
- FIRST_Z - 剖面段中第一个折点的高度。
- SEC_DIST - 剖面段中第二个折点的距离。
- SEC_Z - 剖面段中第二个折点的高度。
- LINE_ID - 用于定义剖面的线要素的唯一 ID。
- SRC_TYPE - 剖面源的数据类型,是表面或多面体。
- SRC_ID - 要描绘剖面的多面体要素的唯一 ID。不适用于表面输入。
- SRC_NAME - 剖面源的名称和路径。
语法
StackProfile_3d (in_line_features, profile_targets, out_table, {out_graph})
参数 | 说明 | 数据类型 |
in_line_features |
将在表面输入上描绘剖面的线要素。 | Feature Layer |
profile_targets [profile_targets,...] |
一个或多个多面体要素与构成正被描绘轮廓的表面模型的栅格、terrain 或 TIN 数据集。 | Feature Layer; Raster Layer; Terrain Layer; TIN Layer |
out_table |
包含通过将输入线要素插入堆栈目标获得的值的输出表。 | Table |
out_graph (可选) |
能够使用保存图表工具保存到磁盘的可选输出图表的内存名称。 | Graph |
代码实例
堆栈剖面 (StackProfile) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具:
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.StackProfile_3d('profile_line.shp', 'dem.tif; buildings.shp',
'profile_values.dbf', 'Surface Profile')
堆栈剖面 (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
import exceptions, sys, traceback
# 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
try:
arcpy.CheckOutExtension('3D')
# Execute StackProfile
arcpy.ddd.StackProfile(profileLine, profileTargets, profileTable, graphName)
# Execute SaveGraph
arcpy.management.SaveGraph(graphName, outGraph)
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
相关主题
许可信息
ArcGIS for Desktop Basic:需要 3D Analyst
ArcGIS for Desktop Standard:需要 3D Analyst
ArcGIS for Desktop Advanced:需要 3D Analyst
9/15/2013