Статистика точек LAS по области (3D Analyst)

Сводка

Оценивает статистику точек LAS, находящихся в области, заданной полигональными объектами.

Использование

  • Для слоя набора данных LAS может быть установлено ограничение количества отображаемых и обрабатываемых точек LAS, путем выбора любой комбинации кодов классификации, флагов классификации и возвращаемых значений в настройках фильтра слоя. Фильтры можно ввести в диалоговом окне Свойства слоя или с помощью инструмента Создать слой набора данных LAS.

  • Используйте этот инструмент для определения характеристик точек лидара по областям интереса, заданным границами полигонов. Оцениваться будут только высоты, полученные из точек LAS. Любые Z-значения, внесенные объектами поверхностных ограничений, на которые ссылается набор данных LAS, будут игнорироваться.

  • В таблицу атрибутов входных объектов будет добавлено несколько полей. Если поле уже существует, его значения будут перезаписаны. Значения в обновленных полях будут отражать статистику точек LAS, пересекающихся с входным объектом.

    • Z_MIN – минимальное z-значение.
    • Z_MAX – максимальное z-значение.
    • Z_MEAN – среднее z-значение.
    • POINT_COUNT— Общее число оцененных точек LAS.
    • STD_DEV – стандартное отклонение Z-значений.

Синтаксис

arcpy.3d.LasPointStatsByArea(in_las_dataset, in_features, out_property)
ParameterОбъяснениеТип данных
in_las_dataset

Обрабатываемый набор данных LAS.

LAS Dataset Layer
in_features

Полигон, задающий область, для которой будет вычислена статистика.

Feature Layer
out_property
[out_property,...]

Свойства, которые будут вычисляться.

  • Z_MINМинимальное Z-значение точек LAS, пересекающихся с объектом.
  • Z_MAXМаксимальное Z-значение точек LAS, пересекающихся с объектом.
  • Z_MEANСреднее Z-значение точек LAS, пересекающихся с объектом.
  • POINT_COUNTОбщее число оцененных точек LAS.
  • STANDARD_DEVIATIONСтандартное отклонение Z-значений.
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())

Информация о лицензиях

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

Связанные разделы