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

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