抽稀 TIN 结点 (3D Analyst)

描述

使用源 TIN 的结点子集创建不规则三角网 (TIN) 数据集。

插图

DecimateTinNodes 图示

使用方法

  • 此工具对细化过采样数据作用显著,从而改善了绘制体验。提供了以下细化选项:

    • Z 容差 - 生成的 TIN 将其源 TIN 的垂直精度保持在指定 Z 容差值范围内,该值始终以源 TIN 的原生 Z 单位表示。与输出 TIN 的内插值相比较时,源 TIN 的任何节点的偏差不会超过 Z 容差。
      注:

      此方法还支持对可选节点限值进行强化,如果 Z 容差值导致生成的 TIN 超过最大节点数,将导致工具停止处理。如果出现这种情况,会生成 TIN,但将返回一条警告。

    • 计数 - 将输出 TIN 中的节点数减少到指定值,假定指定值小于源 TIN 的节点计数。通常会选择节点以保持源 TIN 的范围和表面特征。
  • 如果选择复制隔断线选项,则源 TIN 中的隔断线将存储到输出中,而不进行任何概化。不会将隔断线创造的结点归入计算最大限制结点数中。

  • 无论是否使用复制隔断线选项,甚至无论是否通过隔断线边强化输入 TIN 数据边界,都会通过隔断线边强化生成的 TIN 的数据边界。这可增加输出 TIN 的大小,并独立于任何指定的最大结点计数限值操作。

语法

arcpy.3d.DecimateTinNodes(in_tin, out_tin, method, {copy_breaklines}, {z_tolerance_value}, {max_node_value})
参数说明数据类型
in_tin

待处理的 TIN 数据集。

TIN Layer
out_tin

将要生成的 TIN 数据集。

TIN
method

指定用于从输入 TIN 选择结点子集的细化方法。

  • Z_TOLERANCE创建维持 z_tolerance_value 参数中所指定的垂直精度的 TIN。这是默认设置。
  • COUNT创建未超过 max_node_value 参数所指定的节点限值的 TIN。
String
copy_breaklines
(可选)

指示是否将输入 TIN 的隔断线复制到输出。

  • BREAKLINES将复制隔断线。
  • NO_BREAKLINES不复制隔断线。这是默认设置。
Boolean
z_tolerance_value
(可选)

输出 TIN 中允许的源 TIN 的 Z 值最大偏差,默认为小于 Z 范围的十分之一或数值 10。

Double
max_node_value
(可选)

可存储在输出 TIN 中的最大节点数,默认为源 TIN 中的节点总数减 1。使用 Z 容差方法时,如果 Z 容差值导致生成的 TIN 超出最大节点数,则工具将停止处理。

Long

代码示例

抽稀 TIN 结点 (DecimateTinNodes) 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.DecimateTinNodes_3d("tin", "tin_simple", "COUNT 5000" "BREAKLINES")
抽稀 TIN 结点 (DecimateTinNodes) 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具。

'''****************************************************************************
Name: DecimateTinNodes Example
Description: This script demonstrates how to use the 
             DecimateTinNodes tool.
****************************************************************************'''

# Import system modules
import arcpy
from arcpy import env

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

# Set Local Variables
inTin = "elevation"
method = "COUNT 5000"
copyBrk = "BREAKLINES"
# Ensure output name is unique
outTin = arcpy.CreateUniqueName("simple_elev")

#Execute DecimateTinNodes
arcpy.DecimateTinNodes_3d(inTin, outTin, method, copyBrk)

许可信息

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

相关主题