从点云中提取供电线路 (3D Analyst)

摘要

从已分类点云数据中提取用于供电线路建模的 3D 线要素。

插图

从点云中提取供电线路工具图示

使用情况

  • 该工具会将两个悬挂点之间的每段供电线路建模为单独的线要素。 属于同一跨度的点将拟合到悬链曲线以确定生成的线。 输入点云必须使用唯一类代码值对表示供电线路的点进行分类,唯一类代码值可排除表示其他对象的点。 通过按某一距离定期采样的供电线路点可获得最佳结果,该距离至少为最邻近电缆间距长度的一半。

  • 建议通过指定近似于束式电缆半径的点容差,将束式导体电缆(两条或多条导体电缆固定在一起)跨度建模为一个线要素。

  • 风力校正可用于模拟没有风力作用时处于静止状态的供电线路,或创建与被风力改变的点拟合得更好的供电线路。 消除风的影响可以为评估植被清除情况等应用提供更好的供电线路表示。 当执行改进的风力校正时,将使供电线路更好地拟合源点。 但是,这种拟合只会针对在一个方向上移动的供电线路进行调整,因此反映快速振动的供电线路可能无法实现最佳拟合。 如果未生成此类供电线路的理想结果,请考虑增加点容差。

  • 输出线要素类将包含以下属性:

    • CLASS_CODE- 与供电线路关联的类代码值。
    • CURVE_LEN- 通过线建模的悬链曲线的长度。 该值将与基于输出线容差参数值的线要素的 3D 长度不同;该参数值越小,生成的悬链曲线描述越准确。
    • SAG_DIST_0- 线的第一个顶点到最大垂度位置的水平距离。
    • SAG_DIST_1- 线的最后一个顶点到最大垂度位置的水平距离。
    • SAG- 电源线从连接其端点的直线三维线的最大垂直落差。
    • WIND_ANGLE- 由风引起的相对于供电线路静止状态的最大偏差角度。 如果因在进行风力校正的最小跨度参数中指定的距离未尝试进行风力校正,则将返回值 -1。

参数

标注说明数据类型
输入点云

包含分类为供电线路的点的 LAS 数据集图层。

LAS Dataset Layer
供电线路类代码

代表供电线路的点的类代码值。

Long
输出 3D 线

用于供电线路建模的 3D 线。

Feature Class
点容差
(可选)

用于确定属于给定供电线路的点的距离。 默认值为 80 厘米。

Linear Unit
电线间距
(可选)

确定点是否属于不同供电线路时,点必须相距的距离。 默认值为 1 米。

Linear Unit
最大电线采样间距
(可选)

给定供电线路跨度中可以存在的最大间距。 将按此距离延长基于一组供电线路点建模的悬链曲线,以查找与同一供电线路拟合的其他点。 默认设置为 5 米。

Linear Unit
输出线容差
(可选)

将用于确定输出供电线路精度的距离。 距离越大,沿每条线创建的折点越少,生成的供电线路表示越粗糙。 默认值为 1 厘米。

Linear Unit
针对风力变形进行校正
(可选)

指定是否根据风的影响调整输出供电线路。 当应用风力校正时,可以改进被风力改变的点的拟合,或者模拟没有风的作用时供电线路的静止状态。 风力校正的类型通过消除风参数指定。

  • 选中 - 供电线路将根据风的影响进行调整。 这是默认设置。
  • 未选中 - 将尝试在不针对风进行额外调整的情况下拟合这些点。
Boolean
进行风力校正的最小跨度
(可选)

要在生成输出供电线路时应用风力校正供电线路可以跨越的最短距离。 默认设置为 60 米。

Linear Unit
最大偏离角
(可选)

风力预期偏离给定供电线路的最大角度。 默认值为 10 度。

Double
端点搜索半径
(可选)

将用于识别连接到同一电线杆或输电塔的供电线路段的公共悬挂点的距离。 默认设置为 10 米。

Linear Unit
最小电线长度
(可选)

可用于确定是否存在公共端点的最短导线长度。 默认设置为 5 米。

Linear Unit
消除风
(可选)

指定如何将风力校正应用于输出供电线路。 风力校正仅会应用于跨越的距离大于风力校正最小跨度参数中指定的值的悬链曲线。

  • 选中 - 将调整供电线路,从而模拟消除风的影响。
  • 未选中 - 将调整供电线路,从而更好地拟合风的影响。 这是默认设置。
Boolean
最小电力线长度
(可选)

输出电线的最小 3D 长度。 将在输出中忽略长度短于为此参数指定的值的线。

Linear Unit

arcpy.ddd.ExtractPowerLinesFromPointCloud(in_point_cloud, class_codes, out_3d_lines, {point_tolerance}, {separation_distance}, {max_sampling_gap}, {line_tolerance}, {wind_correction}, {min_wind_span}, {max_wind_deviation}, {end_point_search_radius}, {min_length}, {eliminate_wind}, {min_line_length})
名称说明数据类型
in_point_cloud

包含分类为供电线路的点的 LAS 数据集图层。

LAS Dataset Layer
class_codes
[class_codes,...]

代表供电线路的点的类代码值。

Long
out_3d_lines

用于供电线路建模的 3D 线。

Feature Class
point_tolerance
(可选)

用于确定属于给定供电线路的点的距离。 默认值为 80 厘米。

Linear Unit
separation_distance
(可选)

确定点是否属于不同供电线路时,点必须相距的距离。 默认值为 1 米。

Linear Unit
max_sampling_gap
(可选)

给定供电线路跨度中可以存在的最大间距。 将按此距离延长基于一组供电线路点建模的悬链曲线,以查找与同一供电线路拟合的其他点。 默认设置为 5 米。

Linear Unit
line_tolerance
(可选)

将用于确定输出供电线路精度的距离。 距离越大,沿每条线创建的折点越少,生成的供电线路表示越粗糙。 默认值为 1 厘米。

Linear Unit
wind_correction
(可选)

指定是否根据风的影响调整输出供电线路。 当应用风力校正时,可以改进被风力改变的点的拟合,或者模拟没有风的作用时供电线路的静止状态。 风力校正的类型通过 eliminate_wind 参数指定。

  • WIND供电线路将根据风的影响进行调整。 这是默认设置。
  • NO_WIND将尝试在不针对风进行额外调整的情况下拟合这些点。
Boolean
min_wind_span
(可选)

要在生成输出供电线路时应用风力校正供电线路可以跨越的最短距离。 默认设置为 60 米。

Linear Unit
max_wind_deviation
(可选)

风力预期偏离给定供电线路的最大角度。 默认值为 10 度。

Double
end_point_search_radius
(可选)

将用于识别连接到同一电线杆或输电塔的供电线路段的公共悬挂点的距离。 默认设置为 10 米。

Linear Unit
min_length
(可选)

可用于确定是否存在公共端点的最短导线长度。 默认设置为 5 米。

Linear Unit
eliminate_wind
(可选)

指定如何将风力校正应用于输出供电线路。 风力校正仅会应用于跨越的距离大于 min_wind_span 参数中指定的值的悬链曲线。

  • ELIMINATE_WIND将调整供电线路,从而模拟消除风的影响。
  • KEEP_WIND将调整供电线路,从而更好地拟合风的影响。 这是默认设置。
Boolean
min_line_length
(可选)

输出电线的最小 3D 长度。 将在输出中忽略长度短于为此参数指定的值的线。

Linear Unit

代码示例

ExtractPowerLinesFromPointCloud 示例 1(Python 窗口)

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


arcpy.env.workspace = "c:/data"
arcpy.ddd.ExtractPowerLinesFromPointCloud("Electrical_Assets.lasd", 14, 
                                          "Power_Lines.shp", "80 Centimeters")

相关主题