Краткая информация
Классифицирует точки крыш зданий в данных лазерной аэросъемки.
Иллюстрация
Использование
Для классификации точек крыш зданий в данных LAS должны быть указаны в точки, которые являются уровнем Земли. Рекомендуется использовать инструмент Классифицировать поверхность Земли LAS, если точки Земли ещё не классифицированы. Точки земли должны иметь значение кода класса 2. Если точки земли должны имеют другой код класса, не 2, с помощью инструмента Изменить коды классов LAS вы можете переназначить коды классов правильным образом.
Точки LAS со значениями кодов классов 0, 1 и 6 будут оцениваться, чтобы определить, подходят ли они под характеристики крыш зданий. Точки, классифицированные как здания, не отвечающие этим критериям, будут переназначены на значение кода класса 1, если не указана возможность повторного использования существующих точек классификации зданий.
Синтаксис
ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data})
Параметр | Объяснение | Тип данных |
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 |
reuse_building (Дополнительный) | Указывает, будут ли существующие классифицированные точки зданий использоваться повторно или переоценены. Указывает, будут ли существующие классифицированные точки зданий использоваться повторно или переоценены.
| Boolean |
photogrammetric_data (Дополнительный) | Указывает, взяты ли точки в файле LAS из фотограмметрического облака точек. Указывает, взяты ли точки в файле LAS из фотограмметрического облака точек.
| Boolean |
Производные выходные данные
Имя | Объяснение | Тип данных |
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())
Параметры среды
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst