Сводка
Классифицирует точки поверхности Земли в данных лазерной аэрофотосъемки.
Иллюстрация
Использование
Этому инструменту необходимо, чтобы входной набор данных LAS был в системе координат проекции. Данные в географической системе координат могут быть перепроецированы с помощью инструмента Извлечь LAS, для этого в параметрах среды выходной системы координат необходимо указать систему координат проекции.
Только точки LAS со значениями кодов классов 0, 1 или 2 можно назначить как наземные. Если в ваших файлах LAS используются другие значения кодов для представления неклассифицированных или наземных измерений, воспользуйтесь инструментом Изменить коды классов LAS, чтобы соответствующим образом их переназначить. Процесс классификации также будет игнорировать точки, которым назначены флаги классификации перекрытий или шума.
Можно использовать параметр Разрешение ЦМР, чтобы получить быстрые результаты, если наземные классифицированные точки будут использоваться для создания растровой поверхности земли с заданным разрешением. Улучшение производительности достигается за счет сокращения количества точек, назначенных коду наземного класса при сохранении покрытия, достаточного для указанного разрешения.
Когда классификация LAS возвращает поверхность с неоднородными профилями уклона, такие как сравнительно плоские участки вдоль локаций с крутыми профилями уклона, рекомендуется сначала запустить классификатор поверхности со стандартным методом, затем с агрессивным методом обнаружения и включенной опцией повторного использования поверхности. Примените экстент обработки или задайте границы полигона для ограничения этой операции только необходимой областью.
Места с мостами и наклонными въездами на шоссе должны быть пересмотрены, поскольку они могут быть неправильно классифицированы как поверхность Земли.
Синтаксис
arcpy.3d.ClassifyLasGround(in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
Parameter | Объяснение | Тип данных |
in_las_dataset | Обрабатываемый набор данных LAS. Будут оценены только последние отраженные сигналы точек LAS со значениями кода класса 0, 1 и 2. | LAS Dataset Layer |
method | Определяет метод, используемый для выявления наземных точек.
| String |
reuse_ground (Дополнительный) | Определяет, должны ли заново классифицироваться точки поверхности Земли, или они будут использоваться повторно.
| Boolean |
dem_resolution (Дополнительный) | Расстояние, с учетом которого в результате будет только к подмножество точек, оцениваемых для классификации в качестве поверхности Земли, тем самым ускоряя процесс. Этот параметр рекомендуется, когда требуется более быстрый метод для создания поверхности ЦМР. Минимальным расстоянием является 0,3 метра, но указанное расстояние должно быть как минимум в 1,5 раза больше среднего расстояния между точками лидарных данных, чтобы оказать влияние на процесс. | Linear Unit |
compute_stats (Дополнительный) | Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Вычисление статистики определяет пространственный индекс для каждого файла LAS, что улучшает производительность анализа и отображения. Статистика также улучшает фильтрацию и символы, ограничивая отображение таких атрибутов LAS, как коды классификации и возвращаемая информация, значениями, которые присутствуют в файле LAS.
| Boolean |
extent (Дополнительный) | Указывает экстент данных, который будет обработан этим инструментом.
| Extent |
boundary | Полигональный объект, определяющий область интереса, которая будет обрабатываться этим инструментом. | Feature Layer |
process_entire_files (Дополнительный) | Указывает, как применяется экстент обработки.
| Boolean |
Производные выходные данные
Name | Объяснение | Тип данных |
out_las_dataset | Набор данных LAS, который был изменен. | Слой набора данных LAS |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasGround_3d('metro.lasd', 'CONSERVATIVE',
boundary='study_area.shp',
process_entire_files='PROCESS_ENTIRE_FILES')
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: Classify Ground & Vegetation in Forest Environment
Description: Classify points representing vegetation with LAS class code values
of 3, 4, and 5. The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
try:
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
# Make an initial pass of ground classifier
arcpy.ddd.ClassifyLasGround(lasd, method="Conservative")
# Make a secondary pass to capture ridges
arcpy.ddd.ClassifyLasGround(lasd, method="Aggressive",
reuse_ground="REUSE_GROUND")
# Classify vegetation
arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND',
height_classification=[[3, 5],
[4, 17],
[5, 120]],
noise='HIGH_NOISE', compute_stats="COMPUTE_STATS")
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst