摘要
识别启用了 z 值的要素的三维邻域分析中的激光雷达点,同时提供对点进行重分类并将其导出至输出要素类的选项。
用法
此工具使用包含指定搜索半径内的 LAS 点计数的字段更新输入要素。
-
将 LAS 数据集指定为输入时,将处理它引用的 LAS 文件中的所有数据点。也可以按分类代码、分类标记和回波值来选择激光雷达数据的子集,方法是在 LAS 数据集图层中应用所需的 LAS 点过滤器。可通过图层属性对话或创建 LAS 数据集图层工具定义过滤器。
考虑使用此工具识别指定邻域分析内对于感兴趣要素的潜在障碍物,例如公用设施管线附近的植被扩侵。
语法
LocateLasPointsByProximity_3d (in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats})
参数 | 说明 | 数据类型 |
in_las_dataset | 待处理的 LAS 数据集。 | LAS Dataset Layer |
in_features | 邻域分析用于识别 LAS 点的 3D 点、线或面要素。 | Feature Layer |
search_radius | 将评估是否存在 LAS 点的输入要素周围的空间距离,可作为线性距离或输入要素属性表中的数值字段提供。 如果搜索半径从单位被指定为未知的字段或线性距离得出,则将使用输入要素 XY 空间参考的线性单位。 支持的单位如下:
| Linear Unit; Field |
count_field | 将添加到输入要素属性表的计数字段的名称。字段值将反映输入要素邻域分析中的 LAS 点总数。 | String |
out_features (可选) | 表示输入要素指定邻域分析中找到的 LAS 点的输出点要素。 | Feature Class |
geometry (可选) | 表示输入要素指定邻域分析中找到的 LAS 点的输出点要素几何。
| String |
class_code (可选) | 用于对在输入要素搜索半径内发现的点进行重分类的类代码值。 | Long |
compute_stats (可选) | 指定是否应计算 LAS 数据集引用的 LAS 文件的统计数据。统计数据的存在允许 LAS 数据集图层使用过滤和符号系统选项,以便仅显示 LAS 文件中存在的 LAS 属性值。
| Boolean |
代码实例
LocateLasPointsByProximity 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
'''****************************************************************************
Name: Classify Noise Points
Description: Updates classification of version 1.0 LAS files to conform to
the standardized class codes introduced in the 1.1 specifications.
The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
reclassList = arcpy.GetParameterAsText(3) #List of values '<oldCode> <newCode>'
calcStats = arcpy.GetParameter(4)
try:
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
# Execute Locate Outliers
outlier_pts = 'in_memory/outliers'
arcpy.ddd.LocateOutliers(lasd, out_feature_class=outlier_pts,
apply_hard_limit='Apply_Hard_Limit',
absolute_z_min=-15, absolute_z_max=680,
apply_comparison_filter='Apply_Comparison_Filter',
z_tolerance=0, slope_tolerance=150,
exceed_tolerance_ratio=0.5, outlier_cap=3000)
# Execute ChangeLasClassCodes
arcpy.ddd.LocateLasPointsByProximity(lasd, in_features=outlier_pts,
search_radius='0.5 Centimeters',
class_code=18)
# Report messages
arcpy.GetMessages(0)
except arcpy.ExecuteError:
print(arcpy.GetMessages())
LocateLasPointsByProximity 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
Missing source code file