描述
创建表示派生自 TIN、terrain 或 LAS 数据集表面的坡向测量值的面要素。
插图
使用方法
坡向表示表面的水平方向,以角度单位确定。表面的每个面都会分配到表示其坡度的主方向或序数方向的编码值,编码相同的相邻区域将合并为一个要素。默认的分类方案定义如下:
编码 坡度方向 坡度角范围 -1
平面
无坡度
1
北
0° – 22.5°
2
东北
22.5° – 67.5°
3
东
67.5° – 112.5°
4
东南
112.5° – 157.5°
5
南
157.5° – 202.5°
6
西南
202.5° – 247.5°
7
西
247.5° – 292.5°
8
西北
292.5° – 337.5°
9
北
337.5° – 360°
可通过分类间隔表提供自定义类定义。该表必须包含两列,第一列用于以角度表示坡向中断点,第二列用于定义其编码值。考虑以下示例:
间断点 Aspect_Code 90.0
1
180.0
2
270.0
3
360.0
4
该表可以是任何受支持的格式(.dbf、.txt 或地理数据库表)。字段的名称不重要,因为第一个始终用于分类间隔,第二个始终用于坡向编码。
语法
arcpy.ddd.SurfaceAspect(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.SurfaceAspect_3d("sample.gdb/featuredataset/terrain", "sample.gdb/featuredataset/terrain_aspect")
表面坡向 (SurfaceAspect) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: SurfaceAspect Example
Description: This script demonstrates how to use the
SurfaceAspect and SurfaceSlope tools to generate a polygon
that contains the intersection of both
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# List all TINs in workspace
listTINs = arcpy.ListDatasets("","TIN")
# Determine whether the list contains any TINs
if len(listTINs) > 0:
for dataset in listTINs:
print dataset
# Set Local Variables
aspect = arcpy.CreateUniqueName("Aspect.shp")
slope = arcpy.CreateUniqueName("Slope.shp")
outFC = dataset + "_Aspect_Slope.shp"
#Execute SurfaceAspect
arcpy.SurfaceAspect_3d(dataset, aspect)
#Execute SurfaceSlope
arcpy.SurfaceSlope_3d(dataset, slope)
#Execute SurfaceSlope
print "Starting Intersect"
arcpy.Intersect_analysis(aspect + " #;" + slope + " #", outFC, "ALL")
print "Completed intersect for " + dataset
del aspect, slope, outFC
else:
print "There are no TINs in the " + env.workspace + " directory."
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy, listTINs
环境
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst