描述
从已分类点云数据中提取用于供电线路建模的 3D 线要素。
插图
使用方法
该工具会将两个悬挂点之间的每段供电线路建模为单独的线要素。属于同一跨度的点将拟合到悬链曲线以确定生成的线。输入点云必须使用唯一类代码值对表示供电线路的点进行分类,唯一类代码值可排除表示其他对象的点。通过按某一距离定期采样的供电线路点可获得最佳结果,该距离至少为最邻近电缆间距长度的一半。
建议通过指定近似于束式电缆半径的点容差,将束式导体电缆(两条或多条导体电缆固定在一起)跨度建模为一个线要素。
风力校正将仅在单个方向上应用。因此,该工具不会对受驰振影响的供电线路进行建模,此类振动会导致供电线路向不同的方向移动。如果未生成此类供电线路的理想结果,请考虑增加点容差。
输出线要素类将包含以下属性:
- CLASS_CODE - 与供电线路关联的类代码值。
- CURVE_LEN - 通过线建模的悬链曲线的长度。该值将与基于输出线容差参数值的线要素的 3D 长度不同;该参数值越小,生成的悬链曲线描述越准确。
- WIND_ANGLE - 使用风力校正对供电线路进行建模时,偏离正常状态的角度。如果因在进行风力校正的最小跨度参数中指定的距离未尝试进行风力校正,则将返回值 -1。
语法
arcpy.3d.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 参数中指定的距离的供电线路。
| Boolean |
min_wind_span (可选) | 要在生成输出供电线路时应用风力校正供电线路可以跨越的最短距离。默认值为 60 米。 | Linear Unit |
max_wind_deviation (可选) | 风力预期偏离给定供电线路的最大角度。默认值为 10°。 | Double |
end_point_search_radius (可选) | 用于识别连接到同一电线杆或输电塔的供电线路段的公共悬挂点的距离。默认值为 10 米。 | Linear Unit |
min_length (可选) | 可用于确定是否存在公共端点的最短导线长度。默认值为 5 米。 | Linear Unit |
代码示例
下面的示例演示了如何在 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