Классифицировать шум LAS (3D Analyst)

Краткая информация

Классифицирует точки LAS с аномальными пространственными характеристиками как шум.

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

  • Точки шума в отраженных сигналах LAS обычно оказывают негативное влияние на визуализацию и анализ данных. Например, отраженные сигналы от высоко летящих птиц и рассеянных импульсов, которые столкнулись с облачным покровом, дымкой смога, водными объектами и отражающими зеркалами, может исказить z-диапазон точек, окружающих это местоположение. Определение таких точек, как шум, позволит отфильтровать их из отображения и исключить из любых производных данных, таких как поверхность рельефа, профиль уклона или экспозиции.

  • Метод Изоляция обработает данные LAS и переведет в разделенные на листы бины 3 на 3 на основе области, указанной в параметрах Ширина окрестности и Высота окрестности. Если число точек LAS в анализируемом массиве меньше, чем значение параметра Предел количества точек окрестности, то точки LAS будут признаны как шум. Ограничение количества точек должно отражать достаточно точную аппроксимацию на основании плотности точек лидара и количества точек LAS, которое ожидается в анализируемом объеме.

  • Если в некоторых отраженных сигналах LAS имеются аномально высокие или низкие z-значения для области, захваченной лидарной съемкой, рассмотрите возможность использования метода Абсолютная высота для определения предела z-значений данных, чтобы быстро идентифицировать точки выбросов как шум.

  • Если точки LAS имеют аномально высокие или низкие z-значения для определенных регионов, но эти значения попадают в диапазон допустимых измерений, захваченных в лидарной съемке, рассмотрите возможность использования метода Относительная высота для определения предельного z-значения допустимых данных на основе смещения от поверхности Земли. Для построения поверхности Земли отфильтруйте набор данных LAS по классифицированным точкам поверхности Земли и примените инструмент Набор данных LAS в растр.

  • Будут переклассифицированы только точки LAS со значениями кода класса 0 или 1. Если неклассифицированные точки представлены каким-то другим значением, примените инструмент Изменить коды классов LAS, чтобы назначить неклассифицированным точкам значение 1. Когда точки шума классифицируются и применяется метод Изоляция или Абсолютная высота, всем точкам шума будет назначено значение кода класса 7. Если применен метод Относительная высота, точки шума ниже порогового значения Минимальной высоты получат значение 7, представляющее низкий шум, а точки шума выше порогового значения Максимальной высоты получат значение 18, представляющее высокий шум.

  • Если вы не знаете, какие параметры использовать для определения точек шума, вы можете экспортировать точки LAS, определенные как шум, в точечный объект при отключенной опции изменения кодов классификации LAS. Если выходные точки соответствуют ожидаемым результатам, вы можете выполнить переклассификацию точек LAS, используя эти объекты с помощью инструмента Расположить точки LAS по близости.

  • Метод Изоляция выполняется с высокой производительностью, и работает ещё быстрее, если заданы большие размеры бинов. Укажите максимальный допустимый размер бинов в зависимости от природы и распределения данных для наилучшей производительности.

Параметры

ПодписьОписаниеТип данных
Входной набор данных LAS

Набор данных LAS, который будет обработан.

LAS Dataset Layer
Метод
(Дополнительный)

Метод выявления шума, который будет использоваться.

  • ИзоляцияПространственная близость точек LAS будет проанализирована в объеме каждого листа для выявления шума в измерениях наряду с обнаружением шума по высоте. Это значение по умолчанию
  • Относительная высота от поверхности ЗемлиВсе точки ниже указанной минимальной высоты и выше максимальной высоты, измеряемых от поверхности Земли, будут идентифицированы как шум.
  • Абсолютная высотаВсе точки ниже указанной минимальной высоты и выше максимальной высоты по отношению к среднему уровню моря будут определены как шум.
String
Редактировать классификацию
(Дополнительный)

Указывает, будут ли переклассифицироваться точки LAS, идентифицированные как шум.

  • Отмечено – точки шума будут переклассифицироваться. Это значение по умолчанию
  • Не отмечено – точки шума не будут переклассифицироваться.
Boolean
Назначить флаг Исключенная
(Дополнительный)

Указывает будет ли назначаться точкам шума флаг классификации Исключенная. Этот параметр активен, если отмечен параметр Редактировать классификацию.

  • Отмечено — точкам шума будет назначаться флаг классификации Исключенная.
  • Не отмечено — точкам шума не будет назначаться флаг классификации Исключенная. Это значение по умолчанию
Boolean
Вычислить статистику
(Дополнительный)

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

  • Отмечено – статистика будет рассчитана. Это значение по умолчанию
  • Не отмечено – статистика не будет рассчитана.
Boolean
Растровая поверхность земли
(Дополнительный)

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

Raster Layer
Минимальная высота
(Дополнительный)

Высота, определяющая наименьший предел z-значения для определения точек шума. Любая точка, которая ниже указанного значения, будет классифицироваться как шум. Если задана поверхность земли, то этот предел будет основан на смещении от поверхности земли таким образом, что значение -3 фута означает, что любые точки, которые находятся на 3 фута ниже поверхности земли, будут классифицироваться как шум.

Linear Unit
Максимальная высота
(Дополнительный)

Высота, определяющая самое высокое пороговое z-значение для определения точек шума. Любая точка, превышающая указанное значение, будет классифицироваться как шум. Если поверхность земли задана, этот предел будет основан на смещении от поверхности земли таким образом, что значение 250 метров означает, что любые точки, которые выше 250 метров над поверхностью земли, будут классифицироваться как шум.

Linear Unit
Ограничение точек окрестности
(Дополнительный)

Максимальное количество точек внутри анализируемого объема данных, которые можно квалифицировать как шум при использовании метода Изоляция. Если анализируемый объем содержит любое количество точек LAS, которое меньше или равно данному значению, эти точки будут классифицированы как шум.

Long
Ширина окрестности
(Дополнительный)

Размер каждого измерения в пространстве x,y анализируемого объема данных при использовании метода Изоляция.

Linear Unit
Высота окрестности
(Дополнительный)

Высота анализируемого объема при использовании метода Изоляция.

Linear Unit
Экстент обработки
(Дополнительный)

Экстент данных, который будет оцениваться.

  • Текущий экстент отображения Current Display Extent — Экстент будет основан на активной карте или сцене. Эта опция доступна только при наличии активной карты.
  • Нарисовать экстент Draw Extent - экстент будет основан прямоугольнике, нарисованном на карте или сцене. Эта опция создает класс пространственных объектов в базе геоданных проекта и добавляет слой на карту. Класс объектов будет иметь ту же систему координат, что и карта.
    Примечание:

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

    Примечание:

    Если включена опция Включать и отключать редактирование на вкладке Редактирование, вы должны включить редактирование на вкладке ленты Редактирование, чтобы нарисовать экстент.

  • Экстент слоя Layer — Экстент будет основан на активном слое карты. Используйте раскрывающийся список, чтобы выбрать доступный слой, или используйте опцию Экстент данных во всех слоях, чтобы получить объединенный экстент всех активных слоев карты, за исключением базовой карты. Эта опция доступна только при наличии активной карты со слоями.

    У каждого слоя карте есть следующие опции:

    • Все объекты Select All - экстент всех объектов слоя.
    • Выбранные объектыArea from Selected Features - экстент всех выбранных объектов слоя.
    • Отображаемые объекты Extent Indicator - экстент всех отображаемых объектов слоя.
      Примечание:

      Экстенты опций Выбранные объекты Area from Selected Features и Отображаемые объекты Extent Indicator доступны только для векторных слоев.

  • Обзор Browse — Экстент будет основан на существующем наборе данных.
  • Пересечение входных данных Intersect — Экстент будет основан на минимальном или пересекающемся экстенте всех входных данных. Если никакие входные данные не перекрываются, получится пустой экстент со всеми нулями.
  • Объединение входных данных Union — Экстент будет основан на максимальном или объединенном экстенте всех входных данных.
  • Буфер обмена Paste - экстент может быть скопирован в буфер обмена и из него.
    • Копировать экстент Copy - копирует координаты экстента и систему координат в буфер обмена.
    • Вставить экстент Paste - вставляет координаты экстента и, дополнительно, систему координат из буфера обмена. Если значения буфера обмена не содержат систему координат, экстент будет использовать систему координат карты.
    Примечание:

    Координаты экстента копируются в буфер обмена и вставляются из него с использованием того же форматирования и порядка, что и для объекта ArcPy Extent: x-min, y-min, x-max, y-max и пространственная привязка.

  • Сбросить экстент Reset — Экстент будет сброшен до значения по умолчанию.
  • Координаты, введенные вручную – Координаты должны быть числовыми значениями и находиться в системе координат активной карты.
    Внимание:

    На карте могут использоваться единицы отображения, отличные от введенных координат. Использование направления по сторонам света (N, S, E, W) не поддерживается. Используйте знак отрицательного значения для координат юга и запада.

Extent
Обрабатывать все файлы LAS, пересекающие экстент
(Дополнительный)

Указывает, как область интереса будет использоваться для определения того, как будут обработаны файлы .las. Область интереса определяется значениями параметра Экстентом обработки, Граница обработки или сочетанием того и другого.

  • Не отмечено – будут обработаны только те точки LAS, что пересекают область интереса. Это значение по умолчанию
  • Отмечено – если какая-либо часть файла .las пересекает область интереса, будут обработаны все точки файла, включая те, что находятся вне области интереса.
Boolean
Выходные точки шума
(Дополнительный)

Выходные точечные объекты, представляющие точки LAS, идентифицированные как шум.

Feature Class
Обновить пирамидные слои
(Дополнительный)

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

  • Отмечено - пирамидные слои для набора данных LAS будут обновлены. Это значение по умолчанию
  • Не отмечено - пирамидные слои для набора данных LAS не будут обновлены.
Boolean

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

ПодписьОписаниеТип данных
Выходной набор данных LAS

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

LAS Dataset Layer

arcpy.ddd.ClassifyLasNoise(in_las_dataset, {method}, {edit_las}, {withheld}, {compute_stats}, {ground}, {low_z}, {high_z}, {max_neighbors}, {step_width}, {step_height}, {extent}, {process_entire_files}, {out_feature_class}, {update_pyramid})
ИмяОписаниеТип данных
in_las_dataset

Набор данных LAS, который будет обработан.

LAS Dataset Layer
method
(Дополнительный)

Метод выявления шума, который будет использоваться.

  • ISOLATIONПространственная близость точек LAS будет проанализирована в объеме каждого листа для выявления шума в измерениях наряду с обнаружением шума по высоте. Это значение по умолчанию
  • RELATIVE_HEIGHTВсе точки ниже указанной минимальной высоты и выше максимальной высоты, измеряемых от поверхности Земли, будут идентифицированы как шум.
  • ABSOLUTE_HEIGHTВсе точки ниже указанной минимальной высоты и выше максимальной высоты по отношению к среднему уровню моря будут определены как шум.
String
edit_las
(Дополнительный)

Указывает, будут ли переклассифицироваться точки LAS, идентифицированные как шум.

  • CLASSIFYТочки шума будут переклассифицироваться. Это значение по умолчанию
  • NO_CLASSIFYТочки шума не будут переклассифицироваться.
Boolean
withheld
(Дополнительный)

Указывает будет ли назначаться точкам шума флаг классификации Исключенная. Этот параметр активен, когда параметр edit_las имеет значение CLASSIFY.

  • WITHHELDТочкам шума будет назначен флаг классификации Исключенная.
  • NO_WITHHELDТочкам шума не будет назначен флаг классификации Исключенная. Это значение по умолчанию
Boolean
compute_stats
(Дополнительный)

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

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

Растровая поверхность земли, которая будет использоваться для вычисления значений относительной высоты для каждой точки. Этот параметр необходим, если для параметра method задано RELATIVE_HEIGHT.

Raster Layer
low_z
(Дополнительный)

Высота, определяющая наименьший предел z-значения для определения точек шума. Любая точка, которая ниже указанного значения, будет классифицироваться как шум. Если задана поверхность земли, то этот предел будет основан на смещении от поверхности земли таким образом, что значение -3 фута означает, что любые точки, которые находятся на 3 фута ниже поверхности земли, будут классифицироваться как шум.

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

Высота, определяющая самое высокое пороговое z-значение для определения точек шума. Любая точка, превышающая указанное значение, будет классифицироваться как шум. Если поверхность земли задана, этот предел будет основан на смещении от поверхности земли таким образом, что значение 250 метров означает, что любые точки, которые выше 250 метров над поверхностью земли, будут классифицироваться как шум.

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

Максимальное количество точек внутри анализируемого объема данных, которые можно квалифицировать как шум при использовании метода Изоляция. Если анализируемый объем содержит любое количество точек LAS, которое меньше или равно данному значению, эти точки будут классифицированы как шум.

Long
step_width
(Дополнительный)

Размер каждого измерения в пространстве x,y анализируемого объема данных при использовании метода Изоляция.

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

Высота анализируемого объема при использовании метода Изоляция.

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

Экстент данных, который будет оцениваться.

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

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

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

Выходные точечные объекты, представляющие точки LAS, идентифицированные как шум.

Feature Class
update_pyramid
(Дополнительный)

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

  • UPDATE_PYRAMIDПирамидные слои для набора данных LAS будут обновлены. Это значение по умолчанию
  • NO_UPDATE_PYRAMIDПирамидные слои для набора данных LAS не будут обновлены.
Boolean

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

ИмяОписаниеТип данных
out_las_dataset

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

LAS Dataset Layer

Пример кода

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

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

arcpy.env.workspace = 'C:/data'

arcpy.ddd.ClassifyLasNoise('Denver_2.lasd', "ABSOLUTE_HEIGHT", 
                           edit_las='CLASSIFY', withheld='WITHHELD', 
                           high_z='450 Feet')
ClassifyLasNoise, пример 2 (автономный скрипт)

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

'''****************************************************************************
       Name: Classify Lidar & Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings, 
             regularize its geometry, and calculate the building height.

****************************************************************************'''
import arcpy

lasd = arcpy.GetParameterAsText(0)
dem = arcpy.GetParameterAsText(1)
footprint = arcpy.GetParameterAsText(2)

try:
    desc = arcpy.Describe(lasd)
    if desc.spatialReference.linearUnitName in ['Foot_US', 'Foot']:
        unit = 'Feet'
    else:
        unit = 'Meters'
    ptSpacing = desc.pointSpacing * 2.25
    sampling = '{0} {1}'.format(ptSpacing, unit)
    # Classify overlap points
    arcpy.ddd.ClassifyLASOverlap(lasd, sampling)
    # Classify ground points
    arcpy.ddd.ClassifyLasGround(lasd)
    # Filter for ground points
    arcpy.management.MakeLasDatasetLayer(lasd, 'ground', class_code=[2])
    # Generate DEM
    arcpy.conversion.LasDatasetToRaster('ground', dem, 'ELEVATION', 
                                        'BINNING NEAREST NATURAL_NEIGHBOR', 
                                        sampling_type='CELLSIZE', 
                                        sampling_value=desc.pointSpacing)
    # Classify noise points
    arcpy.ddd.ClassifyLasNoise(lasd, method='ISOLATION', edit_las='CLASSIFY', 
                               withheld='WITHHELD', ground=dem, 
                               low_z='-2 feet', high_z='300 feet', 
                               max_neighbors=ptSpacing, step_width=ptSpacing, 
                               step_height='10 feet')
    # Classify buildings
    arcpy.ddd.ClassifyLasBuilding(lasd, '7.5 feet', '80 Square Feet')
    #Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, 'GROUND', [8, 20, 55], 
                                  compute_stats='COMPUTE_STATS')
    # Filter LAS dataset for building points
    lasd_layer = 'building points'
    arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=[6])
    # Export raster from lidar using only building points
    temp_raster = 'in_memory/bldg_raster'
    arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
                                           'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
    # Convert building raster to polygon
    temp_footprint = 'in_memory/footprint'
    arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
    # Regularize building footprints
    arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint, 
                                          method='RIGHT_ANGLES')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

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