Доступно с лицензией Spatial Analyst.
Сводка
Сглаживает границу между зонами растра.
Более подробно о том, как работает инструмент Удаление границ
Иллюстрация
Использование
Инструмент Удаление границ генерализует или упрощает растры, сглаживая границы между зонами. Инструмент предоставляет опции для управления тем, как ячейки зон во входных данных влияют на сглаживание и степень сглаживания, которое будет применяться.
Инструмент применяет методы математической морфологии расширения (дилатации) и сокращения (эрозии) при сглаживании границ (Серра, 1982). Каждая входная ячейка оценивается с использованием ее ближайших ортогональных и диагональных соседей.
Процесс сглаживания сначала сортирует соседние ячейки по определенному приоритету. Приоритет определяет, какая зона из соседних ячеек может заменить значение обрабатываемой ячейки в выходных данных.
Приоритет может быть основан либо на значении зон, либо на размере зон. Параметр Тип сортировки (в Python sort_type) определяет используемый тип сортировки.
Метод по умолчанию, Не сортировать (в Python NO_SORT), оценивает приоритет на основе значения зон. Ячейки из зон с большими значениями будут иметь более высокий приоритет для расширения в зоны с меньшими значениями. Размер зон не учитывается.
Размер или общую площадь зон можно использовать для сортировки по приоритету. Размер определяется количеством ячеек, составляющих каждую зону. При установке настройки По убыванию (в Python DESCEND) зоны сортируются по размеру в порядке убывания. Зоны с большей общей площадью будут иметь приоритет при расширении в зоны с меньшими площадями. При установке настройки По возрастанию (в Python ASCEND) верно обратное: зоны с меньшей общей площадью будут иметь приоритет для расширения в зоны с большей общей площадью.
Степень сглаживания контролируется параметром Запустить расширение и сокращение дважды (в Python number_of_runs), который определяет, сколько раз будет выполняться процесс расширения и сокращения.
Если настройка не отмечена (в Python ONE_WAY), процесс расширения и сокращения выполняется один раз. При отмеченной настройке (в Python TWO_WAY) процесс расширения и сокращения выполняется дважды, что приводит к дополнительной степени сглаживания границ зоны.
Дополнительные сведения об алгоритме см. в разделе Удаление границ в Сглаживание краев зоны с Удалением границ и Фильтром большинства.
Если значения всех восьми соседних ячеек такие же, как и в обрабатываемой ячейке, в выходной ячейке сохранится значение входной ячейки.
Литература:
- Serra, J. Image Analysis and Mathematical Morphology, Academic Press, London 1982.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
BoundaryClean(in_raster, {sort_type}, {number_of_runs})
Parameter | Объяснение | Тип данных |
in_raster | Входной растр, для которого будет сглажена граница между зонами. Должен быть целочисленным. | Raster Layer |
sort_type (Дополнительный) | Задает тип сортировки для использования в процессе сглаживания. Сортировка определяет приоритет, с помощью которого ячейки могут расширяться до своих соседей. Сортировка может быть основана на значении зоны или размере зоны.
| String |
number_of_runs (Дополнительный) | Определяет, сколько раз будет выполняться процесс сглаживания, дважды или один раз.
| Boolean |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_raster | Выходной генерализованный растр. Границы между зонами во входных данных будут сглажены. Выходные данные всегда будут целочисленными. | Raster |
Пример кода
В этом примере сглаживается граница между зонами в порядке убывания с двойным выполнением.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OutBndCln = BoundaryClean("land", "DESCEND", "TWO_WAY")
OutBndCln.save("c:/sapyexamples/output/bndcln_des2")
В этом примере сглаживается граница между зонами в порядке убывания с двойным выполнением.
# Name: BoundaryClean_Ex_02.py
# Description: Smoothes the boundary between zones
# by expanding and shrinking it.
# 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 BoundaryClean
OutBndCln = BoundaryClean(inRaster, "ASCEND", "TWO_WAY")
# Save the output
OutBndCln.save("c:/sapyexamples/output/bndcln_asc2")
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst