摘要
评估与面要素定义的区域叠加的 LAS 点的统计信息。
用法
-
将 LAS 数据集指定为输入时,将处理它引用的 LAS 文件中的所有数据点。也可以按分类代码、分类标记和回波值来选择激光雷达数据的子集,方法是在 LAS 数据集图层中应用所需的 LAS 点过滤器。可通过图层属性对话或创建 LAS 数据集图层工具定义过滤器。
考虑使用此工具来确定位于面边界所定义的感兴趣区上的激光雷达点特征。将仅对获取自 LAS 点的高程进行评估。由LAS 数据集引用的表面约束要素提供的任何 Z 值都将被忽略。
此工具将添加多个字段到输入要素的属性表中。如果字段已存在,则会覆盖该字段的值。更新后字段中的值将反映有关与输入要素相重叠的 LAS 点的指定统计信息:
- Z_MIN - 最低 Z 值。
- Z_MAX - 最高 Z 值。
- Z_MEAN - 平均 Z 值。
- POINT_COUNT - 已评估的 LAS 点的计数。
- STD_DEV - Z 值的标准差。
语法
LasPointStatsByArea_3d (in_las_dataset, in_features, out_property)
参数 | 说明 | 数据类型 |
in_las_dataset | 待处理的 LAS 数据集。 | LAS Dataset Layer |
in_features | 用于定义将要为其报告统计数据的区域的面。 | Feature Layer |
out_property | 将要计算的属性。
| String |
代码示例
LasPointStatsByArea 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
env.workspace = 'C:/data'
arcpy.ddd.LasPointStatsByArea('city_lidar.lasd', 'study_area.shp',
['Z_MIN', 'Z_MAX'])
LasPointStatsByArea 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings,
regularize its geometry, and calculate the building height.
****************************************************************************'''
import arcpy
lasd = arcpy.GetParameterAsText(0)
footprint = arcpy.GetParameterAsText(1)
try:
lasd_layer = 'building points'
arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=6)
temp_raster = 'in_memory/bldg_raster'
arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
temp_footprint = 'in_memory/footprint'
arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint,
method='RIGHT_ANGLES')
arcpy.ddd.LasPointStatsByArea(lasd_layer, footprint, ['MIN_Z', 'MAX_Z'])
arcpy.management.AddField(footprint, 'Height', 'Double')
arcpy.management.CalculateField(footprint, 'Height',
"round('!Z_Max! - !Z_Min!', 2)",
'PYTHON_9.3')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
环境
许可信息
- ArcGIS Desktop Basic: 需要 3D Analyst
- ArcGIS Desktop Standard: 需要 3D Analyst
- ArcGIS Desktop Advanced: 需要 3D Analyst