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

摘要

创建引用一个或多个 *.las*.zlas*.laz 文件以及表面约束要素的 LAS 数据集。

插图

创建 LAS 数据集工具图示

使用情况

  • LAS 数据集提供了一种可视化、管理和分析存储在未压缩 LAS 文件 (*.las) 和压缩变体(*.zlas*.laz)中的点云数据集合的方法。 LAS 数据集引用其所在的输入文件,并支持通过可优化渲染体验的单个访问点使用大量独立文件。 压缩文件通常使用的存储大小大约是未压缩文件的 30%,这使其成为管理大量数据和归档存储的合适替代方案。 您可以编辑未压缩 .las 文件和 .zlas 文件的类代码。 在考虑使用哪种文件格式时,请根据使用文件的应用程序来评估格式。

    了解有关 LAS 数据集支持的数据类型的详细信息

    ZLAS 文件可以使用任何创建 .las 文件的工具创建,包括:转换 LAS提取 LAS稀疏化 LAS切片 LAS投影 LAS。 可以使用转换 LAS 工具创建 LAZ 文件。

  • 表面约束要素可用于强化 LAS 数据集中要素衍生的表示表面特征的高程值。

  • 系统会检查将添加到 LAS 数据集的每个 LAS 文件(*.las*.zlas.laz),以确定其文件结构是否符合 ASPRS LAS 格式规范。 未正确创建或损坏的文件将无法加载。 如果发生这种情况,请使用 Esri CheckLAS 应用程序来评估该文件。

  • .las 文件的 ASPRS 规范要求文件具有空间参考信息。 如果此信息缺失或定义不正确,则文件将具有未知的空间参考,这将导致它在地图坐标系中渲染。 如果已知正确的空间参考,请使用定义投影工具或创建 LAS 数据集工具,并将为 LAS 文件创建 PRJ 设置为缺失空间参考所有 LAS 文件

    了解有关如何存储和修改 LAS 坐标系信息的详细信息

  • LAS 数据集的图层和目录属性中提供的类代码标注反映了 ASPRS LAS 1.4 规范中概述的类别名称。 该分类方案适用于航空激光雷达测量,包括以下内容:

    • 与预定义对象关联的类,例如,2 表示地面
    • 其值未定义但保留以供 ASPRS 后续使用的类
    • 可以分配给任何其他对象的类
    LAS 数据集图层的点过滤器、交互式编辑选项和默认符号系统标注反映了 LAS 格式规范的类代码标注。

    了解有关激光雷达点分类的详细信息

  • 如果 LAS 标准适用于数据,但类代码不符合,则考虑修改类别名称以符合 ASPRS LAS 1.4 标准,以确保以一致的方式解释数据。 由于 LAS 格式 1.0 文件不需要任何分类标准,数据供应商可能已将分类代码应用于与最新 LAS 格式中引入的标准不匹配的对象。 如果数据中的类代码值与 LAS 标准不一致,请使用更改 LAS 类代码工具将该值与最新的 ASPRS 分类方案调整为保持一致。

  • 地理处理窗格中,可将文件夹指定为输入,具体方法如下:在 File Explorer 中选择文件夹,然后将其拖动到参数的输入框中。

参数

标注说明数据类型
输入 LAS 文件

将添加到输出 LAS 数据集的 LAS 格式文件(*.las.zlas*.laz)、LAS 数据集(*.lasd)以及包含此类文件的文件夹。 在提供 LAS 数据集后,所有其引用的 LAS 格式文件以及有效路径将添加至输出。

地理处理窗格中,可将文件夹指定为输入,具体方法如下:在 File Explorer 中选择文件夹,然后将其拖动到参数的输入框中。

LAS Dataset Layer; File; Folder
输出 LAS 数据集

将创建的 LAS 数据集。

LAS Dataset
包括子文件夹
(可选)

指定是否将位于输入文件夹子目录中的 LAS 格式文件(.las.zlas.laz)添加到 LAS 数据集中。 仅当输入文件参数值包含文件夹时,此参数才适用。

  • 未选中 - 仅位于输入文件夹中的 LAS 格式文件会添加到 LAS 数据集。 这是默认设置。
  • 选中 - 位于输入文件夹子目录中的所有 LAS 文件都将被添加到 LAS 数据集。
Boolean
表面约束
(可选)

将构成由 LAS 数据集生成的三角化网格面定义的要素。

  • 输入要素 - 将其几何整合到 LAS 数据集的三角化网格面的要素。
  • 高度字段 - 通过选择 Shape.Z,可以从要素属性表或几何中的任何数值字段获取要素的高程源。 如果没有必需高度,则将指定关键字 <None> 来创建 Z-less 要素,其高程由表面内插得到。
  • 类型 - 定义由 LAS 数据集生成的三角化网格面中的要素角色。 具有硬或软标识的选项表示要素边是否表示坡度的明显中断或平缓变化。
  • 表面要素类型 - 定义如何将要素几何加入到表面的三角网中的表面要素类型。 具有硬或软标识的选项表示要素边是否表示坡度的明显中断或平缓变化。
    • 锚点 - 不会被细化掉的高程点。 此选项仅可用于单点要素几何。
    • 硬断线软断线 - 强制高度值的隔断线。
    • 硬裁剪软裁剪 - 定义 LAS 数据集边界的面数据集。
    • 硬擦除软擦除 - 定义 LAS 数据集中的孔的面数据集。
    • 硬替换软替换 - 定义高度恒定的区域的面数据集。
Value Table
坐标系
(可选)

将分配给输出 LAS 数据集的空间参考。 默认坐标系将与第一个输入文件的空间参考相匹配。 如果指定的坐标系与输入文件不同,则将导致输入文件在后续操作中进行处理时重新投影到 LAS 数据集的坐标系。 如果输入文件没有空间参考,则坐标系将默认为未知。 如果已知无空间参考文件的坐标系,则可以为输入文件定义正确的坐标系,方法为在此参数中选择坐标系,然后将为 LAS 文件定义投影参数设置为空间参考未知的文件

Coordinate System
计算统计数据
(可选)

指定是否将为输入文件计算统计数据和空间索引。 统计数据的存在允许 LAS 数据集图层使用过滤和符号系统选项,以便仅显示 .las 文件中存在的 LAS 属性值。 将为每个 .las 文件创建 .lasx 辅助文件。

  • 未选中 - 不计算统计数据。 这是默认设置。
  • 选中 - 将计算统计数据。
Boolean
存储相对路径
(可选)

指定 LAS 数据集引用的源数据是使用相对路径还是绝对路径。 在文件系统中使用同一相对路径重定位 LAS 数据集及其关联的数据时,使用相对路径会比较方便。

  • 未选中 - LAS 数据集引用数据时使用绝对路径。 这是默认设置。
  • 选中 - LAS 数据集引用数据时使用相对路径。
Boolean
为 LAS 文件定义投影

指定 *.las.zlas*.laz 输入文件的坐标系是否由 .prj 文件定义,并且该文件是通过坐标系参数中的空间参考为这些输入文件创建的。 .prj 文件将覆盖要添加到 LAS 数据集的 LAS 格式文件中存储的所有空间参考信息。

  • 无文件不会为所有 *.las.zlas*.laz 输入文件创建 .prj。 这是默认设置。
  • 空间参考未知的文件将为没有空间参考的 *.las.zlas*.laz 输入文件创建 .prj
  • 所有文件将为所有 *.las.zlas*.laz 输入文件创建 .prj
String
处理范围
(可选)

将用于过滤要添加至 LAS 数据集的文件的处理范围。 位于此范围之外的任何输入文件都将从生成的 LAS 数据集中排除。 如果选中了仅添加完全包含的文件参数,则可以排除与范围部分重叠的文件。

Extent
处理边界
(可选)

将用于过滤要添加至 LAS 数据集的文件的面边界要素。 位于此边界之外的任何输入文件都将从生成的 LAS 数据集中排除。 如果选中了仅添加完全包含的文件参数,则将排除与边界部分重叠的文件。

Feature Layer
仅添加完全包含的文件
(可选)

指定要添加到 LAS 数据集的输入文件是否必须完全或部分包含在处理范围和处理边界面中。

  • 未选中 - 与处理范围、处理边界或两者的交集相交所有文件都将添加到 LAS 数据集中。 这是默认设置。
  • 选中 - 仅完全包含在处理范围、处理边界或两者的交集中的文件才会添加到 LAS 数据集。
Boolean

arcpy.management.CreateLasDataset(input, out_las_dataset, {folder_recursion}, {in_surface_constraints}, {spatial_reference}, {compute_stats}, {relative_paths}, create_las_prj, {extent}, {boundary}, {add_only_contained_files})
名称说明数据类型
input
[input,...]

将添加到输出 LAS 数据集的 LAS 格式文件(*.las.zlas*.laz)、LAS 数据集(*.lasd)以及包含此类文件的文件夹。 在提供 LAS 数据集后,所有其引用的 LAS 格式文件以及有效路径将添加至输出。

LAS Dataset Layer; File; Folder
out_las_dataset

将创建的 LAS 数据集。

LAS Dataset
folder_recursion
(可选)

指定是否将位于输入文件夹子目录中的 LAS 格式文件(.las.zlas.laz)添加到 LAS 数据集中。

  • NO_RECURSION仅位于输入文件夹中的 LAS 格式文件会添加到 LAS 数据集。 这是默认设置。
  • RECURSION位于输入文件夹子目录中的所有 LAS 格式文件都将被添加到 LAS 数据集。
Boolean
in_surface_constraints
[[in_feature_class, height_field, SF_type],...]
(可选)

生成三角化网格面时,LAS 数据集将引用的要素。 每个要素都必须定义以下属性:

  • in_feature_class - LAS 数据集将引用的要素。
  • height_field - 可以使用要素属性表中的任何数值字段来定义高度源。 如果要素几何包含 Z 值,则可以通过指定 Shape.Z 进行选择。 如果没有必需高度,则将指定关键字 <None> 来创建 Z-less 要素,其高程由表面内插得到。
  • SF_type - 定义如何将要素几何加入到表面的三角网中的表面要素类型。 具有硬或软标识的选项表示要素边是否表示坡度的明显中断或平缓变化。
    • anchorpoints - 不会被细化掉的高程点。 此选项仅可用于单点要素几何。
    • hardlinesoftline - 强制高度值的隔断线。
    • hardclipsoftclip - 定义 LAS 数据集边界的面数据集。
    • harderasesofterase - 定义 LAS 数据集中的孔的面数据集。
    • hardreplacesoftreplace - 定义恒定高度区域的面数据集。

Value Table
spatial_reference
(可选)

将分配给输出 LAS 数据集的空间参考。 默认坐标系将与第一个输入文件的空间参考相匹配。 如果指定的坐标系与输入文件不同,则将导致输入文件在后续操作中进行处理时重新投影到 LAS 数据集的坐标系。 如果输入文件没有空间参考,则坐标系将默认为未知。 如果已知无空间参考文件的坐标系,则可以为输入文件定义正确的坐标系,方法为在此参数中选择坐标系,然后将 create_las_prj 参数设置为 FILES_MISSING_PROJECTION

Coordinate System
compute_stats
(可选)

指定是否将为输入文件计算统计数据和空间索引。 统计数据的存在允许 LAS 数据集图层使用过滤和符号系统选项,以便仅显示 .las 文件中存在的 LAS 属性值。 将为每个 .las 文件创建 .lasx 辅助文件。

  • COMPUTE_STATS将计算统计数据。
  • NO_COMPUTE_STATS不计算统计数据。 这是默认设置。
Boolean
relative_paths
(可选)

指定 LAS 数据集引用的源数据是使用相对路径还是绝对路径。 在文件系统中使用同一相对路径重定位 LAS 数据集及其关联的数据时,使用相对路径会比较方便。

  • ABSOLUTE_PATHSLAS 数据集引用数据时使用绝对路径。 这是默认设置。
  • RELATIVE_PATHSLAS 数据集引用数据时使用相对路径。
Boolean
create_las_prj

指定 *.las.zlas*.laz 输入文件的坐标系是否由 .prj 文件定义,并且该文件是通过 spatial_reference 参数中的空间参考为这些输入文件创建的。 .prj 文件将覆盖要添加到 LAS 数据集的输入 LAS 格式文件中存储的所有空间参考信息。

  • NO_FILES不会为所有 *.las.zlas*.laz 输入文件创建 .prj。 这是默认设置。
  • FILES_MISSING_PROJECTION将为没有空间参考的 *.las.zlas*.laz 输入文件创建 .prj
  • ALL_FILES将为所有 *.las.zlas*.laz 输入文件创建 .prj
String
extent
(可选)

将用于过滤要添加至 LAS 数据集的文件的处理范围。 位于此范围之外的任何输入文件都将从生成的 LAS 数据集中排除。 如果 add_only_contained_files 参数设置为 INTERSECTED_FILES,可以排除与范围部分重叠的文件。

Extent
boundary
(可选)

将用于过滤要添加至 LAS 数据集的文件的面边界要素。 位于此边界之外的任何输入文件都将从生成的 LAS 数据集中排除。 如果 add_only_contained_files 参数设置为 INTERSECTED_FILES,将排除与边界部分重叠的文件。

Feature Layer
add_only_contained_files
(可选)

指定要添加到 LAS 数据集的输入文件是否必须完全或部分包含在处理范围和处理边界面中。

  • INTERSECTED_FILES与处理范围和处理边界相交的所有文件都将添加到 LAS 数据集中。 这是默认设置。
  • CONTAINED_FILES仅完全包含在处理范围和处理边界内的文件将添加到 LAS 数据集中。
Boolean

代码示例

CreateLasDataset 示例 1 (Python 窗口)

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

import arcpy

arcpy.env.workspace = "C:/data"
arcpy.management.CreateLasDataset("folder_a; folder_b/5S4E.las", 
                                "test.lasd", "RECURSION",
                                "LA/boundary.shp <None> Softclip;"\
                                "LA/ridges.shp Elevation hardline", "", 
                                "COMPUTE_STATS", "RELATIVE_PATHS")
创建 LAS 数据集 (CreateLasDataset) 示例 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)

许可信息

  • Basic: 需要 3D Analyst 或 Spatial Analyst
  • Standard: 是
  • Advanced: 是

相关主题