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

Уровень лицензии:BasicStandardAdvanced

Резюме

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

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

Рисунок

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

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

Синтаксис

MajorityFilter (in_raster, {number_neighbors}, {majority_definition})
ПараметрОбъяснениеТип данных
in_raster

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

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

Raster Layer
number_neighbors
(дополнительно)

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

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

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

  • MAJORITY Большинство ячеек должно иметь одно и то же значение, и эти ячейки должны быть смежными. Три из четырех или пять из восьми смежных ячеек должны иметь одно и то же значение.
  • HALF Половина ячеек должна иметь одно и то же значение, и эти ячейки должны быть смежными. Две из четырех или четыре из восьми смежных ячеек должны иметь одно и то же значение. Использование опции 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")
Фильтр большинства. Пример 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"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

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

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

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Spatial Analyst
ArcGIS for Desktop Standard: Требует Spatial Analyst
ArcGIS for Desktop Advanced: Требует Spatial Analyst
9/11/2013