Фильтр большинства (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

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

Замещает значения ячеек растра, основываясь на значениях большинства соприкасающихся смежных ячеек.

Более подробно о том, как работает инструмент Фильтр большинства

Иллюстрация

Иллюстрация инструмента Фильтр большинства
OutRas = MajorityFilter(InRas1)

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

  • Инструмент Фильтр большинства должен отвечать двум критериям до выполнения замещения. Количество соседних ячеек с одинаковым значением должно быть достаточно велико (составлять большинство или, по крайней мере, половину всех ячеек), и эти ячейки должны быть смежными по отношению к центру матрицы фильтра. Второе условие, учитывающее пространственную связанность ячеек, минимизирует нарушение пространственной структуры ячеек.

  • Использование четырех соседей позволит сохранить углы прямоугольных областей. Использование восьми соседей позволит сгладить углы прямоугольных областей.

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

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

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

  • После нескольких запусков инструмента Фильтр большинства выходной растр будет стабилизирован (больше меняться не будет).

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

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

Входной растр, к которому будет применен фильтр на основе большинства смежных соседних ячеек.

Должен быть целочисленным.

Raster Layer
Число соседних ячеек
(Дополнительный)

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

  • ЧетыреМатрица фильтра будет состоять из четырех прямых (ортогональных) ячеек, соседних с текущей. Это значение по умолчанию
  • ВосемьЯдром фильтра будут восемь ячеек, ближайших к текущей ячейке (окно 3 на 3 ячейки).
String
Порог замещения
(Дополнительный)

Задает количество смежных (пространственно-связанных) ячеек, которые должны иметь одинаковое значение, чтобы произошло замещение значения.

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

Возвращаемое значение

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

Выходной отфильтрованный растр.

Выходные данные всегда будут целочисленными.

Raster

MajorityFilter(in_raster, {number_neighbors}, {majority_definition})
ИмяОписаниеТип данных
in_raster

Входной растр, к которому будет применен фильтр на основе большинства смежных соседних ячеек.

Должен быть целочисленным.

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

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

  • FOURМатрица фильтра будет состоять из четырех прямых (ортогональных) ячеек, соседних с текущей. Это значение по умолчанию
  • EIGHTЯдром фильтра будут восемь ячеек, ближайших к текущей ячейке (окно 3 на 3 ячейки).
String
majority_definition
(Дополнительный)

Задает количество смежных (пространственно-связанных) ячеек, которые должны иметь одинаковое значение, чтобы произошло замещение значения.

  • MAJORITYБольшинство ячеек должно иметь одно и то же значение, и эти ячейки должны быть смежными. Три из четырех или пять из восьми смежных ячеек должны иметь одно и то же значение.
  • HALFПоловина ячеек должна иметь одно и то же значение, и эти ячейки должны быть смежными. Две из четырех или четыре из восьми смежных ячеек должны иметь одно и то же значение. Эта опция приведет к большему сглаживанию.
String

Возвращаемое значение

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

Выходной отфильтрованный растр.

Выходные данные всегда будут целочисленными.

Raster

Пример кода

Фильтр большинства. Пример 1 (окно Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMajFilt = MajorityFilter("land", "EIGHT", "HALF")
outMajFilt.save("c:/sapyexamples/output/outmajfilt")
MajorityFilter, пример 2 (автономный скрипт)

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

# Name: MajorityFilter_Ex_02.py
# Description: Replaces cells in a raster based on the 
#              majority of their contiguous neighboring cells.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "land"

# Execute MajorityFilter
outMajFilt = MajorityFilter(inRaster, "EIGHT", "HALF")

# Save the output 
outMajFilt.save("c:/sapyexamples/output/majfilter")

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

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

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