表面坡度 (3D Analyst)

许可等级:BasicStandardAdvanced

摘要

根据 TIN 或 terrain 数据集的三角形坡度值创建面要素。

了解有关“表面坡度”工作原理的详细信息

插图

Surface Slope illustration

用法

语法

SurfaceSlope_3d (in_surface, out_feature_class, {units}, {class_breaks_table}, {slope_field}, {z_factor}, {pyramid_level_resolution})
参数说明数据类型
in_surface

输入 terrain 或 TIN 数据集。

Tin Layer; Terrain Layer
out_feature_class

输出要素类。

Feature Class
units
(可选)

在计算坡度中所用的测量单位。

  • PERCENT坡度以百分比值形式表示。这是默认设置。
  • DEGREE坡度以相对于水平面的倾角形式表示。
String
class_breaks_table
(可选)

包含分类明细的表格,将用于分类输出要素。此表格的第一列将指示中断点,而第二列将提供分类代码。

Table
slope_field
(可选)

包含坡度值的字段。

String
z_factor
(可选)

高程值将乘上的系数。此系数通常用于转换 Z 线性单位,以匹配 XY 线性单位的值。默认值为 1,此时高程值保持不变。

Double
pyramid_level_resolution
(可选)

此工具将使用 terrain 金字塔等级的 z 容差或窗口大小分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。

Double

代码实例

SurfaceSlope 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "s_slope.shp", "PERCENT")
SurfaceSlope 示例 2(独立脚本)

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

'''****************************************************************************
Name: SurfaceSlope 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

环境

相关主题

许可信息

ArcGIS for Desktop Basic:需要 3D Analyst
ArcGIS for Desktop Standard:需要 3D Analyst
ArcGIS for Desktop Advanced:需要 3D Analyst
9/15/2013