Интервальная перекодировка (3D Analyst)
Резюме
Разбивает или переклассифицирует диапазон значений входных ячеек на зоны равных интервалов, равных областей или по естественным границам.
Использование
-
Slice лучше работает с данными, имеющими нормальное распределение. При использовании входных растровых данных, искажающих выходной результат, они могут не содержать все классы, которые вы ожидаете или задаете.
-
Если в среде задана маска, то ячейкам, которые попадают под маску, в выходном растре интервальной перекодировки будет присвоено значение NoData.
-
При использовании метода EQUAL_AREA иногда выходные классы (зоны) не имеют равного или даже приблизительно соизмеримого количества ячеек (т. е. площади). Такой результат объясняется внутренними свойствами алгоритма и может быть связан со свойствами входных значений и заданным количеством зон. Если вы сочтете такой результат нежелательным, можно попробовать использовать меньшее количество зон или применить статистическую трансформацию (например, логарифм, квадратный корень и т. д.) для ввода данных.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной переклассифицируемый растр. | Raster Layer |
out_raster |
Выходной переклассифицированный растр. Выходные данные всегда будут целочисленными. | Raster Dataset |
number_zones | Количество зон для переклассификации входного растра. Если метод интервальной перекодировки – EQUAL_AREA, выходной растр будет иметь определенное количество зон с одинаковым количеством ячеек в каждой. Если используется EQUAL_INTERVAL, выходной растр будет иметь определенное количество зон, каждая из которых будет содержать равные диапазоны значений выходного растра. Если используется NATURAL_BREAKS, выходной растр будет иметь определенное число зон, количество ячеек в каждой из которых определяется границами классов. | Long |
slice_type (дополнительно) |
Метод интервальной перекодировки значений входного растра.
| String |
base_output_zone (дополнительно) |
Определяет самое низкое значение зоны в выходном наборе растровых данных. Значение по умолчанию равно 1. | Long |
Пример кода
Переклассифицируйте входной растр на пять классов на основе естественных групп, присущих данным.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Slice_3d("elevation", "c:/output/elevslice", 5, "NATURAL_BREAKS")
Переклассифицируйте входной растр на десять классов на основе естественных групп, присущих данным.
# Name: Slice_3d_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: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inRaster = "elevation"
outRaster = "C:/output/outslice"
numberZones = 10
baseOutputZone = 5
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Slice
arcpy.Slice_3d(inRaster, outRaster, numberZones, "NATURAL_BREAKS",
baseOutputZone)