需要 3D Analyst 许可。
摘要
从定义不规则三角网 (TIN) 表面区域的一个或多个输入要素类添加要素。
插图
用法
可以同时添加多个要素类。
如果默认列宽过小,您可以调整“输入要素类”属性对话框的大小以便加大宽度。
- TIN 支持的最大结点数主要取决于计算机上连续的可用内存资源。在 32 位 Windows 平台上,正常操作条件下,可达到的最大大小为 1000 到 1500 万个结点。但是,应考虑将结点数限制在几百万,以保持足够的可用性和显示性能。更大的数据集最好使用 terrain 表示。
语法
EditTin_3d (in_tin, in_features, {constrained_delaunay})
参数 | 说明 | 数据类型 |
in_tin | 待处理的 TIN 数据集。 | TIN Layer |
in_features [[in_feature_class, height_field, tag_value, SF_type, use_z],...] | 指定将包含在 TIN 中的要素。每个输入都可以使用以下属性集来定义其要素构成表面的方式: height_field - 此字段提供要素的高程值。有效选项包括任何数值字段和 Shape 字段,只要要素几何支持 Z 值。<无> 关键字也可用于不具有任何限定字段或不需要高程值的要素。Z-less 要素的值通过对周围表面进行插值得出。 tag_value - 将整数值作为基本形式的属性分配给三角形的填充面。其边界在三角测量中将强化为隔断线。这些面内部的三角形会将标签值作为属性。指定在 TIN 中用作标签值的要素类属性的名称。如果不使用标签值,请指定 <无>。 SF_type - 定义如何将要素几何加入到表面的三角剖分中的表面要素类型。点要素只能用作离散多点,而线要素可以定义为隔断线;面可以定义为离散多点选项,而线可定义为裁剪、擦除、替换以及值填充要素。隔断线和面表面类型具有“硬”和“软”限定符,指示要素表示的是表面上平滑还是尖锐的不连续部分。 use_z - 指定将输入要素的 SHAPE 字段表示为高度源时是否使用 Z 值。选择 true 则使用 Z 值,选择 false 则使用 M 或测量值。默认情况下使用 Z 值。 | Value Table |
constrained_delaunay (可选) | 除了沿隔断线的地方,约束型 Delaunay 三角测量在其他任何地方都符合 Delaunay 规则。在使用符合 Delaunay 的三角测量时,隔断线将由软件进行增密,这样,一条输入隔断线线段将导致形成多条三角形边。而在使用约束型 Delaunay 三角测量时,不会进行增密,并且每条隔断线线段都作为一条单边添加。
| Boolean |
代码实例
编辑 TIN (EditTIN) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.ddd.EditTin("my_tin", "clip_polygon.shp <None> <None> hardclip false; "\
"new_points.shp Shape <None> masspoints true", "Delaunay")
编辑 TIN (EditTIN) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: EditTin Example
Description: This script demonstrates how to use the
EditTin tool to add features to a output of the CopyTin 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/LAS"
try:
# Set Local Variables
origTin = "elevation"
copyTin = "elev_copy"
inFCs = [["Clip_Polygon.shp", "<None>", "<None>", "hardclip", False],
["new_points.shp", "Shape", "<None>", "masspoints", True]]
# Execute CopyTin
arcpy.CopyTin_3d(origTin, copyTin, "CURRENT")
# Execute EditTin
arcpy.EditTin_3d(copyTin, inFCs, Delaunay)
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy