编辑 TIN (3D Analyst)

摘要

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

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

插图

“编辑 TIN”工具图示
向 TIN 中添加隔断线。

使用情况

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

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

    • 可将点要素指定为离散多点,而这些点所提供的数据结点的 z 值用于表面的三角测量。
    • 可将线要素指定为离散多点和隔断线,表示沿某一表面的位置,该表面的坡度线性不连续,如山脊线、海岸线、路面边缘、建筑物轮廓等。
    • 此外,也可将面要素,以及用于定义数据区的裁剪要素、通过常量 z 值定义区域的替换要素(例如水体)和表示不存在数据的内部区域的擦除要素指定为离散多点和隔断线。
  • 如果有足够的内存,该工具可以创建由数百万个点组成的 TIN。 但是,将 TIN 结点的数量限制在 600 万以下将确保响应迅速的显示性能和整体可用性。 如果需要更大的 TIN 表面,请考虑使用 terrain 数据集。 terrain 数据集提供了多分辨率 TIN 表面,可以支持更大规模的源测量集合。

参数

标注说明数据类型
输入 TIN

将处理的 TIN 数据集。

TIN Layer
表面要素定义

输入要素及其相关属性定义如何将其添加到 TIN。

  • 输入要素 - 将添加到 TIN 的要素。
  • 高度字段 - 输入属性表中的字段,用于为其要素提供高程。 Shape 字段中的 z 值或 m 值可以与任何数值字段配合使用。 如果选择 <None> 选项,则将根据要素周围的 3D 测量值来插值该要素的高程。
  • 标签字段 - 将使用从输入要素属性表的整型字段中获得的值分配给 TIN 的数据元素的数值属性。
  • 类型 - 定义 TIN 表面中输入要素的角色。 可用选项取决于输入要素的几何。 对于基于线和面的表面要素类型,使用自然邻域插值法从 TIN 数据集插值栅格表面时,表面要素类型的硬指定和软指定会影响线或面边界的处理方式。 硬表面要素类型表示高程具有急剧不连续性的边界,例如悬崖边缘、墙壁或路边的路缘。 软表面要素类型表示高程更为平滑地定义的边界。
    • 可将点和多点要素定义为 Mass_Points,用于构成以 TIN 数据结点形式存储的高程值。
    • 可以将以下线要素合并到 TIN 中:
      • 线折点转换为 TIN 中的节点的离散多点
      • 定义 TIN 中的线性不连续性的硬断线软断线隔断线要素。
    • 面要素可作为离散多点、断点以及以下表面要素类型合并到 TIN 中:
      • 定义 TIN 表面数据区域的硬裁剪软裁剪要素。
      • 表示数据内部的空隙的硬擦除软擦除要素。
      • 定义恒定高度区域的硬替换软替换要素。
      • 将整数属性分配给节点和三角面的硬值填充软值填充要素。
  • 使用 Z - 当指示 SHAPE 字段作为高度源时,指定是否将使用 z 值或 m 值。 指定 True 指示将使用 z 值;将其设置为 False 指示将使用 m 值。
Value Table
约束型 Delaunay
(可选)

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

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

派生输出

标注说明数据类型
更新的 TIN

更新后的 TIN。

TIN Layer

arcpy.ddd.EditTin(in_tin, in_features, {constrained_delaunay})
名称说明数据类型
in_tin

将处理的 TIN 数据集。

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

输入要素及其相关属性定义如何将其添加到 TIN。

  • in_features - 将添加到 TIN 的要素。
  • height_field - 要素属性中将提供输入要素高程的字段。 Shape 字段中的 z 值或 m 值可以与任何数值字段配合使用。 选择 <None> 关键字将导致要素的高程通过周围表面进行插值处理。
  • tag_field - 将从输入要素属性表的整型字段中派生的数值属性,其值可用于将基本形式的属性分配给 TIN 的数据元素。 指定 <None>,将不会分配标签值。
  • sf_type - 定义 TIN 表面中输入要素的角色。 可用选项取决于输入要素的几何。 对于基于线和面的表面要素类型,使用自然邻域插值法从 TIN 数据集插值栅格表面时,表面要素类型的硬指定和软指定会影响线或面边界的处理方式。 硬表面要素类型表示高程具有急剧不连续性的边界,例如悬崖边缘、墙壁或路边的路缘。 软表面要素类型表示高程更为平滑地定义的边界。
    • 可将点和多点要素定义为 Mass_Points,用于构成以 TIN 数据结点形式存储的高程值。
    • 可以将以下线要素合并到 TIN 中:
      • 线折点转换为 TIN 中的节点的 Mass_Points
      • 定义 TIN 中的线性不连续性的 Hard_LineSoft_Line 隔断线要素。
    • 面要素可作为离散多点、断点以及以下表面要素类型合并到 TIN 中:
      • 定义 TIN 表面数据区域的 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 Layer

代码示例

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.ddd.CopyTin(origTin, copyTin, "CURRENT")

# Execute EditTin
arcpy.ddd.EditTin(copyTin, inFCs, Delaunay)

许可信息

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

相关主题