标注 | 说明 | 数据类型 |
输入 | 将要导入到多点要素类中的 LAS 或 ZLAS 文件。如果指定了文件夹,则将导入位于该文件夹中的所有 LAS 文件。 在地理处理窗格中,还可以指定文件夹作为输入,具体方法如下:在 File Explorer 中选择文件夹,然后将其拖动到参数的输入框上。 | Folder; File |
输出要素类 | 将生成的要素类。 | Feature Class |
平均点间距 | 一个或多个输入文件中点之间的平均 2D 距离。此距离可以是一个近似值。如果以不同的密度对区域进行采样,应指定较小的间距。所提供的值需要使用输出坐标系的投影单位。 | Double |
类代码 (可选) | 将用作 LAS 数据点的查询过滤器的分类代码。 有效值的范围介于 0 到 255 之间。 默认情况下,不使用过滤器。 | Long |
返回值 (可选) | 将用于过滤已导入到多点要素中的 LAS 点的回波值。
| String |
输入属性名称 (可选) | LAS 点属性,其值将存储在输出的属性表的二进制大对象 (BLOB) 字段中。如果所生成的要素将参与 terrain 数据集,则已存储的属性可用于对 terrain 进行符号化。名称列表示将用于存储指定属性的字段的名称。支持的 LAS 属性如下:
| Value Table |
坐标系 (可选) | 输入 LAS 文件的坐标系。 | Coordinate System |
文件后缀 (可选) | 将从输入文件夹导入的文件的后缀。 将文件夹指定为输入时,此参数为必填项。 | String |
Z 因子 (可选) | Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。 | Double |
包括子文件夹 (可选) | 当所选输入文件夹中的子文件夹含有数据时,扫描子文件夹。为目录结构中包含的每个文件生成一行输出要素类。
| Boolean |
摘要
使用一个或多个激光雷达文件创建多点要素。
插图
使用情况
此工具支持 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 数据库管理员。
参数
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 点的回波值。
| String |
attribute [[keyword, name],...] (可选) | LAS 点属性,其值将存储在输出的属性表的二进制大对象 (BLOB) 字段中。如果所生成的要素将参与 terrain 数据集,则已存储的属性可用于对 terrain 进行符号化。名称列表示将用于存储指定属性的字段的名称。支持的 LAS 属性如下:
| Value Table |
input_coordinate_system (可选) | 输入 LAS 文件的坐标系。 | Coordinate System |
file_suffix (可选) | 将从输入文件夹导入的文件的后缀。 将文件夹指定为输入时,此参数为必填项。 | String |
z_factor (可选) | Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。 | Double |
folder_recursion (可选) | 当所选输入文件夹中的子文件夹含有数据时,扫描子文件夹。为目录结构中包含的每个文件生成一行输出要素类。
| Boolean |
代码示例
下面的示例演示了如何在 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)
下面的示例演示了如何在独立 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)