Доступно с лицензией Spatial Analyst.
Краткая информация
Заменяет ячейки на растре, основываясь на значении большинства смежных с ними соседних ячеек.
Более подробно о том, как работает инструмент Фильтр большинства
Рисунок
Использование
Инструмент Фильтр большинства (Majority Filter) должен отвечать двум критериям до выполнения перемещения. Количество соседних ячеек с одинаковым значением должно быть достаточно велико (составлять большинство или, по крайней мере, половину всех ячеек), и эти ячейки должны быть смежными по отношению к центру матрицы фильтра. Второе условие, учитывающее пространственную связанность ячеек, минимизирует нарушение пространственной структуры ячеек.
Использование четырех соседних ячеек позволит сохранить углы прямоугольных областей. Использование восьми соседних ячеек позволит сгладить углы прямоугольных областей.
При использовании восьми соседних ячеек смежными ячейками считаются имеющие общее ребро. При использовании четырех соседей смежными ячейками считаются имеющие общий угол.
Если задано значение Допуска перемещения (Replacement threshold), равное HALF, и два значения встречаются как равные половины, замещения значения не произойдет в том случае, если значение обрабатываемой ячейки совпадает с значением одной из половинок. Опция HALF приведет к большей фильтрации, чем опция MAJORITY.
Хотя критерии смежности аналогичны для ячеек растра, соприкасающихся с ячейкой через ребро и через угол, они подчиняются различным правилам для опций MAJORITY and HALF. Если число соседей равно четырем, ребро или угол всегда требует двух совпадающих соседей до осуществления перемещения. При использовании восьми ячеек ячейка, соприкасающаяся через угол, будет замещена только в том случае, если все ее соседние ячейки имеют одно и то же значение, в то время как значение ячейки, соприкасающейся через ребро, будет замещено, если есть три смежные с ней ячейки с одинаковым значением, включая одну ячейку вдоль ребра.
После нескольких запусков инструмента Фильтр большинства (Majority Filter) выходной растр будет стабилизирован (больше меняться не будет).
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
MajorityFilter (in_raster, {number_neighbors}, {majority_definition})
Параметр | Объяснение | Тип данных |
in_raster | Входной растр, к которому будет применен фильтр на основе большинства смежных соседних ячеек. Должен быть целочисленным. | Raster Layer |
number_neighbors (дополнительно) | Определяет количество соседних ячеек, которое будет использовано в матрице фильтра.
| String |
majority_definition (дополнительно) | Задает количество смежных (пространственно-связанных) ячеек, которые должны иметь одинаковое значение, чтобы произошло замещение значения.
| String |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster | Выходной отфильтрованный растр. Выходные данные всегда будут целочисленными. | Raster |
Пример кода
MajorityFilter, пример 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"
# 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")
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Экстент (Extent)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)