表面坡向 (3D Analyst)
摘要
通过三角化网格面创建可表示水平方向坡度测量值范围的面要素。
插图
用法
每个表面三角形的坡向以角度单位确定,然后根据其坡度的主方向或序数方向分配坡向编码。编码相同的相邻三角形会合并为一个要素。默认的分类方案定义如下:
编码
坡度方向
坡度角范围
-1
平面
无坡度
1
北
0–22.5
2
东北
22.5–45
3
东
45–135
4
东南
135–180
5
南
180–225
6
西南
225–270
7
西
270–315
8
西北
315–337.5
9
北
337.5–360
可通过分类间隔表提供自定义类定义。该表必须包含两列,第一列用于以角度表示坡向中断点,第二列用于定义其编码值。考虑以下示例:
间断点
Aspect_Code
90.0
1
180.0
2
270.0
3
360.0
4
该表可以是任何受支持的格式(.dbf、.txt 或地理数据库表)。字段的名称不重要,因为第一个始终用于分类间隔,第二个始终用于坡向编码。
语法
SurfaceAspect_3d (in_surface, out_feature_class, {class_breaks_table}, {aspect_field}, {pyramid_level_resolution})
参数 | 说明 | 数据类型 |
in_surface |
TIN、terrain 或 LAS 数据集表面,其坡向值将写入输出面。 | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class |
输出要素类。 | Feature Class |
class_breaks_table (可选) |
包含将用于对输出要素类中的坡向范围进行定义的分类间隔的表。 | Table |
aspect_field (可选) |
包含坡向编码值的字段。 | String |
pyramid_level_resolution (可选) |
此工具将使用 terrain 金字塔等级的 z 容差或窗口大小分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。 | Double |
代码实例
表面坡向 (SurfaceAspect) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
表面坡向 (SurfaceAspect) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具:
'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
Surface Volume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "elevation_tin"
#Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print result.GetMessage(0)
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
5/10/2014