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

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

  • Basic: Обязательно 3D Analyst
  • Standard: Обязательно 3D Analyst
  • Advanced: Обязательно 3D Analyst

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