Классифицировать поверхность Земли LAS (3D Analyst)

Сводка

Классифицирует точки поверхности Земли в данных лазерной аэрофотосъемки.

Иллюстрация

Классифицировать поверхность Земли LAS

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

  • Этому инструменту необходимо, чтобы входной набор данных 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

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

  • STANDARDЭтот метод имеет допуск для изменения наклона, что позволяет ему захватывать некрутые холмы в топографии поверхности Земли, которые, как правило, будут пропущены консервативным вариантом выполнения классификации, но он не будет захватывать резкие изменения рельефа, которые будут фиксироваться агрессивным методом выполнения. Это значение по умолчанию.
  • CONSERVATIVEПо сравнению с другими вариантами, этот метод использует более жесткое ограничение на изменение уклона земли, что позволяет отличить поверхность Земли от низинной растительности, такой как трава и кустарник. Он лучше всего подходит для топографии с минимальной кривизной рельефа.
  • AGGRESSIVEЭтот метод обнаруживает области поверхности Земли с более резкими изменениями рельефа, таким как как гребни и вершины холмов, которые могут быть проигнорированы методом STANDARD. Этот метод лучше использовать во втором выполнении инструмента с параметром reuse_ground, настроенным как REUSE_GROUND. Избегайте использования этого метода в городских районах или плоских сельских районах, поскольку это может привести к неправильной классификации в качестве поверхности Земли более высоких объектов, таких как опоры электропередач, растительность и части зданий.
String
reuse_ground
(Дополнительный)

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

  • RECLASSIFY_GROUNDСуществующие точки поверхности Земли будут переклассифицированы. Точкам, которые не были найдены как наземные, будет переназначено значение кода класса 1, то есть неклассифицированные точки. Это значение по умолчанию.
  • REUSE_GROUNDСуществующие наземные точки будут приняты и повторно использованы без дополнительной проверки, они подойдут для определения неклассифированных точек.
Boolean
dem_resolution
(Дополнительный)

Расстояние, с учетом которого в результате будет только к подмножество точек, оцениваемых для классификации в качестве поверхности Земли, тем самым ускоряя процесс. Этот параметр рекомендуется, когда требуется более быстрый метод для создания поверхности ЦМР. Минимальным расстоянием является 0,3 метра, но указанное расстояние должно быть как минимум в 1,5 раза больше среднего расстояния между точками лидарных данных, чтобы оказать влияние на процесс.

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

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

  • COMPUTE_STATSСтатистика будет рассчитана.
  • NO_COMPUTE_STATSСтатистика не будет рассчитана. Используется по умолчанию.
Boolean
extent
(Дополнительный)

Указывает экстент данных, который будет обработан этим инструментом.

  • MAXOF - будет использоваться максимальный экстент всех входных данных.
  • MINOF - будет использоваться минимальная область, общая для всех входных данных.
  • DISPLAY– экстент будет равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent - будет использоваться тот же экстент, что и в указанном объекте.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent
boundary

Полигональный объект, определяющий область интереса, которая будет обрабатываться этим инструментом.

Feature Layer
process_entire_files
(Дополнительный)

Указывает, как применяется экстент обработки.

  • PROCESS_EXTENTБудут обработаны только те точки LAS, что пересекают область интереса. Используется по умолчанию.
  • PROCESS_ENTIRE_FILESЕсли какая-либо часть файла LAS пересекает область интереса, будут обработаны все точки файла LAS, включая те, что находятся вне области интереса.
Boolean

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

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

Набор данных LAS, который был изменен.

Слой набора данных LAS

Пример кода

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

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

arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasGround_3d('metro.lasd', 'CONSERVATIVE', 
                           boundary='study_area.shp', 
                           process_entire_files='PROCESS_ENTIRE_FILES')
ClassifyLasGround, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте 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())

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

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

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