表面等值线 (3D Analyst)
插图
用法
输出要素类为 2D 形式且包含具有等值线值的属性。
-
使用间距和起始等值线选项可调整输出要素类的范围和分辨率。
-
使用外部等值线字段数据可将要素类转换为 3D。
-
在某些实例中,使用 TIN 表面创建等值线时可能不会生成最后一条有效等值线。这是计算机等值线软件常见的算法局限性。为确保生成全部有效等值线,请向起始等值线字段添加极小的负值以对数据进行轻微移动。
Z 因子参数仅会影响栅格和 TIN 的结果,不会影响 terrain 数据集。使用 terrain 数据集时,可指定将 z 因子考虑到内的等值线间距。例如,如果希望等值线间距为一英尺,而 terrain 数据集表面以米为单位,则将等值线间距指定为 0.3048。另外,也可使用 Terrain 转栅格或 Terrain 转 TIN 地理处理工具将 terrain 数据集转换为栅格或 TIN。
语法
参数 | 说明 | 数据类型 |
in_surface |
输入 terrain 或 TIN 数据集。 | Terrain Layer; TIN Layer |
out_feature_class |
输出要素类。 | Feature Class |
interval |
等值线间的间距。 | Double |
base_contour (可选) |
起始高度与计曲线间距一起用来确定生成何种等值线。起始高度是要加上或减去计曲线间距的起点。默认情况下,起始等值线为 0.0。 | Double |
contour_field (可选) |
将与每条线均关联的等值线值存储在输出要素类中的字段。 | String |
contour_field_precision (可选) |
等值线字段的精度。零将指定一个整数,数字 1-9 则指示字段将包含的小数位数。默认情况下,字段将为整数 (0)。 | Long |
index_interval (可选) |
指定计曲线之间高程差异的可选值。该值通常比等值线间距大五倍。使用该参数会将计曲线间距字段定义的整型字段添加到输出要素类的属性表中,其中值 1 定义计曲线。 | Double |
index_interval_field (可选) |
指定等值线是否为计曲线的字段的名称。该参数仅能在定义了计曲线间距后使用。默认情况下,字段名称是 Index。 | String |
z_factor (可选) |
指定一个与表面高度相乘的系数,该系数用于将 Z 单位转换为与 XY 单位一致。Z 因子参数仅影响栅格和 TIN 数据集的结果,而不影响 terrain 数据集的结果。 | Double |
pyramid_level_resolution (可选) |
此工具将使用 terrain 金字塔等级的 z 容差或窗口大小分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。 | Double |
代码实例
下面的示例演示了如何在 Python 窗口中使用此工具:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceContour_3d("sample.gdb/featuredataset/terrain", "contour.shp", 10)
下面的示例演示了如何在独立 Python 脚本中使用此工具:
'''****************************************************************************
Name: SurfaceContour Example
Description: This script demonstrates how to use the
SurfaceContour tool.
****************************************************************************'''
# 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"
# Set Local Variables
inSurface = "sample.gdb/featuredataset/terrain"
outContour = arcpy.CreateUniqueName("contour.shp")
#Execute SurfaceContour
arcpy.SurfaceContour_3d(inSurface, outContour, 10)
del inSurface, outContour, arcpy