Метрики высот LAS (3D Analyst)

Сводка

Вычисляет статистику распределения измерений высот точек растительности, захваченных в данные LAS.

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

  • Инструмент генерирует статистические производные точек, расположенных над поверхностью земли, для лучшего понимания лесного полога. Анализируются точки LAS, со значением кода класса 0 или 1, соответствующие не классифицированным точкам, а также 3, 4 и 5, соответствующие точкам растительности.

  • Обрабатываемые данные LAS должны содержать наземные точки, классифицированные до начала работы инструмента. Для решения этой проблемы может использоваться инструмент Классифицировать поверхность LAS.

  • Инструмент создает один растр для каждой опции статистики и заданного процента высоты. Имя каждого растра будет начинаться с заданного базового имени и метки высоты или пространственной статистики. Для растра со средними значениями, к имени файла добавляется слово "mean". Для среднеквадратического отклонения, к имени файла добавляется "stdev". Для абсолютного медианного отклонения, к имени файла добавляется "mad".

  • Используйте параметр Минимальная высота для исключения очень низких точек, особенно, если наземные точки не были точно классифицированы, т.к. это может исказить результаты работы инструмента.

  • Используйте параметр Минимальное число точек для исключения областей, содержащих слишком малое количество надземных точек, для получения значимых результатов.

Синтаксис

arcpy.3d.LasHeightMetrics(in_las_dataset, out_location, {base_name}, {statistics}, {height_percentiles}, min_height, min_points, cell_size, {raster_format})
ParameterОбъяснениеТип данных
in_las_dataset

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

LAS Dataset Layer
out_location

Папка или база геоданных, где будет находиться выходной набор растровых данных. Если выходным местоположением является папка, наборы растровых данных будут в формате TIFF.

Workspace
base_name
(Дополнительный)

Базовое имя для выходных наборов растровых данных.

String
statistics
[statistics,...]
(Дополнительный)

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

  • MEANСредняя высота точек LAS.
  • KURTOSISСкорость изменения высоты точек LAS.
  • SKEWNESSНаправление отклонения от номинальной высоты точек LAS, которое показывает уровень и направление ассиметрии.
  • STANDARD_DEVIATIONВариабельность высоты точек.
  • MEDIAN_ABSOLUTE_DEVIATIONМедианное значение отклонения отмедианной высоты.
String
height_percentiles
[height_percentiles,...]
(Дополнительный)

Высота, на которой заданный процент точек в ячейке снижается. Например, 95 показывает, что значения получившихся ячеек обозначают высоту, на которой 95 процентов точек находятся над землей.

Long
min_height

Минимальная высота над землей для оцениваемых точек.

Linear Unit
min_points

Минимальное число точек, которое должно присутствовать в данной ячейке для вычисления метрик высот. Ячейки с меньшим числом точек, чем заданный минимум, в выходных данных не будут содержать значений.

Long
cell_size

Размер ячейки выходного набора растровых данных.

Linear Unit
raster_format
(Дополнительный)

Задает формат растра, который будет создан, если выходным местоположением является папка.

  • TIFFВыходные данные будут созданы в формате GeoTIFF. Используется по умолчанию.
  • IMGВыходные данные будут созданы в формате ERDAS IMAGINE.
  • ESRI_GRIDВыходные данные будут созданы в формате Esri Grid.
String

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

NameОбъяснениеТип данных
derived_out_location

Местоположение выходных наборов растровых данных.

Рабочая область
output_rasters

Выходные наборы растровых данных.

Набор растровых данных

Пример кода

LasHeightMetrics, пример 1 (окно Python)

В следующем примере показано использование этого инструмента в окне Python.

arcpy.env.workspace = 'C:/data'

arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet', 
                             minArea='30 Square Feet', compute_stats=True)
LasHeightMetrics, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте Python.

'''****************************************************************************
       Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset


try:
    # Create temp LAS dataset to reference LAS files that will be tiled
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las, temp_lasd)
    arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4, 
                      point_format=7, file_size=300)
    arcpy.management.Delete(temp_lasd)
    arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
    arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
    arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
                                  noise='All Noise', compute_stats='COMPUTE_STATS')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

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

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

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