描述
重新分配 LAS 文件的分类代码和标记。
使用方法
此工具将对 LAS 数据集所引用的所有 LAS 文件进行评估,但只有包含所提供的类代码的文件才会被修改。
考虑使用此工具更新 LAS 文件中数据点的分类,该文件在 LAS 1.1 规范中引入标准化类代码之前已生成。
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 的特定版本支持)
语法
arcpy.3d.ChangeLasClassCodes(in_las_dataset, class_codes, {compute_stats}, {extent}, boundary, {process_entire_files})
参数 | 说明 | 数据类型 |
in_las_dataset | 待处理的 LAS 数据集。 | LAS Dataset Layer |
class_codes [[current_class, new_class],...] | 以空格分隔的字符串或整型序列值指定每对当前类代码和新类代码。例如,通过指定 "5 2" 或 [5, 2] 可将当前类代码 5 更改为 2。多个类代码可以分号分隔的字符串形式输入 ("5 2; 8 3; 1 4"),或以字符串序列形式输入(例如 [[5, 2], [8, 3], [1, 4]])。 | Value Table |
compute_stats (可选) | 指定是否应计算 LAS 数据集引用的 LAS 文件的统计数据。计算统计数据时会为每个 LAS 文件提供一个空间索引,从而提高了分析和显示性能。统计数据还可通过将 LAS 属性(如分类代码和返回信息)显示限制为 LAS 文件中存在的值来提升过滤和符号系统体验。
| Boolean |
extent (可选) | 指定将由此工具进行评估的数据范围。
| Extent |
boundary | 定义将由此工具进行处理的感兴趣区域的面要素。 | Feature Layer |
process_entire_files (可选) | 指定处理范围的应用方式。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
derived_las_dataset | 已更新的 LAS 数据集。 | LAS 数据集图层 |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
arcpy.env.workspace = 'C:/data'
arcpy.ChangeLasClassCodes_3d('test.lasd', [[5, 2], [3, 1], [4, 6]],
'COMPUTE_STATS')
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: Update LAS 1.0 Classification to ASPRS 1.1 Specs
Description: Updates classification of version 1.0 LAS files to conform to
the standardized class codes introduced in the 1.1 specifications.
The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
reclassList = arcpy.GetParameterAsText(3) #List of values '<oldCode> <newCode>'
calcStats = arcpy.GetParameter(4)
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, recursion)
# Execute ChangeLasClassCodes
arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst