Классифицировать шум 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
Экстент обработки
(Дополнительный)

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

  • Текущий экстент отображения Вид карты — Экстент будет основан на активной карте или сцене.
  • Нарисовать экстент Закончить прямым углом - экстент будет основан прямоугольнике, нарисованном на карте или сцене.
  • Экстент слоя Слой — Экстент будет основан на активном слое карты. Выберите доступный слой или воспользуйтесь опцией Экстент данных во всех слоях. У каждого слоя карте есть следующие опции:

    • Все объекты Выбрать все - экстент всех объектов.
    • Выбранные объекты Область из выбранных объектов - экстент выбранных объектов.
    • Отображаемые объекты Extent Indicator - экстент отображаемых объектов.

  • Обзор Обзор - экстент будет основан на наборе данных.
  • Пересечение входных данных Пересечение - экстент будет основан на пересекающемся экстенте всех входных данных.
  • Объединение входных данных Объединение - экстент будет комбинацией экстентов всех входных данных.
  • Буфер обмена Вставить - экстент может быть скопирован в буфер обмена и из него.
    • Копировать экстент Копировать - копирует экстент и систему координат в буфер обмена.
    • Вставить экстент Вставить - вставляет экстент и систему координат из буфера обмена. Если буфер обмена не содержат систему координат, экстент будет использовать систему координат карты.
  • Сбросить экстент Сбросить - экстент будет сброшен до значения по умолчанию.

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

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())

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

  • Basic: Обязательно 3D Analyst
  • Standard: Обязательно 3D Analyst
  • Advanced: Обязательно 3D Analyst

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