ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

创建 LAS 数据集图层

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

创建可将过滤器应用于 LAS 点并可控制表面约束要素强化的 LAS 数据集图层。

使用方法

  • LAS 数据集图层可用于过滤激光雷达数据以便后续分析。例如,通过过滤类代码 2(该代码表示地面测量)可轻松创建数字高程模型 (DEM),并随后将生成的图层用作 LAS 数据集转栅格工具的输入。

    注:

    可使用保存到图层文件工具将生成的图层保存为图层文件。

语法

arcpy.management.MakeLasDatasetLayer(in_las_dataset, out_layer, {class_code}, {return_values}, {no_flag}, {synthetic}, {keypoint}, {withheld}, {surface_constraints})
参数说明数据类型
in_las_dataset

待处理的 LAS 数据集。

LAS Dataset Layer
out_layer

生成的 LAS 数据集图层的名称。可使用反斜线或正斜线表示图层组。

LAS Dataset Layer
class_code
[class_code,...]
(可选)

允许通过分类代码过滤 LAS 点。有效值的范围将取决于 LAS 数据集引用的 LAS 文件版本所支持的类代码。默认情况下会选择所有类代码。

  • 0 —从不使用分类方法进行处理
  • 1 —使用分类方法进行处理,但尚未确定
  • 2 —裸露地面测量
  • 3 —认为该区域的植被高度较低
  • 4 —认为该区域的植被具有中等高度
  • 5 —认为该区域的植被高度较高
  • 6 —屋顶和墙面结构
  • 7 —错误或接近地面的不必要数据
  • 8 —保留以供日后使用,但用于 LAS 1.1 - 1.3 中的模型关键点
  • 9 —水域
  • 10 —火车使用的铁路轨道
  • 11 —道路表面
  • 12 —保留以供日后使用,但用于 LAS 1.1 - 1.3 中的重叠点
  • 13 —电线周围的防护
  • 14 —电力线
  • 15 —用于支持架空电力线路的格架塔
  • 16 —用于连接电路的机械装配
  • 17 —桥的表面
  • 18 —错误或远离地面的不必要数据
  • 19 - 63 —为 ASPRS 指定保留的类代码。
  • 64 - 255 —用户自定义的类代码。
String
return_values
[return_values,...]
(可选)

用于过滤 LAS 点的返回值。如果未指定任何值,将使用所有返回值。

  • Last Return —最后回波
  • First of Many —多个回波中的第一个
  • Last of Many —多个回波中的最后一个
  • Single Return —单一回波
  • 1 —第 1 个回波
  • 2 —第 2 个回波
  • 3 —第 3 个回波
  • 4 —第 4 个回波
  • 5 —第 5 个回波
  • 6 —第 6 个回波
  • 7 —第 7 个回波
  • 8 —第 8 个回波
  • 9 —第 9 个回波
  • 10 —第 10 个回波
  • 11 —第 11 个回波
  • 12 —第 12 个回波
  • 13 —第 13 个回波
  • 14 —第 14 个回波
  • 15 —第 15 个回波
String
no_flag
(可选)

指定是否应启用未分配任何分类标记的数据点以用于显示和分析。

  • INCLUDE_UNFLAGGED —将显示无标记的点。这是默认设置。
  • EXCLUDE_UNFLAGGED —不显示无标记的点。
Boolean
synthetic
(可选)

指定应启用标记为合成点的数据点,还是启用源自非激光雷达数据源的点,以用于显示和分析。

  • INCLUDE_SYNTHETIC —将显示合成点。这是默认设置。
  • EXCLUDE_SYNTHETIC —不显示合成点。
Boolean
keypoint
(可选)

指定应启用标记为模型关键点的数据点,还是启用不应被细化掉的重要测量点,以用于显示和分析。

  • INCLUDE_KEYPOINT —将显示模型关键点。这是默认设置。
  • EXCLUDE_KEYPOINT —不显示模型关键点。
Boolean
withheld
(可选)

指定是否应启用标记为保留点的数据点(这些点通常表示不需要的噪音测量点)以用于显示和分析。

  • EXCLUDE_WITHHELD —不显示保留点。这是默认设置。
  • INCLUDE_WITHHELD —将显示保留点。
Boolean
surface_constraints
[surface_constraints,...]
(可选)

图层中将启用的表面约束要素的名称。默认情况下,所有约束均启用。

String

代码示例

创建 LAS 数据集图层 (MakeLasDatasetLayer) 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.MakeLasDatasetLayer_management('Baltimore.lasd', 'Baltimore Layer', 
                                     2, 'LAST', 'INCLUDE_UNFLAGGED', 
                                     'EXCLUDE_SYNTHETIC', 'INCLUDE_KEYPOINT',
                                     'EXCLUDE_WITHHELD')
创建 LAS 数据集图层 (MakeLasDatasetLayer) 示例 2(独立脚本)

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

'''*********************************************************************
Name: Export Elevation Raster from Ground LAS Measurements
Description: This script demonstrates how to export
             ground measurements from LAS files to a raster using a 
             LAS dataset. This sample is designed to be used as a script
             tool.
*********************************************************************'''
# Import system modules
import arcpy

try:
    # Set Local Variables
    inLas = arcpy.GetParameterAsText(0)
    recursion = arcpy.GetParameterAsText(1)
    surfCons = arcpy.GetParameterAsText(2)
    classCode = arcpy.GetParameterAsText(3)
    returnValue = arcpy.GetParameterAsText(4)
    spatialRef = arcpy.GetParameterAsText(5)
    lasD = arcpy.GetParameterAsText(6)
    outRaster = arcpy.GetParameterAsText(7)
    cellSize = arcpy.GetParameter(8)
    zFactor = arcpy.GetParameter(9)
    if arcpy.ProductInfo == 'ArcView':
        arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasD, recursion, surfCons, sr)
    # Execute MakeLasDatasetLayer
    lasLyr = arcpy.CreateUniqueName('Baltimore')
    arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
    # Execute LasDatasetToRaster
    arcpy.conversion.LasDatasetToRaster(lasLyr, outRaster, 'ELEVATION',
                              'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
                              'CELLSIZE', cellSize, zFactor)
    arcpy.GetMessages()
    
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
    
except Exception as err:
    print(err.args[0])
    
finally:
    arcpy.management.Delete(lasLyr)

环境

  • 当前工作空间

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题

  • 图层和表视图工具集概述
  • 使用图层和表视图
  • 使用图层和表视图

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明