Статистика точек 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-значений.

Параметры

ПодписьОписаниеТип данных
Входной набор данных LAS

Набор данных LAS, который будет обработан.

LAS Dataset Layer
Входные полигоны

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

Feature Layer
Выходной свойство

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

  • Z_MINМинимальное Z-значение точек LAS, пересекающихся с объектом.
  • Z_MAXМаксимальное Z-значение точек LAS, пересекающихся с объектом.
  • Z_MEANСреднее Z-значение точек LAS, пересекающихся с объектом.
  • POINT_COUNTОбщее число оцененных точек LAS.
  • STANDARD_DEVIATIONСтандартное отклонение Z-значений.
String

Производные выходные данные

ПодписьОписаниеТип данных
Обновленные входные полигоны

Обновленные входные полигональные объекты.

Класс объектов

arcpy.ddd.LasPointStatsByArea(in_las_dataset, in_features, out_property)
ИмяОписаниеТип данных
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

Производные выходные данные

ИмяОписаниеТип данных
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())

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