ArcGIS for Desktop

  • 文档
  • 合约
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS for Desktop

全面的专业性 GIS

ArcGIS for Server

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 合约
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

更改 LAS 类代码

需要 3D Analyst 许可。

  • 摘要
  • 用法
  • 语法
  • 代码实例
  • 环境
  • 许可信息

摘要

修改 LAS 数据集所引用的 LAS 文件的类代码值。

用法

  • 此工具将对 LAS 数据集所引用的所有 LAS 文件进行评估,但只有包含所提供的类代码的文件才会被修改。

  • 在 LAS 1.1 规范中引入标准化类代码之前,先考虑使用此工具更新 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 的特定版本支持)

语法

ChangeLasClassCodes_3d (in_las_dataset, class_codes, {compute_stats})
参数说明数据类型
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 属性值。

  • COMPUTE_STATS —计算统计数据。
  • NO_COMPUTE_STATS —不计算统计数据。这是默认设置。
Boolean

代码实例

更改 LAS 类代码 (ChangeLasClassCodes) 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.ChangeLasClassCodes_3d('test.lasd', [[5, 2], [3, 1], [4, 6]], 
                           'COMPUTE_STATS')
更改 LAS 类代码 (ChangeLasClassCodes) 示例 2(独立脚本)

下面的示例演示了如何在独立 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
import exceptions, sys, traceback

# 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)

try:
    arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, recursion)
    # Execute ChangeLasClassCodes
    arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)
    # Report messages
    arcpy.GetMessages()
    
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)

环境

  • 当前工作空间

相关主题

  • 数据管理工具集概述
  • 有关表面的基础知识
  • 表面格式
  • 激光雷达点分类
  • 编辑 LAS 点分类
  • 在 ArcGIS 中使用 LAS 分类
有关此主题的反馈?

ArcGIS for Desktop

  • 主页
  • 文档
  • 合约
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明