摘要
使用点、线和面要素来对 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 数据集图层还可用于控制表面约束要素的强化,而该要素可由 LAS 数据集引用。 
- 将对针对输入要素指定的缓冲区的二维区域中的 LAS 数据点进行分类。 
- 考虑使用从定位异常值获得的点将 LAS 点分类为“噪点”。 
语法
SetLasClassCodesUsingFeatures_3d (in_las_dataset, feature_class, {compute_stats})| 参数 | 说明 | 数据类型 | 
| in_las_dataset | 待处理的 LAS 数据集。 | LAS Dataset Layer | 
| feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld],...] | 指定一个或多个要素类,用于为 LAS 数据集引用的激光雷达文件定义类代码值。每个要素均具有可以指定的下列选项: 
 | Value Table | 
| compute_stats (可选) | 指定是否应计算 LAS 数据集引用的 LAS 文件的统计数据。统计数据的存在允许 LAS 数据集图层使用过滤和符号系统选项,以便仅显示 LAS 文件中存在的 LAS 属性值。 
 | Boolean | 
代码实例
SetLasClassCodesUsingFeatures 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.SetLasClassCodesUsingFeatures_3d("test.lasd", [["lake.shp 0 9"],
                                       ["outliers.shp", 5, "NO_CHANGE", 
                                        "NO_CHANGE", "NO_CHANGE", "SET"]], 
                                       "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
import exceptions, sys, traceback
try:
    arcpy.CheckOutExtension('3D')
    # 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"]])
    arcpy.CheckInExtension('3D')
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)