标注 | 说明 | 数据类型 |
输入 LAS 数据集 | 将要处理的 LAS 数据集。 | LAS Dataset Layer |
输出图层 | 生成的 LAS 数据集图层的名称。 可使用反斜线或正斜线表示图层组。 | LAS Dataset Layer |
类代码 (可选) |
指定将用于过滤 LAS 点的分类代码。 默认情况下会选择所有类代码。
| String |
返回值 (可选) | 指定将用于过滤 LAS 点的序数脉冲返回值。 如果未指定任何值,将使用所有回波。 回波信息仅适用于从激光雷达扫描仪收集的 LAS 点云。 回波数反映了从激光雷达脉冲中获得的离散点的顺序,即第一个回波距离扫描仪最近,最后一个回波距离扫描仪最远。
| String |
无标记的点 (可选) | 指定是否将包含未分配分类标记的数据点。
| Boolean |
合成点 (可选) | 指定是否包含标记为合成点的数据点。 合成点是指源自激光雷达扫描仪以外数据源的 LAS 点。
| Boolean |
模型关键点 (可选) | 指定是否包含标记为模型关键点的数据点。 模型关键点是指对与其关联的对象建模具有重要意义的 LAS 点。
| Boolean |
保留点 (可选) | 指定是否包含标记为保留点的数据点。 保留点表示在 LAS 点中捕获的错误或不需要的测量值。
| Boolean |
表面约束 (可选) | 图层中将启用的表面约束要素的名称。 默认情况下,所有约束均启用。 | String |
重叠点 (可选) | 指定是否包含标记为重叠点的数据点。 重叠点是指在重叠扫描中采集的点,这些点通常具有较大的扫描角度。 过滤重叠点有助于确保在整个数据范围内实现 LAS 点的规则分布。
| Boolean |
摘要
创建可将过滤器应用于 LAS 点并可控制表面约束要素强化的 LAS 数据集图层。
使用情况
LAS 数据集图层可用于过滤 LAS 点并控制在对 LAS 数据集表面进行三角化时强制执行哪些表面约束要素。 可以使用与每个点关联的分类代码、分类标记和返回值来过滤 LAS 点。 处理 LAS 数据集的各种工具均支持过滤器。 例如,可以通过过滤地面分类点并将生成的图层用作 LAS 数据集转栅格工具的输入来构建用于建模裸露地表的栅格表面。
注:
可以使用保存到图层文件工具将此工具生成的图层保存为图层文件。
在地图或场景中处理 LAS 数据集图层时,您可以使用 LAS 数据集图层属性对话框过滤 LAS 点和表面约束。 它提供了用于管理过滤器选项的便捷机制。 此工具可用于在通过 模型构建器 或 Python 创建的自动化解决方案的上下文中强制执行 LAS 数据集过滤器。
给定 LAS 文件中支持的分类代码、分类标记和返回值将取决于该文件的版本和点记录格式。 如果未指定输入 LAS 文件中的值来定义过滤器,则生成的图层不会包含任何点。 可以通过计算统计数据来建立 LAS 数据集中存在的分类代码、分类标记和返回值。
参数
arcpy.management.MakeLasDatasetLayer(in_las_dataset, out_layer, {class_code}, {return_values}, {no_flag}, {synthetic}, {keypoint}, {withheld}, {surface_constraints}, {overlap})
名称 | 说明 | 数据类型 |
in_las_dataset | 将要处理的 LAS 数据集。 | LAS Dataset Layer |
out_layer | 生成的 LAS 数据集图层的名称。 可使用反斜线或正斜线表示图层组。 | LAS Dataset Layer |
class_code [class_code,...] (可选) |
指定将用于过滤 LAS 点的分类代码。 默认情况下会选择所有类代码。
| String |
return_values [return_values,...] (可选) | 指定将用于过滤 LAS 点的序数脉冲返回值。 如果未指定任何值,将使用所有回波。 回波信息仅适用于从激光雷达扫描仪收集的 LAS 点云。 回波数反映了从激光雷达脉冲中获得的离散点的顺序,即第一个回波距离扫描仪最近,最后一个回波距离扫描仪最远。
| String |
no_flag (可选) | 指定是否应包含未分配任何分类标记的数据点以用于显示和分析。
| Boolean |
synthetic (可选) | 指定是否包含标记为合成点的数据点。 合成点是指源自激光雷达扫描仪以外数据源的 LAS 点。
| Boolean |
keypoint (可选) | 指定是否包含标记为模型关键点的数据点。 模型关键点是指对与其关联的对象建模具有重要意义的 LAS 点。
| Boolean |
withheld (可选) | 指定是否包含标记为保留点的数据点。 保留点表示在 LAS 点中捕获的错误或不需要的测量值。
| Boolean |
surface_constraints [surface_constraints,...] (可选) | 图层中将启用的表面约束要素的名称。 默认情况下,所有约束均启用。 | String |
overlap (可选) | 指定是否包含标记为重叠点的数据点。 重叠点是指在重叠扫描中采集的点,这些点通常具有较大的扫描角度。 过滤重叠点有助于确保在整个数据范围内实现 LAS 点的规则分布。
| Boolean |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
arcpy.env.workspace = 'C:/data'
arcpy.management.MakeLasDatasetLayer('Baltimore.lasd', 'Baltimore Layer',
class_code=[2, 6], return_values=['LAST', 'SINGLE'])
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''*********************************************************************
Name: Export Elevation Raster from Ground LAS Measurements
Description: This script demonstrates how to export
ground measurements from LAS files to a raster using a
LAS dataset. This sample is designed to be used as a script
tool.
*********************************************************************'''
# Import system modules
import arcpy
try:
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
surfCons = arcpy.GetParameterAsText(2)
classCode = arcpy.GetParameterAsText(3)
returnValue = arcpy.GetParameterAsText(4)
spatialRef = arcpy.GetParameterAsText(5)
lasD = arcpy.GetParameterAsText(6)
outRaster = arcpy.GetParameterAsText(7)
cellSize = arcpy.GetParameter(8)
zFactor = arcpy.GetParameter(9)
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, recursion, surfCons, sr)
# Execute MakeLasDatasetLayer
lasLyr = arcpy.CreateUniqueName('Baltimore')
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Execute LasDatasetToRaster
arcpy.conversion.LasDatasetToRaster(lasLyr, outRaster, 'ELEVATION',
'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
'CELLSIZE', cellSize, zFactor)
print(arcpy.GetMessages())
except arcpy.ExecuteError:
print(arcpy.GetMessages())
except Exception as err:
print(err.args[0])
finally:
arcpy.management.Delete(lasLyr)