LAS 转多点 (3D Analyst)

摘要

使用一个或多个激光雷达文件创建多点要素。

插图

LAS 转多点

使用情况

  • 此工具支持 1.0 到 1.4 版本的 ZLAS 和 LAS 文件。

  • ArcGIS 使用美国摄影测量及遥感协会 (ASPRS) 定义的 LAS 分类方案。 了解有关激光雷达点分类的详细信息

  • LAS 格式支持存储为每个激光雷达点预定义的大量属性。如果您不知道哪些属性可用于给定的 LAS 文件集合,请考虑使用 LAS 数据集来查看 LAS 文件属性。

  • 将多个 LAS 属性加载到 Oracle 数据库时,必须确保参数 attribute_binary 的所有 DBTUNE 关键字均设置为使用二进制大对象 (BLOB),而不是 LONGRAW。这是因为 LAS 属性已作为 BLOB 加载,而 Oracle 不支持 LONGRAW 表中存在多个 BLOB。如需帮助,请联系 Oracle 数据库管理员。

参数

标注说明数据类型
输入

将要导入到多点要素类中的 LAS 或 ZLAS 文件。如果指定了文件夹,则将导入位于该文件夹中的所有 LAS 文件。

地理处理窗格中,还可以指定文件夹作为输入,具体方法如下:在 File Explorer 中选择文件夹,然后将其拖动到参数的输入框上。

Folder; File
输出要素类

将生成的要素类。

Feature Class
平均点间距

一个或多个输入文件中点之间的平均 2D 距离。此距离可以是一个近似值。如果以不同的密度对区域进行采样,应指定较小的间距。所提供的值需要使用输出坐标系的投影单位。

Double
类代码
(可选)

将用作 LAS 数据点的查询过滤器的分类代码。 有效值的范围介于 0 到 255 之间。 默认情况下,不使用过滤器。

Long
返回值
(可选)

将用于过滤已导入到多点要素中的 LAS 点的回波值。

  • ANY_RETURNS任意回波
  • 11
  • 22
  • 33
  • 44
  • 55
  • 66
  • 77
  • 88
  • LAST_RETURNS最后回波
String
输入属性名称
(可选)

LAS 点属性,其值将存储在输出的属性表的二进制大对象 (BLOB) 字段中。如果所生成的要素将参与 terrain 数据集,则已存储的属性可用于对 terrain 进行符号化。名称列表示将用于存储指定属性的字段的名称。支持的 LAS 属性如下:

  • INTENSITY强度
  • RETURN_NUMBER回波编号
  • NUMBER_OF_RETURNS每个脉冲的回波数
  • SCAN_DIRECTION_FLAG扫描方向标记
  • EDGE_OF_FLIGHTLINE摄影航线的边缘
  • CLASSIFICATION分类
  • SCAN_ANGLE_RANK扫描角度等级
  • FILE_MARKER文件标记
  • USER_BIT_FIELD用户数据值
  • GPS_TIMEGPS 时间
  • COLOR_RED红色波段
  • COLOR_GREEN绿色波段
  • COLOR_BLUE蓝色波段
Value Table
坐标系
(可选)

输入 LAS 文件的坐标系。

Coordinate System
文件后缀
(可选)

将从输入文件夹导入的文件的后缀。 将文件夹指定为输入时,此参数为必填项。

String
Z 因子
(可选)

Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。

Double
包括子文件夹
(可选)

当所选输入文件夹中的子文件夹含有数据时,扫描子文件夹。为目录结构中包含的每个文件生成一行输出要素类。

  • 未选中 - 只有在输入文件夹中找到的 LAS 文件将转换为多点要素。这是默认设置。
  • 选中 - 位于输入文件夹子目录中的所有 LAS 文件将转换为多点要素。
Boolean

arcpy.ddd.LASToMultipoint(input, out_feature_class, average_point_spacing, {class_code}, {return}, {attribute}, {input_coordinate_system}, {file_suffix}, {z_factor}, {folder_recursion})
名称说明数据类型
input
[input,...]

将要导入到多点要素类中的 LAS 或 ZLAS 文件。如果指定了文件夹,则将导入位于该文件夹中的所有 LAS 文件。

地理处理窗格中,还可以指定文件夹作为输入,具体方法如下:在 File Explorer 中选择文件夹,然后将其拖动到参数的输入框上。

Folder; File
out_feature_class

将生成的要素类。

Feature Class
average_point_spacing

一个或多个输入文件中点之间的平均 2D 距离。此距离可以是一个近似值。如果以不同的密度对区域进行采样,应指定较小的间距。所提供的值需要使用输出坐标系的投影单位。

Double
class_code
[class_code,...]
(可选)

将用作 LAS 数据点的查询过滤器的分类代码。 有效值的范围介于 0 到 255 之间。 默认情况下,不使用过滤器。

Long
return
[return,...]
(可选)

将用于过滤已导入到多点要素中的 LAS 点的回波值。

  • ANY_RETURNS任意回波
  • 11
  • 22
  • 33
  • 44
  • 55
  • 66
  • 77
  • 88
  • LAST_RETURNS最后回波
String
attribute
[[keyword, name],...]
(可选)

LAS 点属性,其值将存储在输出的属性表的二进制大对象 (BLOB) 字段中。如果所生成的要素将参与 terrain 数据集,则已存储的属性可用于对 terrain 进行符号化。名称列表示将用于存储指定属性的字段的名称。支持的 LAS 属性如下:

  • INTENSITY强度
  • RETURN_NUMBER回波编号
  • NUMBER_OF_RETURNS每个脉冲的回波数
  • SCAN_DIRECTION_FLAG扫描方向标记
  • EDGE_OF_FLIGHTLINE摄影航线的边缘
  • CLASSIFICATION分类
  • SCAN_ANGLE_RANK扫描角度等级
  • FILE_MARKER文件标记
  • USER_BIT_FIELD用户数据值
  • GPS_TIMEGPS 时间
  • COLOR_RED红色波段
  • COLOR_GREEN绿色波段
  • COLOR_BLUE蓝色波段
Value Table
input_coordinate_system
(可选)

输入 LAS 文件的坐标系。

Coordinate System
file_suffix
(可选)

将从输入文件夹导入的文件的后缀。 将文件夹指定为输入时,此参数为必填项。

String
z_factor
(可选)

Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。

Double
folder_recursion
(可选)

当所选输入文件夹中的子文件夹含有数据时,扫描子文件夹。为目录结构中包含的每个文件生成一行输出要素类。

  • NO_RECURSION只有在输入文件夹中找到的 LAS 文件将转换为多点要素。这是默认设置。
  • RECURSION位于输入文件夹子目录中的所有 LAS 文件将转换为多点要素。
Boolean

代码示例

LASToMultipoint 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.LASToMultipoint("001.las", "Test.gdb/feature_dataset/sample_1", 1.5, 
                        "2", "ANY_RETURNS", "INTENSITY", "Coordinate Systems"\
                        "/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 "\
                        "UTM Zone 17N.prj", "las", 1)
LASToMultipoint 示例 2(独立脚本)

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

'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of 
             LAS files with irregularly clustered points. It is intended for 
             use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy

# Set local variables
inLas = arcpy.GetParameterAsText(0)  # input LAS file
ptSpacing = arcpy.GetParameterAsText(1)  # LAS point spacing
classCode = arcpy.GetParameterAsText(2)  # List of integers
returnValue = arcpy.GetParameterAsText(3)  # List of strings
outTin = arcpy.GetParameterAsText(4)  # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5)  # Polygon boundary file

try:
    # Execute LASToMultipoint
    lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
    arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code, 
                             "ANY_RETURNS", "", sr, inFormat, zfactor)
    # Execute CreateTin
    arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
                       .format(lasMP), "Delaunay")
    # Execute CopyTin
    arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
    # Execute DelineateTinDataArea
    maxEdge = ptSpacing * 4
    arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
    # Execute TinDomain
    arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
        
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

相关主题