LAS 数据集统计数据 (数据管理)

需要 3D Analyst 许可。

需要 Spatial Analyst 许可。

描述

计算或更新 LAS 数据集的统计数据并生成可选的统计数据报表。

使用方法

  • 计算统计数据将创建空间和属性索引,以帮助优化显示和分析性能。统计数据有助于对平均点间距进行更精确的估计,并提供有关点属性的其他详细信息。统计信息存储在与其对应的 LAS 文件的同名文件中,但其末尾扩展名为 .lasx

  • 统计数据对 LAS 数据集图层启用过滤选项来自动显示可用的类代码并返回在 LAS 文件中的值。LAS 数据集图层可通过其图层属性对话框或创建 LAS 数据集图层工具进行过滤。

  • 可选的统计数据报告文件概述 LAS 数据集中所有文件的 LAS 属性,或者概述可导入任意数量应用程序的文本格式的各个独立 LAS 文件的 LAS 属性。

  • 如果修改了 LAS 文件的分类代码或标志,则其统计信息将失效并需要重新计算。同样,如果 LAS 数据集添加了新的 LAS 文件参考,则还会导致统计信息失效。

语法

LasDatasetStatistics(in_las_dataset, {calculation_type}, {out_file}, {summary_level}, {delimiter}, {decimal_separator})
参数说明数据类型
in_las_dataset

待处理的 LAS 数据集。

LAS Dataset Layer
calculation_type
(可选)

指定是否针对所有激光雷达文件或仅针对那些没有统计数据的文件计算统计数据:

  • SKIP_EXISTING_STATS将跳过包含最新统计数据的 LAS 文件,仅为新添加的 LAS 文件或自初始计算后更新的 LAS 文件计算统计数据。这是默认设置。
  • OVERWRITE_EXISTING_STATS为所有 LAS 文件(包括具有最新统计数据的 LAS 文件)计算统计数据。这适合于在 ArcGIS 未检测到的外部应用程序中修改了 LAS 文件的情况。
Boolean
out_file
(可选)

包含 LAS 数据集统计数据汇总的输出文本文件。

Text File
summary_level
(可选)

指定包含在报表中的汇总类型。

  • DATASET报表将汇总整个 LAS 数据集的统计数据。这是默认设置。
  • LAS_FILES报表将汇总 LAS 数据集引用的 LAS 文件的统计数据。
String
delimiter
(可选)

用来指示文本文件表的列中输入条目间隔的分隔符。

  • SPACE空格将用于分隔字段值。这是默认设置。
  • COMMA逗号将用于分隔字段值。如果小数分隔符也是逗号,则此选项不适用。
String
decimal_separator
(可选)

文本文件中用于区分数字的整数部分与其小数部分的小数分隔符。

  • DECIMAL_POINT点用作小数字符。这是默认设置。
  • DECIMAL_COMMA逗号用作小数字符。
String

派生输出

名称说明数据类型
derived_las_dataset

已更新的 LAS 数据集。

LAS 数据集图层

代码示例

LAS 数据集统计数据 (LasDatasetStatistics) 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.LASDatasetStatistics_3d("test.lasd", "NO_FORCE", "LAS_FILE", 
                            "DECIMAL_POINT", "SPACE", "LAS_summary.txt")
LAS 数据集统计数据 (LasDatasetStatistics) 示例 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])

许可信息

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

相关主题