Инструмент Сокращение (Shrink) (Spatial Analyst)
Резюме
Сокращает выбранные зоны на заданное число ячеек, замещая их значением ячеек, наиболее частым в окрестности.
Рисунок
Использование
-
Определенные значения зоны считаются передними зонами, в то время как остальные значения зоны считаются фоновыми. С помощью этого инструмента, ячейки в высокоприоритетных зонах могут быть заменены ячейками в фоновых зонах.
-
Когда частью выбранного для сокращения набора являются два прилегающих региона, граница между ними меняться не будет.
-
Значение NoData имеет тот же приоритет, что и любое другое действительное значение, которое используется для заполнения областей, освобождаемых за счет выбранных сокращаемых значений. Следовательно, если выбранное значение является смежным с значением NoData, после выполнения сокращения оно может быть заменено на значение NoData.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр, для которого будут определяться сокращаемые зоны. Должен быть целочисленным. | Raster Layer |
number_cells |
Количество ячеек, на которое будет сокращена каждая заданная зона. Значение должно быть целым числом больше 0. | Long |
zone_values [zone_value,...] |
Перечень значений сокращаемых зон. Значения зон должны быть представлены целыми числами. Они могут быть даны в любом порядке. | Long |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной генерализованный растр. Заданные зоны входного растра будут сокращены на заданное количество ячеек. | Raster |
Пример кода
В этом примере сокращается зона, определенная списком значений, на 2 ячейки.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outShrink = Shrink("land", 2, [1, 3, 7])
outShrink.save("c:/sapyexamples/output/shrinkout")
В этом примере сокращается зона, определенная списком значений, на 2 ячейки.
# Name: Shrink_Ex_02.py
# Description: Shrinks the selected zones by a
# specified number of 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"
cellRemove = 2
zoneSet = [1,3,7,9]
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Shrink
outShrink = Shrink(inRaster, cellRemove, zoneSet)
# Save the output
outShrink.save("c:/sapyexamples/output/outshrink")