标注 | 说明 | 数据类型 |
输入点云 | 包含分类的铁路点的输入 LAS 数据集或点云场景图层。 | LAS Dataset Layer; Scene Layer |
轨道类代码 | 将用于轨道点的类代码。 | Long |
输出轨道线 | 将从点云中提取的输出 3D 轨道线。 | Feature Class |
轨道标准 (可选) | 指定将使用的轨道标准。 标准描述了轨距和轨道厚度的度量。 该规范将影响用于提取轨道要素的算法。
| String |
输出 3D 中心线 (可选) | 表示铁轨中点的输出 3D 中心线。 | Feature Class |
轨距 (可选) | 描述铁路轨道两轨之间内距的轨距。 默认值为 1435 毫米,对应于美国 115 RE 标准,但此值将更新以匹配指定的轨道标准。 | Linear Unit |
轨道厚度 (可选) | 每条轨道顶部的宽度。 默认值为 66.675 毫米,对应于美国 115 RE 标准,但此值将更新以匹配指定的轨道标准。 | Linear Unit |
水平平滑核距离 (可选) | 将基于加权平均值的平滑函数在水平方向上应用到输出轨道线上的 x,y 距离。 该参数将有助于克服不完整、错误分类或嘈杂的铁路点的变形。 默认值为 0.8 米。 | Linear Unit |
垂直平滑核距离 (可选) | 将基于加权平均值的平滑函数在垂直方向上应用到输出轨道线上的 z 距离。 该参数将有助于克服不完整、错误分类或嘈杂的铁路点的变形。 默认设置为 10 米。 | Linear Unit |
水平轨道容差 (可选) | 在 x,y 方向上将使用距离来识别属于给定轨道中的同一轨道的点。 默认值为 10 厘米。 | Linear Unit |
垂直轨道容差 (可选) | 在 z 方向上将使用距离来识别属于给定轨道中的同一轨道的点。 默认值为 3 厘米。 | Linear Unit |
中心线对齐容差 (可选) | 容差距离,将用于对齐给定轨迹的轨道之间的中心线要素。 默认值为 50 毫米。 | Linear Unit |
轨道拱度检测半径 (可选) | 搜索半径,将用于标识定义轨道拱度(即给定铁路轨道最顶部)的连续点。 默认值为 20 米。 | Linear Unit |
水平简化容差 (可选) | 将用于简化 x,y 方向上输出轨道线的距离。 简化后的轨道的水平位置与原来的位置的偏差不会超过这个量。 默认值为 2 毫米。 | Linear Unit |
垂直简化容差 (可选) | 将用于简化 z 方向上输出轨道线的距离。 简化后的轨道高度与原来的位置的偏差不会超过这个量。 默认值为 2 毫米。 | Linear Unit |
最小输出线长度 (可选) | 检测线必须包含在输出线要素中的最小三维长度。 将忽略任何短于此长度的检测线。 默认值为 1 米。 | Linear Unit |
摘要
可从 LAS 数据集、点云场景图层包或 I3S 点云图层中的分类铁路轨道中提取铁路轨道线和中心线。
使用情况
此工具需要安装深度学习框架。 要设置计算机以在 ArcGIS Pro 中使用深度学习框架,请参阅安装 ArcGIS 的深度学习框架。
此工具需要对轨道点进行分类。 铁路要素由分类的铁路点组成。 LAS 标准采用类 10 铁路,但也可以指定自定义类。 如果提供了多个类,则每个类将被视为代表不同类型的铁路,并将分别处理以产生不同的输出要素。 虽然铁路提取过程可以克服噪音,但减少铁路点分类的错误将会带来更准确的铁路要素。
输出铁路线和中心线将有 CLASS_CODE 字段,用于指示用于生成要素的点类。
铁路交叉口的存在,即道岔将铁路连接或分割成不同的轨道,通常会导致输出路轨和中心线的不连续性。
虽然可以使用 CPU 运行该工具,但建议您使用支持 CUDA 的 NVIDIA GPU 执行此操作。 如果存在多个支持 CUDA 的 GPU,请指定 GPU ID 环境值 -1 以使用所有符合条件的 GPU。
参数
arcpy.ddd.ExtractRailsFromPointCloud(in_point_cloud, class_codes, out_3d_lines, {rail_standard}, {out_3d_centerlines}, {track_gauge}, {rail_thickness}, {horizontal_smoothing_kernel_distance}, {vertical_smoothing_kernel_distance}, {horizontal_rail_tolerance}, {vertical_rail_tolerance}, {centerline_alignment_tolerance}, {rail_crown_detection_radius}, {horizontal_simplification_tolerance}, {vertical_simplification_tolerance}, {min_line_length})
名称 | 说明 | 数据类型 |
in_point_cloud | 包含分类的铁路点的输入 LAS 数据集或点云场景图层。 | LAS Dataset Layer; Scene Layer |
class_codes [class_codes,...] | 将用于轨道点的类代码。 | Long |
out_3d_lines | 将从点云中提取的输出 3D 轨道线。 | Feature Class |
rail_standard (可选) | 指定将使用的轨道标准。 标准描述了轨距和轨道厚度的度量。 该规范将影响用于提取轨道要素的算法。
| String |
out_3d_centerlines (可选) | 表示铁轨中点的输出 3D 中心线。 | Feature Class |
track_gauge (可选) | 描述铁路轨道两轨之间内距的轨距。 默认值为 1435 毫米,对应于美国 115 RE 标准,但此值将更新以匹配指定的轨道标准。 | Linear Unit |
rail_thickness (可选) | 每条轨道顶部的宽度。 默认值为 66.675 毫米,对应于美国 115 RE 标准,但此值将更新以匹配指定的轨道标准。 | Linear Unit |
horizontal_smoothing_kernel_distance (可选) | 将基于加权平均值的平滑函数在水平方向上应用到输出轨道线上的 x,y 距离。 该参数将有助于克服不完整、错误分类或嘈杂的铁路点的变形。 默认值为 0.8 米。 | Linear Unit |
vertical_smoothing_kernel_distance (可选) | 将基于加权平均值的平滑函数在垂直方向上应用到输出轨道线上的 z 距离。 该参数将有助于克服不完整、错误分类或嘈杂的铁路点的变形。 默认设置为 10 米。 | Linear Unit |
horizontal_rail_tolerance (可选) | 在 x,y 方向上将使用距离来识别属于给定轨道中的同一轨道的点。 默认值为 10 厘米。 | Linear Unit |
vertical_rail_tolerance (可选) | 在 z 方向上将使用距离来识别属于给定轨道中的同一轨道的点。 默认值为 3 厘米。 | Linear Unit |
centerline_alignment_tolerance (可选) | 容差距离,将用于对齐给定轨迹的轨道之间的中心线要素。 默认值为 50 毫米。 | Linear Unit |
rail_crown_detection_radius (可选) | 搜索半径,将用于标识定义轨道拱度(即给定铁路轨道最顶部)的连续点。 默认值为 20 米。 | Linear Unit |
horizontal_simplification_tolerance (可选) | 将用于简化 x,y 方向上输出轨道线的距离。 简化后的轨道的水平位置与原来的位置的偏差不会超过这个量。 默认值为 2 毫米。 | Linear Unit |
vertical_simplification_tolerance (可选) | 将用于简化 z 方向上输出轨道线的距离。 简化后的轨道高度与原来的位置的偏差不会超过这个量。 默认值为 2 毫米。 | Linear Unit |
min_line_length (可选) | 检测线必须包含在输出线要素中的最小三维长度。 将忽略任何短于此长度的检测线。 默认值为 1 米。 | Linear Unit |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.ExtractRailsFromPointCloud("Rail_Survey.lasd", 10, "RailTracks.shp",
out_3d_centerlines="RailCenterlines.shp")
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst