标注 | 说明 | 数据类型 |
输入文件 | .las 文件、.zlas 文件、LAS 数据集以及包含输出 LAS 数据集将引用的 .las 文件的文件夹。 当指定 LAS 数据集作为输入时,会将具有有效路径引用的所有 .las 和 .zlas 文件添加到输入 LAS 数据集。 在地理处理窗格中,还可以指定文件夹作为输入,具体方法如下:在 File Explorer 中选择文件夹,然后将其拖动到参数的输入框上。 | LAS Dataset Layer; File; Folder |
输出 LAS 数据集 | 将创建的 LAS 数据集。 | LAS Dataset |
包括子文件夹 (可选) | 指定 LAS 数据集是否引用位于输入文件夹子目录中的 .las 文件。
| Boolean |
表面约束 (可选) | 将构成由 LAS 数据集生成的三角化网格面定义的要素。
| Value Table |
坐标系 (可选) | LAS 数据集的空间参考。 如果没有明确指定空间参考,则 LAS 数据集将使用第一个输入 .las 文件的坐标系。 如果输入文件不包含空间参考信息且未设置坐标系,则 LAS 数据集的坐标系将列为未知。 | Coordinate System |
计算统计数据 (可选) | 指定是否计算 .las 文件的统计数据以及是否为 LAS 数据集生成空间索引。 统计数据的存在允许 LAS 数据集图层使用过滤和符号系统选项,以便仅显示 .las 文件中存在的 LAS 属性值。 将为每个 .las 文件创建 .lasx 辅助文件。
| Boolean |
存储相对路径 (可选) | 指定 LAS 数据集是通过相对路径还是绝对路径来引用激光雷达文件和表面约束要素。 在文件系统中使用同一相对位置将 LAS 数据集及其关联的数据重新定位到其他位置时,使用相对路径会比较方便。
| Boolean |
为 LAS 文件创建 PRJ | 指定是否会为 LAS 数据集引用的 .las 文件创建 .prj 文件。
| String |
处理范围 (可选) | 处理范围将用于从输入文件参数值中的文件和文件夹列表中选择 .las 文件的子集。 完全位于此范围之外的任何 .las 文件都将从生成的 LAS 数据集中排除。 此外,如果选中了仅添加完全包含的文件参数,则部分位于范围之外的 .las 文件将被排除。 | Extent |
处理边界 (可选) | 这一面要素的边界将用于从输入文件参数中的文件和文件夹列表中选择 .las 文件的子集。 完全位于面之外的任何 .las 文件都将从生成的 LAS 数据集中排除。 此外,如果选中了仅添加完全包含的文件参数,则部分位于面之外的 .las 文件将被排除。 | Feature Layer |
仅添加完全包含的文件 (可选) | 指定将添加到 LAS 数据集的 .las 文件是否必须完全或部分包含在处理范围、处理边界面或两者的交集中。
| Boolean |
摘要
创建引用一个或多个 .las 文件和可选表面约束要素的 LAS 数据集。
插图
使用情况
-
LAS 数据集设计用于使用文件版本 1.0-1.4 以 LAS 格式存储的点云数据。 还支持以压缩 ZLAS 格式存储的 LAS 文件。 可以通过任何创建新 LAS 文件的工具生成 ZLAS 文件,例如转换 LAS、提取 LAS、稀疏化 LAS 或切片 LAS。 此外,EzLAS Optimizer 独立应用程序还可用于将 .las 文件压缩为 .zlas 文件或者将其解压缩回 .las 文件。
-
对各个 .las 文件进行检查,以确定其内部结构是否与 LAS 规范相一致。 如果 .las 文件没能加载到 LAS 数据集中,表示可能出现了文件损坏或文件标题包含错误信息的情况。 可以使用 Esri 的 CheckLAS 实用程序来确定数据中是否存在一些常见的问题。
-
表面约束要素可用于强化 LAS 数据集中要素衍生的表示表面特征的高程值。
-
每个 .las 文件通常在其标题(由 LAS 数据集读取)中包含空间参考信息。 如果此信息丢失或未正确定义,则 .las 文件将不会放置在正确的位置。 如果已知正确的空间参考,则可以使用为 LAS 创建 PRJ 参数创建能够对激光雷达进行正确地理配准的 .prj 文件。 .prj 文件与 .las 文件的名称相同,位于同一文件夹,且包含 .las 文件坐标系的熟知文本表示(类似于与 shapefile 相关联的 .prj 文件)。
-
ArcGIS 使用美国摄影测量及遥感协会 (ASPRS) 定义的 LAS 分类方案。 了解有关激光雷达点分类的详细信息
在地理处理窗格中,还可以指定文件夹作为输入,具体方法如下:在 File Explorer 中选择文件夹,然后将其拖动到参数的输入框上。
参数
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 数据集将引用的 .las 文件的文件夹。 该信息可以以下形式提供:包含所有输入数据的字符串,或包含特定数据元素的字符串列表(例如,"lidar1.las; lidar2.las; folder1; folder2" 或 ["lidar1.las", "lidar2.las", "folder1", "folder2"])。 | LAS Dataset Layer; File; Folder |
out_las_dataset | 将创建的 LAS 数据集。 | LAS Dataset |
folder_recursion (可选) | 指定位于输入文件夹子目录中的激光雷达文件是否将添加到 LAS 数据集。
| Boolean |
in_surface_constraints [[in_feature_class, height_field, SF_type],...] (可选) | 生成三角化网格面时,LAS 数据集将引用的要素。 每个要素都必须定义以下属性:
| Value Table |
spatial_reference (可选) | LAS 数据集的空间参考。 如果没有明确指定空间参考,则 LAS 数据集将使用第一个输入 .las 文件的坐标系。 如果输入文件不包含空间参考信息且未设置坐标系,则 LAS 数据集的坐标系将列为未知。 | Coordinate System |
compute_stats (可选) | 指定是否计算 .las 文件的统计数据以及是否为 LAS 数据集生成空间索引。 统计数据的存在允许 LAS 数据集图层使用过滤和符号系统选项,以便仅显示 .las 文件中存在的 LAS 属性值。 将为每个 .las 文件创建 .lasx 辅助文件。
| Boolean |
relative_paths (可选) | 指定 LAS 数据集是通过相对路径还是绝对路径来引用激光雷达文件和表面约束要素。 在文件系统中使用同一相对位置将 LAS 数据集及其关联的数据重新定位到其他位置时,使用相对路径会比较方便。
| Boolean |
create_las_prj | 指定是否会为 LAS 数据集引用的 .las 文件创建 .prj 文件。
| String |
extent (可选) | 处理范围将用于从 input 参数值中的文件和文件夹列表中选择 .las 文件的子集。 完全位于此范围之外的任何 .las 文件都将从生成的 LAS 数据集中排除。 此外,如果 add_only_contained_files 参数已设置为 INTERSECTED_FILES,则部分位于范围之外的 .las 文件将被排除。 | Extent |
boundary (可选) | 这一面要素的边界将用于从 input 参数中的文件和文件夹列表中选择 .las 文件的子集。 完全位于面要素之外的任何 .las 文件都将从生成的 LAS 数据集中排除。 此外,如果 add_only_contained_files 参数已设置为 INTERSECTED_FILES,则部分位于面之外的 .las 文件将被排除。 | Feature Layer |
add_only_contained_files (可选) | 指定将添加到 LAS 数据集的 .las 文件是否必须完全或部分包含在处理范围、处理边界面或两者的交集中。
| Boolean |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CreateLasDataset_management("folder_a; folder_b/5S4E.las",
"test.lasd", "RECURSION",
"LA/boundary.shp <None> Softclip;"\
"LA/ridges.shp Elevation hardline", "",
"COMPUTE_STATS", "RELATIVE_PATHS")
下面的示例演示了如何在独立 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)