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