编辑 TIN (3D Analyst)

描述

从一个或多个输入要素中加载数据以修改现有不规则三角网 (TIN) 的表面。

了解有关“编辑 TIN”工作原理的详细信息

插图

向 TIN 中添加隔断线

使用方法

  • 此工具用于修改输入 TIN。如果想要保留源 TIN 的未修改版本,可考虑使用复制 TIN 工具维持备份。

  • 表面要素类型用于定义输入要素将如何构成表面三角化的定义。

    • 可将点要素指定为离散多点,而这些点所提供的数据结点的 Z 值用于表面的三角测量。
    • 可将线要素指定为离散多点和隔断线,表示沿某一表面的位置,该表面的坡度线性不连续,如山脊线、海岸线、路面边缘、建筑物轮廓等。
    • 此外,也可将面要素,以及用于定义数据区的裁剪要素、通过常量 Z 值定义区域的替换要素(如水体)和表示不存在数据的内部区域的擦除要素指定为离散多点和隔断线。
  • TIN 支持的最大结点数主要取决于计算机上连续的可用内存资源。考虑将结点总数限制到 6 百万以下,以保持响应显示性能和总体可用性。三角化网格面越大,越适合使用多分辨率 terrain 数据集进行管理。

语法

arcpy.3d.EditTin(in_tin, in_features, {constrained_delaunay})
参数说明数据类型
in_tin

待处理的 TIN 数据集。

TIN Layer
in_features
[[in_features, height_field, tag_value, SF_type, use_z],...]
False

将构成 TIN 定义的输入要素及其相关属性。

  • in_features - 其几何将被导入至 TIN 的要素。
  • height_field - 输入要素的高程源。可以使用输入要素属性表中的任何数值字段以及存储于 Shape 字段中的 Z 或 M 值。选择 <None> 关键字将导致要素的高程通过周围表面进行插值处理。
  • tag_field - 从输入要素属性表的整型字段中派生的数值属性,其值可用于将基本形式的属性分配给 TIN 的数据元素。指定 <None>,将不会分配标签值。
  • sf_type - 定义 TIN 表面中输入要素的角色。有效选项取决于输入要素的几何。可将点和多点要素定义为 Mass_Points,用于构成以 TIN 数据结点形式存储的高程值。通过指定 Hard_LineSoft_Line 可将线要素指定为 Mass_Points 或隔断线。通过指定 Hard_ClipSoft_Clip,面要素可表示插值边界;通过选择 Hard_EraseSoft_Erase,面要素可表示不包含数据的内部部分;通过指定 Hard_ReplaceSoft_Replace,面要素可表示高度恒定的区域。此外,通过指定 Hardvalue_FillSoftvalue_Fill,面还可以用于分配整型属性值。
  • use_z - 指示将 SHAPE 字段指定为高度源时是否使用 Z 或 M 值。将此选项设为 True 表示将使用 Z 值,而将其设为 False 将导致使用 M 值。
Value Table
constrained_delaunay
(可选)

指定与 TIN 隔断线一同使用的三角测量技术。

  • DELAUNAYTIN 将使用符合 Delaunay 的三角测量,这可能增密每条隔断线线段以生成多条三角形边。这是默认设置。
  • CONSTRAINED_DELAUNAYTIN 将使用约束型 Delaunay 三角测量,这会将各线段作为单独的边添加。所有位置均支持 Delaunay 三角测量规则,但沿隔断线处除外,因为它无法增密。
Boolean

派生输出

名称说明数据类型
derived_out_tin

更新后的 TIN。

TIN 图层

代码示例

EditTin 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.EditTin("my_tin", "clip_polygon.shp <None> <None> hardclip false; "\
                 "new_points.shp Shape <None> masspoints true", "Delaunay")
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

# Set environment settings
arcpy.env.workspace = "C:/data/LAS"

# 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)

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题