表面坡度 (3D Analyst)

许可等级:BasicStandardAdvanced

摘要

创建表示三角化网格面坡度值范围的面要素。

插图

Surface Slope

用法

语法

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

TIN、terrain 或 LAS 数据集,其坡度测量值将写入输出面要素。

LAS Dataset Layer; Terrain Layer; TIN Layer
out_feature_class

输出要素类。

Feature Class
units
(可选)

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

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

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

Table
slope_field
(可选)

包含坡度值的字段。

String
z_factor
(可选)

Z 值将乘上的系数。此值通常用于转换 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
5/10/2014