将文件添加到 LAS 数据集 (Data Management)

许可等级:BasicStandardAdvanced

摘要

将一个或多个 LAS 文件和表面约束要素的引用添加到 LAS 数据集。

用法

语法

AddFilesToLasDataset_management (in_las_dataset, {in_files}, {folder_recursion}, {in_surface_constraints})
参数说明数据类型
in_las_dataset

输入 LAS 数据集。

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

输入文件可引用包含 LAS 数据的各个 LAS 文件和文件夹的任意组合。

Folder; File
folder_recursion
(可选)

指定位于输入文件夹子目录中的激光雷达数据是否将添加到 LAS 数据集。

  • NO_RECURSION未选中 - 仅位于输入文件夹中的激光雷达文件会添加到 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 选项读取要素几何。如果没有所需高度,则指定关键字 <无> 来创建 Z-less 要素,其高程由表面内插得到。

SF_type - 定义如何将要素几何加入到表面的三角网中的表面要素类型。具有硬或软标识的选项表示要素边是否表示坡度的明显中断或平缓变化。

  • 锚点 - 决不会被细化掉的高程点。此选项只适用于单点要素几何。
  • 硬断线软断线 - 强制高度值的隔断线。
  • 硬裁剪软裁剪 - 定义 LAS 数据集边界的面数据集。
  • 硬擦除软擦除 - 定义 LAS 数据集中的孔的面数据集。
  • 硬替换软替换 - 定义高度恒定的区域的面数据集。
Value Table

代码实例

AddFilesToLasDataset 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.AddFilesToLasDataset_management("test.lasd", 
                                      ["LA_N", "LA_S/LA_5S4E.las"],
                                      "RECURSION", 
                                      ["boundary.shp <None> Soft_Clip",
                                       "breakline.shp Shape.Z Hard_Line"])
AddFilesToLasDataset 示例 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
from arcpy import env
import exceptions, sys, traceback

try:
    # Script variables
    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:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = "PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}"\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = "ArcPy ERRORS:\n {0}\n".format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 需要 3D Analyst 或者Spatial Analyst
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014