Доступно с лицензией Image Analyst.
Краткая информация
Создает растровый объект, содержащий разницу между двумя категориальными или непрерывными растрами.
Обсуждение
Более подробную информацию о том, как работает эта функция, см. растровую функцию Вычислить изменения.
Указанный набор растровых данных является временным для растрового объекта. Чтобы сделать его постоянным, вы можете вызвать метод растрового объекта save.
Синтаксис
ComputeChange (raster1, raster2, {method}, {from_class_values}, {to_class_values}, {filter_method}, {define_transition_colors}, {extent_type}, {cellsize_type})
Параметр | Описание | Тип данных |
raster1 | Первый растр в вычислении. Для оценки изменений между временем 1 (более раннее) и временем 2 (позже), введите здесь растр времени 1. | Raster |
raster2 | Входной растр, который будет участвовать в вычислении. Для оценки изменений между временем 1 (более раннее) и временем 2 (позже), введите здесь растр времени 2. | Raster |
method | Определяет используемой способ вычисления разницы между двумя растрами.
(Значение по умолчанию — DIFFERENCE) | String |
from_class_values [from_class_values,...] | Список значений классов raster1, включаемых в вычисление, если для method задано CATEGORICAL_DIFFERENCE. Например, если вы собираетесь определить области, изменившиеся с Forest на Urban, введите здесь значение для класса Forest. Если не задать значение, будут включены все классы. | Integer |
to_class_values [to_class_values,...] | Список значений классов raster2, включаемых в вычисление, если для method задано CATEGORICAL_DIFFERENCE. Например, если вы собираетесь определить области, изменившиеся с Forest на Urban, введите здесь значение для класса Urban. Если не задать значение, будут включены все классы. | Integer |
filter_method | Задает пикселы для категорий выходного растрового объекта, если для method задано CATEGORICAL_DIFFERENCE.
(Значение по умолчанию — CHANGE_PIXELS_ONLY) | String |
define_transition_colors | Определяет цвет, использующийся для отображения категорий переходных классов, если для method задано CATEGORICAL_DIFFERENCE, а для filter_method - CHANGED_PIXELS_ONLY или ALL.
(Значение по умолчанию — AVERAGE) | String |
extent_type | Определяет пространственный экстент, использованный для создания выходного растра.
(Значение по умолчанию — IntersectionOf) | String |
cellsize_type | Задает размер ячейки, использованный для создания выходного растра.
(Значение по умолчанию — MaxOf) | String |
Тип данных | Описание |
Raster | Выходной растр. |
Пример кода
В этом примере вычисляется разница между определенными классами категорий землепользования в 2000 и 2020 гг.
import arcpy
from arcpy.ia import *
arcpy.CheckOutExtension("ImageAnalyst")
raster1 = arcpy.Raster('Landcover_2000.tif')
raster2 = arcpy.Raster('Landcover_2020.tif')
# Compute only the change that occured in land cover between 2000 and 2020
changed_landcover = arcpy.ia.ComputeChange(raster1, raster2,
"CATEGORICAL_DIFFERENCE",[41,42,43],[21,22,23],"CHANGED_PIXELS_ONLY",
"AVERAGE","IntersectionOf","MaxOf")