Переклассификация по таблице (Reclass by Table) (Spatial Analyst)
Резюме
Переклассифицирует (или изменяет) значения входных ячеек растра с помощью таблицы переклассификации.
Использование
-
Входной растр должен иметь действительную статистику. Если статистика отсутствует, ее можно вычислить с помощью инструмента Расчет статистики (Calculate Statistics) в наборе инструментов Управление данными (Data Management).
-
Поле значений От (From), Поле значений До (To) и Поле выходного значения (Output) являются именами полей в таблице для определения перекодировки.
-
Чтобы переклассифицировать индивидуальные значения, воспользуйтесь простой таблицей переклассификации, состоящей из двух полей. Первое поле определяет классифицируемое значение, а второе поле — значение, которое должно быть присвоено. Задайте поле значения равным значению поля "из ". Присваиваемое выходному растру значение сохраняется в выходном поле значений.
-
Чтобы переклассифицировать диапазоны значений, таблица перекодировок должна состоять из полей, определяющих начальное и конечное значение каждого диапазона, а также новое значение, которое должно быть присвоено диапазону. Поле, определяющее начальное значение диапазона — это поле значений От (From), а значение, задающее последнее значение диапазона, хранится в Поле значений До (To). Присваиваемое выходному растру значение сохраняется в Выходном (Output) поле значений.
-
Таблица переклассификации может быть представлена таблицей INFO, файлом формата .dbf, таблицей формата Access или текстовым файлом.
-
Значения в полях "из " и "в " могут быть представлены любым числовым полем. Присваиваемые значения в выходном поле значений должны быть целочисленными.
-
Значения в поле "из " таблицы dbf, INFO или таблицы базы геоданных не нуждаются в сортировке. Значения текстовых таблиц должны быть отсортированы по возрастанию. Значения не должны перекрываться.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной переклассифицируемый растр. | Raster Layer |
in_remap_table |
Таблица, содержащая поля, определяющие диапазоны переклассифицируемых значений и новые значения, которые должны быть присвоены переклассифицируемым значениям. | Table View |
from_value_field |
Поле, содержащее начальное значение каждого диапазона переклассифицируемых значений. Это числовое поле входной таблицы перекодировки. | Field |
to_value_field |
Поле, содержащее конечное значение каждого диапазона переклассифицируемых значений. Это числовое поле входной таблицы перекодировки. | Field |
output_value_field |
Поле, содержащее целочисленные значения, на которые должны быть изменены значения каждого диапазона. Это целочисленное поле входной таблицы переклассификации. | Field |
missing_values (дополнительно) |
Устанавливает, сохранят ли пропущенные в файле переклассификации значения свои исходные значения или же они будут переклассифицированы в значение NoData.
| Boolean |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной переклассифицированный растр. Выходные данные всегда будут целочисленными. | Raster |
Пример кода
В этом примере используется таблица перекодировки для переклассификации входного растра.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "C:/sapyexamples/data"
outReclass = ReclassByTable("slope","remapslope","FROM","TO","OUT")
outReclass.save("C:/sapyexamples/output/recslope")
В этом примере используется таблица перекодировки для переклассификации входного растра.
# Name: reclassbytable_example02.py
# Description: Reclassifies the values of the input raster using a remap table.
# 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 = "slope"
inRemapTable = "remapslope"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Reclassify
outRaster = ReclassByTable(inRaster, inRemapTable,"FROM","TO","OUT","NODATA")
# Save the output
outRaster.save("C:/sapyexamples/output/recslope")