使用要素设置 LAS 类代码 (3D Analyst)

摘要

对与输入要素二维范围相交的 LAS 点进行分类。

使用情况

  • 与输入点、线和面的二维范围相交的所有 LAS 点,以及可能应用的任何缓冲区,都将被重新分类。 如果对 LAS 点进行重新分类需要从 3D 要素起的三维距离,请考虑使用按邻域查找 LAS 点工具。

  • 缓冲距离对于点和线尤为重要,因为给定 LAS 点不可能准确落在线上或者与输入点具有相同的坐标。 应用于缓冲区的距离单位基于 LAS 数据集空间参考的线性单位。

  • 如果已过滤 LAS 数据集图层的点,则将仅重新分类与输入要素相交的过滤点。 LAS 数据集图层可以通过图层属性对话框或创建 LAS 数据集图层工具使用分类代码、分类标记和返回值的任意组合进行过滤。

  • LAS 格式支持根据美国摄影测量与遥感协会 (ASPRS) 制定的规范对每个点进行分类。 ArcGIS 平台应用为 LAS 格式文件版本 1.4 指定的分类方案:

    分类值分类类型

    0

    从不分类

    1

    未分配

    2

    地面

    3

    低植被

    4

    中等植被

    5

    高植被

    6

    建筑物

    7

    低噪音

    8

    模型关键点/保留

    9

    水域

    10

    铁路

    11

    路面

    12

    重叠/保留

    13

    钢丝护网

    14

    导线

    15

    输电塔

    16

    线 - 连接器

    17

    桥板

    18

    高噪音

    19 – 63

    为 ASPRS 定义保留(LAS 1.1 至 1.3 最高支持类代码 31)

    32 – 255

    可由用户定义(仅 LAS 1.0 和 1.4 的特定版本支持)

    注:

    尽管 LAS 1.4 引入的大部分类代码分配先前已被指定为“保留”,但类代码 8 和 12 已相应地从“模型关键和重叠”更改为“保留”。

参数

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

待处理的 LAS 数据集。

LAS Dataset Layer
输入要素类

一个或多个输入要素,用于为 LAS 数据集引用的激光雷达文件定义类代码值。 分类标记选项默认设置为没有更改,但是可以通过选择设置进行分配或者通过选择清除进行移除。 每个要素均具有以下选项:

  • 要素 - 用于对 LAS 点进行重新分类的要素。
  • 缓冲距离 - 确定与缓冲区域相交的 LAS 点之前,缓冲输入要素的距离。
  • 新建类 - 要分配的类代码。
  • 合成 -“合成”分类标记可用于识别未从激光雷达传感器获取但包含在 .las 文件中的点,例如激光雷达传感器尚未捕获的测量控制点。
  • 关键点 -“模型关键点”分类标记代表在激光雷达集合中捕获特定细节层次所需的点子集。 过去,此标记与代表特定 z 容差内细化的地面点相关联。
  • 保留 -“保留”分类标记表示应从分析和可视化中排除的错误数据。
  • 重叠 -“重叠”标识可以标识重叠扫描的点,仅在 LAS 1.4 文件中受支持。
Value Table
计算统计数据
(可选)

指定是否将计算 LAS 数据集引用的 .las 文件的统计数据。 计算统计数据时会为每个 .las 文件提供一个空间索引,从而提高了分析和显示性能。 统计数据还可通过将 LAS 属性(例如分类代码和返回信息)显示限制为 .las 文件中存在的值来提升过滤和符号系统体验。

  • 选中 - 将计算统计数据。 这是默认设置。
  • 未选中 - 不计算统计数据。
Boolean
更新金字塔
(可选)

指定修改类代码后,LAS 数据集金字塔是否会更新。

  • 选中 - LAS 数据集金字塔将更新。 这是默认设置。
  • 未选中 - LAS 数据集金字塔不会更新。
Boolean

派生输出

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

更新后的 LAS 数据集。

LAS Dataset Layer

arcpy.ddd.SetLasClassCodesUsingFeatures(in_las_dataset, feature_class, {compute_stats}, {update_pyramid})
名称说明数据类型
in_las_dataset

待处理的 LAS 数据集。

LAS Dataset Layer
feature_class
[[features, buffer_distance, new_class, synthetic, key_point, withheld, overlap],...]

可以采用由多个列表组成的列表的形式输入将用于定义分类操作的每个要素及其相关联的选项,例如 [['feature1', 6, 9, 'NO_CHANGE', 'SET', 'CLEAR', 'NO_CHANGE'], ['feature 2', 0, 6, 'NO_CHANGE', 'NO_CHANGE', 'NO_CHANGE', 'NO_CHANGE']]。 每个要素均具有以下选项:

  • features - 用于对 LAS 点进行重新分类的要素。
  • buffer_distance - 确定与缓冲区域相交的 LAS 点之前,应用到输入要素的缓冲距离。
  • new_class - 要分配的类代码。
  • synthetic -“合成”分类标记可用于识别未从激光雷达传感器获取的点。
  • key_point -“模型关键点”分类标记代表可用于捕获给定类代码所需细节层次的点子集。
  • withheld -“保留”分类标记表示应从分析和可视化中排除的错误数据。
  • overlap -“重叠”标识可以标识重叠扫描的点,仅在 LAS 1.4 文件中受支持。
Value Table
compute_stats
(可选)

指定是否将计算 LAS 数据集引用的 .las 文件的统计数据。 计算统计数据时会为每个 .las 文件提供一个空间索引,从而提高了分析和显示性能。 统计数据还可通过将 LAS 属性(例如分类代码和返回信息)显示限制为 .las 文件中存在的值来提升过滤和符号系统体验。

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

指定修改类代码后,LAS 数据集金字塔是否会更新。

  • UPDATE_PYRAMIDLAS 数据集金字塔将更新。 这是默认设置。
  • NO_UPDATE_PYRAMIDLAS 数据集金字塔不会更新。
Boolean

派生输出

名称说明数据类型
derived_las_dataset

更新后的 LAS 数据集。

LAS Dataset Layer

代码示例

SetLasClassCodesUsingFeatures 示例 1(Python 窗口)

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

arcpy.env.workspace = 'C:/data'
arcpy.SetLasClassCodesUsingFeatures_3d("test.lasd", ["lake.shp", 0, 9],
                                       compute_stats="COMPUTE_STATS")
SetLasClassCodesUsingFeatures 示例 2(独立脚本)

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

'''**********************************************************************
Name: Assign Withheld Classification Flag to Outlier Points in LAS Files
Description: Uses Locate Outliers to identify points in LAS files that
             should be assigned the 'withheld' classification flag.
             Designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
outliers = 'in_memory/outliers'

# Execute LocateOutliers
arcpy.ddd.LocateOutliers(lasD, outliers, 'APPLY_HARD_LIMIT', -10,
                         350, 'APPLY_COMPARISON_FILTER', 1.2, 120,
                         0.8, 8000)

# Execute SetLasClassCodeUsingFeatures
arcpy.ddd.SetLasClassCodesUsingFeatures(lasd, [["outliers.shp", 5,
                                                "NO_CHANGE", "NO_CHANGE",
                                                "NO_CHANGE", "SET"]])

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题