创建 LAS 数据集图层 (数据管理)

摘要

创建可将过滤器应用于 LAS 点并可控制表面约束要素强化的 LAS 数据集图层。

使用情况

  • LAS 数据集图层可用于过滤 LAS 点并控制在对 LAS 数据集表面进行三角化时强制执行哪些表面约束要素。 可以使用与每个点关联的分类代码、分类标记和返回值来过滤 LAS 点。 处理 LAS 数据集的各种工具均支持过滤器。 例如,可以通过过滤地面分类点并将生成的图层用作 LAS 数据集转栅格工具的输入来构建用于建模裸露地表的栅格表面。

    注:

    可以使用保存到图层文件工具将此工具生成的图层保存为图层文件。

  • 在地图或场景中处理 LAS 数据集图层时,您可以使用 LAS 数据集图层属性对话框过滤 LAS 点和表面约束。 它提供了用于管理过滤器选项的便捷机制。 此工具可用于在通过 模型构建器Python 创建的自动化解决方案的上下文中强制执行 LAS 数据集过滤器。

  • 给定 LAS 文件中支持的分类代码、分类标记和返回值将取决于该文件的版本和点记录格式。 如果未指定输入 LAS 文件中的值来定义过滤器,则生成的图层不会包含任何点。 可以通过计算统计数据来建立 LAS 数据集中存在的分类代码、分类标记和返回值。

    了解有关使用 LAS 数据集统计数据的详细信息

参数

标注说明数据类型
输入 LAS 数据集

将要处理的 LAS 数据集。

LAS Dataset Layer
输出图层

生成的 LAS 数据集图层的名称。 可使用反斜线或正斜线表示图层组。

LAS Dataset Layer
类代码
(可选)

指定将用于过滤 LAS 点的分类代码。 默认情况下会选择所有类代码。

  • 0从不使用分类方法进行处理
  • 1使用分类方法进行处理,但尚未确定
  • 2裸露地面测量
  • 3认为该区域的植被高度较低
  • 4认为该区域的植被具有中等高度
  • 5认为该区域的植被高度较高
  • 6屋顶和墙面结构
  • 7错误或接近地面的不必要数据
  • 8保留以供日后使用,但用于 LAS 1.1 - 1.3 中的模型关键点
  • 9水体
  • 10火车使用的铁路轨道
  • 11道路表面
  • 12保留以供日后使用,但用于 LAS 1.1 - 1.3 中的重叠点
  • 13电线周围的防护
  • 14电力线
  • 15用于支持架空电力线路的格架塔
  • 16用于连接电路的机械装配
  • 17桥的表面
  • 18错误或远离地面的不必要数据
  • 19 - 63为 ASPRS 指定保留的类代码
  • 64 - 255用户自定义的类代码
String
返回值
(可选)

指定将用于过滤 LAS 点的序数脉冲返回值。 如果未指定任何值,将使用所有回波。 回波信息仅适用于从激光雷达扫描仪收集的 LAS 点云。 回波数反映了从激光雷达脉冲中获得的离散点的顺序,即第一个回波距离扫描仪最近,最后一个回波距离扫描仪最远。

  • LAST将使用所有激光雷达脉冲的最后一个点。
  • FIRST_OF_MANY将使用具有多个回波的每个激光雷达脉冲的第一个点。
  • LAST_OF_MANY将使用具有多个回波的每个激光雷达脉冲的最后一个点。
  • SINGLE将使用仅具有一个回波的激光雷达脉冲的所有点。
  • 1将使用返回值为 1 的所有点。
  • 2将使用返回值为 2 的所有点。
  • 3将使用返回值为 3 的所有点。
  • 4将使用返回值为 4 的所有点。
  • 5将使用返回值为 5 的所有点。
  • 6将使用返回值为 6 的所有点。
  • 7将使用返回值为 7 的所有点。
  • 8将使用返回值为 8 的所有点。
  • 9将使用返回值为 9 的所有点。
  • 10将使用返回值为 10 的所有点。
  • 11将使用返回值为 11 的所有点。
  • 12将使用返回值为 12 的所有点。
  • 13将使用返回值为 13 的所有点。
  • 14将使用返回值为 14 的所有点。
  • 15将使用返回值为 15 的所有点。
String
无标记的点
(可选)

指定是否将包含未分配分类标记的数据点。

  • 选中 - 将包含无标记的点。 这是默认设置。
  • 未选中 - 将排除无标记的点。
Boolean
合成点
(可选)

指定是否包含标记为合成点的数据点。 合成点是指源自激光雷达扫描仪以外数据源的 LAS 点。

  • 选中 - 将包含合成点。 这是默认设置。
  • 未选中 - 将排除合成点。
Boolean
模型关键点
(可选)

指定是否包含标记为模型关键点的数据点。 模型关键点是指对与其关联的对象建模具有重要意义的 LAS 点。

  • 选中 - 将包含模型关键点。 这是默认设置。
  • 未选中 - 将排除模型关键点。
Boolean
保留点
(可选)

指定是否包含标记为保留点的数据点。 保留点表示在 LAS 点中捕获的错误或不需要的测量值。

  • 选中 - 将包含保留点。
  • 未选中 - 将排除保留点。 这是默认设置。
Boolean
表面约束
(可选)

图层中将启用的表面约束要素的名称。 默认情况下,所有约束均启用。

String
重叠点
(可选)

指定是否包含标记为重叠点的数据点。 重叠点是指在重叠扫描中采集的点,这些点通常具有较大的扫描角度。 过滤重叠点有助于确保在整个数据范围内实现 LAS 点的规则分布。

  • 选中 - 将包含重叠点。 这是默认设置。
  • 未选中 - 将排除重叠点。
Boolean

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 点的分类代码。 默认情况下会选择所有类代码。

  • 0从不使用分类方法进行处理
  • 1使用分类方法进行处理,但尚未确定
  • 2裸露地面测量
  • 3认为该区域的植被高度较低
  • 4认为该区域的植被具有中等高度
  • 5认为该区域的植被高度较高
  • 6屋顶和墙面结构
  • 7错误或接近地面的不必要数据
  • 8保留以供日后使用,但用于 LAS 1.1 - 1.3 中的模型关键点
  • 9水体
  • 10火车使用的铁路轨道
  • 11道路表面
  • 12保留以供日后使用,但用于 LAS 1.1 - 1.3 中的重叠点
  • 13电线周围的防护
  • 14电力线
  • 15用于支持架空电力线路的格架塔
  • 16用于连接电路的机械装配
  • 17桥的表面
  • 18错误或远离地面的不必要数据
  • 19 - 63为 ASPRS 指定保留的类代码
  • 64 - 255用户自定义的类代码
String
return_values
[return_values,...]
(可选)

指定将用于过滤 LAS 点的序数脉冲返回值。 如果未指定任何值,将使用所有回波。 回波信息仅适用于从激光雷达扫描仪收集的 LAS 点云。 回波数反映了从激光雷达脉冲中获得的离散点的顺序,即第一个回波距离扫描仪最近,最后一个回波距离扫描仪最远。

  • LAST将使用所有激光雷达脉冲的最后一个点。
  • FIRST_OF_MANY将使用具有多个回波的每个激光雷达脉冲的第一个点。
  • LAST_OF_MANY将使用具有多个回波的每个激光雷达脉冲的最后一个点。
  • SINGLE将使用仅具有一个回波的激光雷达脉冲的所有点。
  • 1将使用返回值为 1 的所有点。
  • 2将使用返回值为 2 的所有点。
  • 3将使用返回值为 3 的所有点。
  • 4将使用返回值为 4 的所有点。
  • 5将使用返回值为 5 的所有点。
  • 6将使用返回值为 6 的所有点。
  • 7将使用返回值为 7 的所有点。
  • 8将使用返回值为 8 的所有点。
  • 9将使用返回值为 9 的所有点。
  • 10将使用返回值为 10 的所有点。
  • 11将使用返回值为 11 的所有点。
  • 12将使用返回值为 12 的所有点。
  • 13将使用返回值为 13 的所有点。
  • 14将使用返回值为 14 的所有点。
  • 15将使用返回值为 15 的所有点。
String
no_flag
(可选)

指定是否应包含未分配任何分类标记的数据点以用于显示和分析。

  • INCLUDE_UNFLAGGED将包含无标记的点。 这是默认设置。
  • EXCLUDE_UNFLAGGED将排除无标记的点。
Boolean
synthetic
(可选)

指定是否包含标记为合成点的数据点。 合成点是指源自激光雷达扫描仪以外数据源的 LAS 点。

  • INCLUDE_SYNTHETIC将包含合成点。 这是默认设置。
  • EXCLUDE_SYNTHETIC将排除合成点。
Boolean
keypoint
(可选)

指定是否包含标记为模型关键点的数据点。 模型关键点是指对与其关联的对象建模具有重要意义的 LAS 点。

  • INCLUDE_KEYPOINT将包含模型关键点。 这是默认设置。
  • EXCLUDE_KEYPOINT将排除模型关键点。
Boolean
withheld
(可选)

指定是否包含标记为保留点的数据点。 保留点表示在 LAS 点中捕获的错误或不需要的测量值。

  • INCLUDE_WITHHELD将包含保留点。
  • EXCLUDE_WITHHELD将排除保留点。 这是默认设置。
Boolean
surface_constraints
[surface_constraints,...]
(可选)

图层中将启用的表面约束要素的名称。 默认情况下,所有约束均启用。

String
overlap
(可选)

指定是否包含标记为重叠点的数据点。 重叠点是指在重叠扫描中采集的点,这些点通常具有较大的扫描角度。 过滤重叠点有助于确保在整个数据范围内实现 LAS 点的规则分布。

  • INCLUDE_OVERLAP将包含重叠点。 这是默认设置。
  • EXCLUDE_OVERLAP将排除重叠点。
Boolean

代码示例

MakeLasDatasetLayer 示例 1(Python 窗口)

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

arcpy.env.workspace = 'C:/data'
arcpy.management.MakeLasDatasetLayer('Baltimore.lasd', 'Baltimore Layer',
                                     class_code=[2, 6], return_values=['LAST', 'SINGLE'])
MakeLasDatasetLayer 示例 2(独立脚本)

下面的示例演示了如何在独立 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)