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

摘要

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

插图

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

使用情况

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

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

  • 风力校正将仅在单个方向上应用。 因此,该工具不会对受驰振影响的供电线路进行建模,此类振动会导致供电线路向不同的方向移动。 如果未生成此类供电线路的理想结果,请考虑增加点容差。

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

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

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})
名称说明数据类型
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
(可选)

指定是否使用风力校正来提高点与给定供电线路的拟合度。 风力校正将仅在一个方向上应用,并且仅适用于跨度大于在 min_wind_span 参数中指定的距离的供电线路。

  • 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

代码示例

ExtractPowerLinesFromPointCloud 示例 1(Python 窗口)

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

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

许可信息

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

相关主题