标注 | 说明 | 数据类型 |
输入 TIN | 待处理的 TIN 数据集。 | TIN Layer |
输出 TIN | 将要生成的 TIN 数据集。 | TIN |
抽稀方法 | 指定用于从输入 TIN 选择结点子集的细化方法。
| String |
复制隔断线 (可选) | 指示是否将输入 TIN 的隔断线复制到输出。
| Boolean |
Z 容差
(可选) | 输出 TIN 中允许的源 TIN 的 Z 值最大偏差,默认为小于 Z 范围的十分之一或数值 10。 | Double |
最大结点数
(可选) | 可存储在输出 TIN 中的最大节点数,默认为源 TIN 中的节点总数减 1。使用 Z 容差方法时,如果 Z 容差值导致生成的 TIN 超出最大节点数,则工具将停止处理。 | Long |
摘要
使用源 TIN 的结点子集创建不规则三角网 (TIN) 数据集。
插图
使用情况
此工具对细化过采样数据作用显著,从而改善了绘制体验。提供了以下细化选项:
- Z 容差 - 生成的 TIN 将其源 TIN 的垂直精度保持在指定 Z 容差值范围内,该值始终以源 TIN 的原生 Z 单位表示。与输出 TIN 的内插值相比较时,源 TIN 的任何节点的偏差不会超过 Z 容差。
注:
此方法还支持对可选节点限值进行强化,如果 Z 容差值导致生成的 TIN 超过最大节点数,将导致工具停止处理。如果出现这种情况,会生成 TIN,但将返回一条警告。
- 计数 - 将输出 TIN 中的节点数减少到指定值,假定指定值小于源 TIN 的节点计数。通常会选择节点以保持源 TIN 的范围和表面特征。
- Z 容差 - 生成的 TIN 将其源 TIN 的垂直精度保持在指定 Z 容差值范围内,该值始终以源 TIN 的原生 Z 单位表示。与输出 TIN 的内插值相比较时,源 TIN 的任何节点的偏差不会超过 Z 容差。
如果选择复制隔断线选项,则源 TIN 中的隔断线将存储到输出中,而不进行任何概化。不会将隔断线创造的结点归入计算最大限制结点数中。
无论是否使用复制隔断线选项,甚至无论是否通过隔断线边强化输入 TIN 数据边界,都会通过隔断线边强化生成的 TIN 的数据边界。这可增加输出 TIN 的大小,并独立于任何指定的最大结点计数限值操作。
参数
arcpy.ddd.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 选择结点子集的细化方法。
| String |
copy_breaklines (可选) | 指示是否将输入 TIN 的隔断线复制到输出。
| Boolean |
z_tolerance_value (可选) | 输出 TIN 中允许的源 TIN 的 Z 值最大偏差,默认为小于 Z 范围的十分之一或数值 10。 | Double |
max_node_value (可选) | 可存储在输出 TIN 中的最大节点数,默认为源 TIN 中的节点总数减 1。使用 Z 容差方法时,如果 Z 容差值导致生成的 TIN 超出最大节点数,则工具将停止处理。 | Long |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
arcpy.env.workspace = "C:/data"
arcpy.ddd.DecimateTinNodes("tin", "tin_simple", "COUNT 5000" "BREAKLINES")
下面的示例演示了如何在独立 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.ddd.DecimateTinNodes(inTin, outTin, method, copyBrk)
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst