Краткая информация
Оценивает статистику точек LAS, находящихся в области, заданной полигональными объектами.
Использование
-
Если набор данных LAS указан в качестве входных данных, будут обработаны все точки данных в LAS-файлах, на которые он ссылается. Также можно выбрать поднабор данных лидара по кодам классификации, флагам классификации и значениям отраженного сигнала, применив фильтры точек LAS к слою набора данных LAS. Фильтры можно ввести в диалоговом окне свойств слоя или с помощью инструмента Создать слой набора данных LAS.
Используйте этот инструмент для определения характеристик точек лидара по областям интереса, заданным границами полигонов. Оцениваться будут только высоты, полученные из точек LAS. Любые Z-значения, внесенные объектами поверхностных ограничений, на которые ссылается набор данных LAS, будут игнорироваться.
В таблицу атрибутов входных объектов будет добавлено несколько полей. Если поле уже существует, его значения будут перезаписаны. Значения в обновленных полях будут отражать статистику точек 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 [out_property,...] | Свойства, которые будут вычисляться.
| String |
Производные выходные данные
Name | Объяснение | Тип данных |
output_polygons | Класс пространственных объектов |
Пример кода
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