Интервальная перекодировка (Spatial Analyst)
Резюме
Разбивает или переклассифицирует диапазон значений входных ячеек на зоны равных интервалов, равных областей или по естественным границам.
Использование
-
Интервальная перекодировка лучше работает с данными, имеющими нормальное распределение. При использовании входных растровых данных, искажающих выходной результат, они могут не содержать все классы, которые вы ожидаете или задаете.
-
Если в среде задана маска, то ячейкам, которые попадают под маску, в выходном растре интервальной перекодировки будет присвоено значение NoData.
-
При использовании метода EQUAL_AREA иногда выходные классы (зоны) не имеют равного или даже приблизительно соизмеримого количества ячеек (т. е. площади). Такой результат объясняется внутренними свойствами алгоритма и может быть связан со свойствами входных значений и заданным количеством зон. Если вы сочтете такой результат нежелательным, можно попробовать использовать меньшее количество зон или применить статистическую трансформацию (например, логарифм, квадратный корень и т. д.) для ввода данных.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной переклассифицируемый растр. | Raster Layer |
number_zones | Количество зон для переклассификации входного растра. Если метод интервальной перекодировки – EQUAL_AREA, выходной растр будет иметь определенное количество зон с одинаковым количеством ячеек в каждой. Если используется EQUAL_INTERVAL, выходной растр будет иметь определенное количество зон, каждая из которых будет содержать равные диапазоны значений выходного растра. Если используется NATURAL_BREAKS, выходной растр будет иметь определенное число зон, количество ячеек в каждой из которых определяется границами классов. | Long |
slice_type (дополнительно) |
Метод интервальной перекодировки значений входного растра.
| String |
base_output_zone (дополнительно) |
Определяет самое низкое значение зоны в выходном наборе растровых данных. Значение по умолчанию равно 1. | Long |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной переклассифицированный растр. Выходные данные всегда будут целочисленными. | Raster |
Пример кода
Переклассифицируйте входной растр на пять классов на основе естественных групп, присущих данным.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outslice = Slice("elevation", 5, "NATURAL_BREAKS")
outslice.save("C:/sapyexamples/output/elev_slice")
Переклассифицируйте входной растр на десять классов на основе естественных групп, присущих данным.
# Name: Slice_Ex_02.py
# Description: Slices a range of values of the input cells of a raster by
# zones of equal interval or equal area.
# 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 = "elevation"
numberZones = 10
baseOutputZone = 5
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Slice
outSlice = Slice(inRaster, numberZones, "NATURAL_BREAKS", baseOutputZone)
# Save the output
outSlice.save("C:/sapyexamples/output/outslice")