Доступно с лицензией 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 |
Пример кода
Фильтр большинства. Пример 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)
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst