Переклассификация (Reclassify) (Spatial Analyst)
Резюме
Переклассифицирует (или меняет) значения растра.
Использование
-
Входной растр должен иметь действительную статистику. Если статистика отсутствует, ее можно вычислить с помощью инструмента Расчет статистики (Calculate Statistics) в наборе инструментов Управление данными (Data Management).
Если переклассифицируется диапазон значений, диапазоны не должны перекрываться, за исключением значений на границе двух диапазонов. Если происходит перекрытие, верхняя часть диапазона меньших входных значений включается, а нижняя часть диапазона более высоких входных значений исключается из переклассификации.
Если задано два диапазона, например, от 1 до 5 переклассифицируется как 100, а от 5 до 10 – как 200, значениям меньшим или равным 5 присваивается значение 100, а большим 5, например, 5,01 – значение 200.
-
При использовании диалогового окна инструмента, таблица переклассификации может быть сохранена для последующего использования с помощью кнопки Сохранить (Save). Воспользуйтесь кнопкой Загрузить (Load), чтобы открыть таблицы переклассификации, созданные ранее с помощью кнопки Сохранить (Save).
-
Рекомендуется загружать только таблицы, ранее сохраненные инструментом Переклассификация (Reclassify). Формат таблицы специфичный и должен содержать поля FROM, TO, OUT и MAPPING.
-
По умолчанию, для таблицы переклассификации значения входного растра будут классифицированы на девять классов.
-
Если входной растр представлен слоем, старые значения переклассификации будут получены из шкалы, использованной для визуализации растра. Если способ отображения – растяжка, по умолчанию для переклассификации будет использовано 255 классов.
-
После изменения таблицы перекодировки переклассификации, значения не будут обновлены, если выбран входной растр, параметры переклассификации будут сохранены. Если переклассификация не подходит, переклассификация может быть перезапущена через выполнение одной из следующих операций:
- Измените поле переклассификации
- Перезапуск инструмента
-
Этот инструмент позволяет контролировать точность через определение количества десятичных знаков.
-
При использовании инструмента Переклассификация (Reclassify) в модели:
- Если входные данные для инструмента Переклассификации ― это производные данные от выполнения инструмента, который еще не был запущен, параметр таблицы переклассификации в инструменте Переклассификация (Reclassify) будет отсутствовать до запуска предшествующего инструмента и проверки модели. Чтобы избежать этого, всегда запускайте предшествующие инструменты до присоединения их выходных данных в качестве входного параметра для инструмента Переклассификация (Reclassify). Или же, вы можете создать пользовательскую таблицу переклассификации через добавление классов.
- Если вы хотите отобразить таблицу переклассификации в качестве параметра модели, в качестве переменной должно быть показано поле переклассификации. Тем не менее, нет необходимости устанавливать эту опцию как параметр модели. Если поле не отображается в качестве переменной, в диалоговом окне инструмента в модели кнопки классификации и уникальных значений будут не доступны.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной переклассифицируемый растр. | Raster Layer |
reclass_field |
Поле, в котором хранятся переклассифицируемые значения. | Field |
remap |
Объект Таблица переклассификации (Remap) используется для определения того, как переклассифицировать значения входного растра. Есть два способа определить, как значения будут переклассифицированы в выходном растре: RemapRange и RemapValue. Диапазонам входных значений можно присвоить новое выходное значение или индивидуальным значениям можно присвоить новое выходное значение. Ниже приведены формы объектов (remap objects).
| Remap |
missing_values (дополнительно) |
Устанавливает, сохранят ли пропущенные в файле переклассификации значения свои исходные значения или же они будут переклассифицированы в значение NoData.
| Boolean |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной переклассифицированный растр. Выходные данные всегда будут целочисленными. | Raster |
Пример кода
В следующих примерах показаны несколько способов переклассификации растра.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outReclass1 = Reclassify("landuse", "Value",
RemapValue([[1,9],[2,8],[3,1],[4,6],[5,3],[6,3],[7,1]]))
outReclass1.save("C:/sapyexamples/output/landuse_rcls")
outReclass2 = Reclassify("slope_grd", "Value",
RemapRange([[0,10,"NODATA"],[10,20,1],[20,30,2],
[30,40,3],[40,50,4],[50,60,5],[60,75,6]]))
outReclass2.save("C:/sapyexamples/output/slope_rcls")
outReclass3 = Reclassify("pop_density", "Value",
RemapRange([[10,10,1],[10,20,2],[20,25,3],
[25,50,4],[50,]]), "NODATA")
outReclass3.save("C:/sapyexamples/output/popden_rcls")
В этом примере переклассифицируется входной растр на основе значений строкового поля.
# Name: reclassify_example02.py
# Description: Reclassifies the values in a raster.
# 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 = "landuse"
reclassField = "LANDUSE"
remap = RemapValue([["Brush/transitional", 0], ["Water", 1],["Barren land", 2]])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Reclassify
outReclassify = Reclassify(inRaster, reclassField, remap, "NODATA")
# Save the output
outReclassify.save("C:/sapyexamples/output/outreclass02")