从 LAS 数据集移除文件 (数据管理)

摘要

从 LAS 数据集移除一个或多个 LAS 文件和表面约束要素。

使用情况

  • 文件路径必须使用与操作系统相关联的文件夹分隔符。

  • 仅直接包含 LAS 文件的文件夹可作为输入提供。指定文件夹后,位于该文件夹中的所有 LAS 文件都将从 LAS 数据集中移除。

  • 表面约束要素只需按其名称引用,而不是其扩展名或路径。例如,boundary.shpsample.gdb/boundary 将引用为 boundary

  • 存在 LAS 数据集金字塔时,将更改 LAS 数据集的方案,从而导致 LAS 数据集在 ArcGIS Desktop 或在 ArcGIS AllSource 2.6 之前的版本中不可用。可使用此工具删除金字塔,以允许这些应用程序使用 LAS 数据集。但是,首选做法是为这些应用程序创建新的 LAS 数据集,因为生成 LAS 数据集显示金字塔的处理时间明显比创建 LAS 数据集的时间长。如果需要其他金字塔点选择方法,仅考虑删除显示金字塔。

参数

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

将要处理的 LAS 数据集。

LAS Dataset Layer
LAS 文件或文件夹
(可选)

LAS 文件或包含要从 LAS 数据集移除参考的 LAS 文件的文件夹的名称。

String
表面约束
(可选)

将从 LAS 数据集中移除的表面约束要素的名称。

String
删除金字塔
(可选)

指定是否将删除 LAS 数据集的显示金字塔。

  • 选中 - 将删除 LAS 数据集的显示金字塔。
  • 未选中 - 不会删除 LAS数据集的显示金字塔。这是默认设置。
Boolean

派生输出

标注说明数据类型
更新的 LAS 数据集

已更新的 LAS 数据集。

LAS 数据集图层

arcpy.management.RemoveFilesFromLasDataset(in_las_dataset, {in_files}, {in_surface_constraints}, {delete_pyramid})
名称说明数据类型
in_las_dataset

将要处理的 LAS 数据集。

LAS Dataset Layer
in_files
[in_files,...]
(可选)

LAS 文件或包含要从 LAS 数据集移除参考的 LAS 文件的文件夹的名称。

String
in_surface_constraints
[in_surface_constraints,...]
(可选)

将从 LAS 数据集中移除的表面约束要素的名称。

String
delete_pyramid
(可选)

指定是否将删除 LAS 数据集的显示金字塔。

  • DELETE_PYRAMID将删除 LAS 数据集的显示金字塔。
  • NO_DELETE_PYRAMID不会删除 LAS数据集的显示金字塔。这是默认设置。
Boolean

派生输出

名称说明数据类型
derived_las_dataset

已更新的 LAS 数据集。

LAS 数据集图层

代码示例

从 LAS 数据集移除文件 (RemoveFilesFromLasDataset) 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.RemoveFilesFromLasDataset_management("test.lasd", 
                                           "LA_N; LA_S/LA_5S4E.las",
                                           "boundary.shp; streams.shp")
从 LAS 数据集移除文件 (RemoveFilesFromLasDataset) 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具。

'''*********************************************************************
Name: Modify Files in LAS Dataset& Calculate Stats for LASD
Description: Adds files & surface constraints to a LAS dataset, then
             calculates statistics and generates report.
*********************************************************************'''
# Import system modules
import arcpy

try:
    # Script variables
    arcpy.env.workspace = 'C:/data'
    lasd = 'sample.lasd'
    oldLas = ['2006', '2007/file2.las']
    newLas = ['2007_updates_1', '2007_updates_2']
    oldSurfaceConstraints = ['boundary.shp', 'streams.shp']
    newSurfaceConstraints = [['sample.gdb/boundary', '<None>',
                              'Soft_Clip']
                             ['sample.gdb/streams', 'Shape.Z',
                              'Hard_Line']]
    arcpy.management.RemoveFilesFromLasDataset(lasd, oldLas,
                                               oldSurfaceConstraints)
    arcpy.management.AddFilesToLasDataset(lasd, newLas, 'RECURSION',
                                          newSurfaceConstraints)
    arcpy.management.LasDatasetStatistics(lasd, "UPDATED_FILES",
                                          "lasd_stats.txt",
                                          "LAS_FILE", "DECIMAL_POINT",
                                          "SPACE", "LAS_summary.txt")
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err.args[0])

相关主题