Удаление границ (Spatial Analyst)

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

Сводка

Сглаживает границу между зонами путем растяжения и сокращения границы.

Более подробно о том, как работает инструмент Удаление границ

Иллюстрация

Иллюстрация работы инструмента Удаление границ
OutRas = BoundaryClean(InRas1)

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

  • Будут изменены все области, состоящие меньше, чем из трех ячеек в направлении x или y.

  • Для использования доступны два процесса сглаживания - в зависимости от числа используемых процессов расширения-сокращения. С выбранной по умолчанию опцией Запустить расширение и сокращение еще раз (TWO_WAY в Python) процесс расширения и сокращения для сглаживания будет запущен дважды, а в случае, если эта опция отключена (ONE_WAY в Python), - только один раз.

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

  • Расширение выполняется идентично и при первом, и при втором проходе.

  • Входные ячейки NoData имеют наименьший приоритет типа сортировки ONE_WAY, или первого прохода сортировки TWO_WAY. При втором проходе с опцией TWO_WAY ячейки с значением NoData имеют самый высокий приоритет.

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

Синтаксис

BoundaryClean(in_raster, {sort_type}, {number_of_runs})
ParameterОбъяснениеТип данных
in_raster

Входной растр, для которого будет сглажена граница между зонами.

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

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

Задает тип сортировки, который будет использоваться в процессе сглаживания.

Этот параметр определяет приоритет ячеек, которые будут расширены на соседние ячейки.

  • NO_SORTНе выполняет сортировку по размеру. Зоны с большими значениями имеют более высокий приоритет при расширении в зоны с меньшими значениями.Используется по умолчанию.
  • DESCENDСортирует зоны по убыванию в соответствии с их размером. Зоны с общей площадью большего размера будут иметь более высокий приоритет при расширении в зоны с меньшими по общей площади зонами.
  • ASCENDСортирует зоны по возрастанию в соответствии с их размером. Зоны с общей площадью меньшего размера будут иметь более высокий приоритет при расширении в зоны с большими по общей площади зонами.
String
number_of_runs
(Дополнительный)

Задает количество направлений, в которых будет происходить процесс сокращения.

  • TWO_WAYВыполняет расширение и сокращение в соответствии с типом сортировки, а затем - дополнительное сокращение и расширение с сохранением приоритета.Используется по умолчанию.
  • ONE_WAYВыполняет расширение и сжатие один раз, в соответствии с типом сортировки.
Boolean

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Выходной генерализованный растр.

Границы между зонами во входных данных будут сглажены.

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

Raster

Пример кода

BoundaryClean, пример 1 (окно Python)

В этом примере сглаживается граница между зонами в порядке по убыванию с двусторонним запуском.

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")
BoundaryClean, пример 2 (автономный скрипт)

В этом примере сглаживается граница между зонами в порядке по убыванию с двусторонним запуском.

# 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")

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

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

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