Определить местоположение выбросов (3D Analyst)

Сводка

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

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

  • Для обнаружения выбросов можно использовать как опцию Применить жесткое ограничение, так и опцию Применить фильтр сравнения. Если используются обе опции, сначала применяется жесткое ограничение.

  • Опция Применить жесткое ограничение будет относить в выбросам любую точку, значение высоты которой ниже Абсолютного минимума z и выше Абсолютного максимума z. Используйте эту опцию, когда диапазон корректных значений высот региона известен.

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

  • Если уклон любой заданной точки, имеющей X узлов, соединенных ребрами треугольников, до связанной точки превышает Допуск уклона в m точках (где m равно n, умноженному на Превышение допустимого отношения), такая точка считается выбросом значений.
  • Фильтр сравнения наилучшим образом подходит для точек земной поверхности. Его нельзя применять для данных растительности или строений, т.к. сравнение отнесет множество из этих объектов к выбросам. При использовании этого метода выявления выбросов для наборов данных LAS примените фильтрацию для выбора точек, классифицированных как земля. В качестве альтернативы рассмотрите использование инструмента Классифицировать шум LAS, чтобы определить точки шума в наборе данных LAS.

  • К выходным точкам добавляется атрибут в виде целочисленного поля REASON, значения которого определяют критерий идентификации выброса, полученный при обработке измерения точки.

    • 0 – жесткое ограничение
    • 1 – жесткое ограничение и фильтр сравнения
    • 2 – фильтр сравнения
  • Чтобы исключить точки выбросов из набора данных Terrain, используйте инструмент Удалить точки Terrain для точек выбросов, заданных параметром Область интереса.

Синтаксис

LocateOutliers(in_surface, out_feature_class, {apply_hard_limit}, {absolute_z_min}, {absolute_z_max}, {apply_comparison_filter}, {z_tolerance}, {slope_tolerance}, {exceed_tolerance_ratio}, {outlier_cap})
ParameterОбъяснениеТип данных
in_surface

Terrain, TIN или набор данных LAS, которые будут проанализированы.

LAS Dataset Layer; Terrain Layer; TIN Layer
out_feature_class

Класс объектов, который будет получен в результате работы инструмента.

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

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

  • APPLY_HARD_LIMITИспользовать абсолютные минимум и максимум z для поиска выбросов.
  • NO_APPLY_HARD_LIMITНе использовать абсолютный минимум и максимум z для поиска выбросов. Используется по умолчанию.
Boolean
absolute_z_min
(Дополнительный)

Если используется жесткое ограничение, любая точка с высотой ниже этого значения, рассматривается как выброс. Значение по умолчанию равно 0.

Double
absolute_z_max
(Дополнительный)

Если используется жесткое ограничение, любая точка с высотой выше этого значения рассматривается как выброс. Значение по умолчанию равно 0.

Double
apply_comparison_filter
(Дополнительный)

Фильтр сравнения состоит из трех параметров для определения выбросов: z_tolerance, slope_tolerance и exceed_tolerance_ratio.

  • APPLY_COMPARISON_FILTERИспользовать три параметра сравнения (z_tolerance, slope_tolerance и exceed_tolerance_ratio) при оценке точек. Используется по умолчанию.
  • NO_APPLY_COMPARISON_FILTERНе использовать три параметра сравнения (z_tolerance, slope_tolerance и exceed_tolerance_ratio) при оценке точек.
Boolean
z_tolerance
(Дополнительный)

Сравнивает z значения соседних точек, если включен фильтр. Значение по умолчанию равно 0.

Double
slope_tolerance
(Дополнительный)

Пороговое значение колебания уклона между идущими друг за другом точками, которое будет использоваться для определения точек выбросов. Уклон выражается в процентах, значением по умолчанию является 150.

Double
exceed_tolerance_ratio
(Дополнительный)

Задает критерии определения каждой точки выброса как функцию соотношения точек в естественной окрестности, значения которых должны превышать заданные фильтры сравнения. Например, число 0.5, используемое по умолчанию, означает, что по крайней мере половина точек, окружающих запрашиваемую точку, должна иметь значения, превышающие фильтры сравнения, только тогда запрашиваемая точка будет отнесена к выбросам. Число 0.7 означает, что 70 процентов точек должно превышать допуски.

Double
outlier_cap
(Дополнительный)

Максимальное количество точек выбросов, которые могут быть записаны в выходные данные. При достижении этого значения поиск других выбросов прекращается. Значение по умолчанию равно 2,500.

Long

Пример кода

LocateOutliers Пример 1 (окно Python)

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

arcpy.env.workspace = "C:/data"
arcpy.LocateOutliers_3d("tin", "outliers.shp", "NO_APPLY_HARD_LIMIT", 0, 0, 
                        "APPLY_COMPARISON_FILTER", 0, 150, 0.5, 2500)
LocateOutliers, пример 2 (автономный скрипт)

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

'''**********************************************************************
Name: Delete Terrain Outliers
Description: Uses Locate Outliers to identify outlier points in 
             a terrain dataset, and eliminates the outliers from the 
             terrain with Delete Terrain Points.
**********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
arcpy.env.workspace = 'C:/data'
terrain = 'test.gdb/featuredataset/sample_terrain'
terrainPt = 'elevation_pts'  # name of terrain point data source
outliers = 'in_memory/outliers'

# Execute LocateOutliers
arcpy.ddd.LocateOutliers(terrain, outliers, 'APPLY_HARD_LIMIT', -10, 
                         350, 'APPLY_COMPARISON_FILTER', 1.2, 120, 
                         0.8, 8000)
# Execute Delete Terrain Points
arcpy.ddd.DeleteTerrainPoints(terrain, terrainPt, outliers)

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

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

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