Краткая информация
Классифицирует точки крыш зданий в данных лазерной аэросъемки.
Иллюстрация
Использование
Для классификации точек крыш зданий в данных LAS должны быть указаны в точки, которые являются уровнем Земли. Рекомендуется использовать инструмент Классифицировать поверхность Земли LAS, если точки Земли ещё не классифицированы. Эти точки Земли должны иметь код класса 2, поэтому если точкам Земли присвоено другое значение класса, с помощью инструмента Изменить коды классов LAS вы можете переназначить коды классов правильным образом.
Точки LAS со значениями кодов классов 0 и 1 будут оцениваться, чтобы определить занимают ли они указанную минимальную площадь или высоту, чтобы быть отнесенными в точки крыш зданий. Существующие прошедшие классификацию точки зданий со значением кода класса 6 будут также браться в расчет, чтобы выявить, располагаются ли смежные точки на плоскости, составляющей одну структуру. Этот процесс использует алгоритм RANSAC, который начинается со случайно выбранной начальной точки, что может привести к незначительным изменениям результатов классификации между выполнениями процесса.
Если небольшие скопления точек, которые не принадлежат зданиям, классифицируются ошибочно, рассмотрите возможность увеличения параметра Минимальная площадь, чтобы исключить включение таких точек. И наоборот, если кажется, что инструмент пропустил здания, рассмотрите возможность использования меньшей площади для захвата отсутствующих областей. Для дальнейшего ограничения обрабатываемой области может быть предоставлен экстент обработки или полигон с границами, что может быть полезно при тестировании результатов пробных значений.
Этот инструмент подходит для обработки данных лазерной аэрофотосъемки. Файлы LAS, созданные из таких источников, как фотограмметрические облака точек, могут давать менее надежные результаты из-за более высокой вероятности шумовых точек.
Этот инструмент лучше всего работает, когда точки LAS имеют одинаковую плотность точек. Как правило, данные аэрофотосъемки будут иметь некоторое перекрытие в покрытии, что приведет к созданию областей с более плотными кластерами точек. Включение таких точек приведет к искажению номинального интервала между точками и приведет к ошибкам излишней информации в областях перекрытия и ошибкам пропуска в неперекрывающейся области. Для достижения наилучших результатов используйте инструмент Классифицировать перекрытие LAS, чтобы классифицировать точки перекрытия, и измените значение параметра Средний интервал между точками, чтобы предоставить предполагаемый интервал между номинальными точками в областях, где данные накладываются друг на друга.
Синтаксис
ClassifyLasBuilding_3d (in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing)
Параметр | Объяснение | Тип данных |
in_las_dataset | Классифицируемый набор данных LAS. | LAS Dataset Layer |
min_height (Дополнительный) | Высота от поверхности земли, которая задает нижнюю точку, от которой будут определены точки крыш зданий. | Linear Unit |
min_area | Наименьшая площадь точек на одной плоскости, которые будут использоваться для установления, что они являются крышей здания. | Areal Unit |
compute_stats (Дополнительный) | Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Наличие статистики позволяет использовать опции фильтрации и символов для слоя набора данных LAS, чтобы показывать только атрибутивные значения LAS, существующие в файлах LAS.
| Boolean |
extent (Дополнительный) | Указывает экстент данных, который будет обработан этим инструментом. | Extent |
boundary | Полигональный объект, определяющий область интереса, которая будет обрабатываться этим инструментом. | Feature Layer |
process_entire_files (Дополнительный) | Указывает, как применяется экстент обработки.
| Boolean |
point_spacing | Средний интервал между точками LAS, который будет использоваться для определения наличия крыш зданий. По умолчанию это значение равно среднему значению интервала, вычисленному для этого набора данных LAS. | Linear Unit |
Производные выходные данные
Name | Объяснение | Тип данных |
derived_las_dataset | Набор данных LAS, который классифицируется на нахождение крыш зданий. | Слой набора данных LAS |
Пример кода
ClassifyLasBuilding, пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet',
minArea='30 Square Feet', compute_stats=True)
ClassifyLasBuilding, пример 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())
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst