简化 3D 线 (3D Analyst)

描述

概化 3D 线要素,以减少总折点数,同时在指定容差范围内在水平和垂直方向上近似于原始形状。

使用方法

  • 考虑使用此工具创建密集采样的 3D 线的简化表示,以采用较小显示比例优化绘制性能。原始线和生成的简化衍生物可应用可见比例范围,以确保针对给定比例绘制最适当的要素。

    了解有关设置显示过滤器以控制在特定比例下绘制的要素的详细信息

  • 考虑使用此工具创建简化的隔断线,该隔断线可被添加到 terrain 数据集的较高金字塔等级以优化绘制性能。将隔断线添加到同一组中,以确保不会在相同的金字塔等级下强制使用这些隔断线。

  • 由多个具有重合端点的要素组成的线不会在要素之间进行简化。考虑使用取消线分割工具来合并此类线,以在多个连接要素中进行简化。

  • 该工具使用 Douglas-Peucker 算法来保留最能保留原始线形状的关键点。该算法首先将线的端点与趋势线连接起来,然后移除指定容差范围内的折点。如果有任何点超出容差范围,则使用距初始趋势线最远的点来创建两条趋势线,一条趋势线的起点为线的初始折点,另一条趋势线的起点为线的最终折点。将使用这两条新趋势线评估其他折点,以移除容差距离内的任何点。如果其他点仍在容差范围之外,则使用相同的方法对趋势线进行细分,直到生成捕获指定容差范围内所有源折点的趋势线。

语法

arcpy.3d.Simplify3DLine(in_features, out_feature_class, tolerance)
参数说明数据类型
in_features

要进行简化的线要素。

Feature Layer
out_feature_class

简化的输出线要素。

Feature Class
tolerance

距输入线的 3D 距离阈值,简化输出必须位于其中。

Linear Unit

代码示例

Simplify3DLine 示例(Python 窗口)

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

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.Simplify3DLine('rivers.shp', 'simplified_rivers.shp', '2 Meters')

许可信息

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

相关主题