ComputeChange

Доступно с лицензией 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Будет вычислена математическая разница (разность) между значениями пикселов входных растров. Это значение по умолчанию.
  • RELATIVE_DIFFERENCEБудет рассчитана разница между значениями пикселов в соответствии с величинами сравниваемых значений.
  • CATEGORICAL_DIFFERENCEБудет рассчитана разница между двумя категориальными или тематическими растрами, и выходные данные будут содержать изменения классов, которые произошли между двумя растрами.

(Значение по умолчанию — 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.

  • ALLВ выходных данных будут категоризованы все пикселы. Например, пикселам, которые изменили свой класс с Forest на Urban, будет назначен класс перехода Forest>Urban. Пикселы, которые ранее относились к классу Forest и остались в классе Forest, будут отнесены к классу Forest.
  • CHANGED_PIXELS_ONLYТолько пикселы, класс которых изменился, будут отнесены к переходным классам. Пикселы, оставшиеся в том же классе, будут отнесены к классу Other. Это значение по умолчанию.
  • UNCHANGED_PIXELS_ONLYОтнесены к категориям будут только пикселы, класс которых не изменился. Пикселы, класс которых не изменился, будут отнесены к классу Other.

(Значение по умолчанию — CHANGE_PIXELS_ONLY)

String
define_transition_colors

Определяет цвет, использующийся для отображения категорий переходных классов, если для method задано CATEGORICAL_DIFFERENCE, а для filter_method - CHANGED_PIXELS_ONLY или ALL.

  • AVERAGEПереходным классам будет присвоен цвет, являющийся промежуточным между цветами классов «от» и «до». К примеру, у пикселов класса Forest>Urban будет цвет, находящийся посередине между цветами класса Forest в raster1 и класса Urban в raster2.Это значение по умолчанию.
  • FROM_COLORПереходным классам будет присвоен цвет исходного класса raster1.
  • TO_COLORПереходным классам будет присвоен цвет последнего класса raster2.

(Значение по умолчанию — AVERAGE)

String
extent_type

Определяет пространственный экстент, использованный для создания выходного растра.

  • FirstOfЭкстент первой переменной растра
  • IntersectionOfМинимальная область, которая является общей для всех входных растров
  • UnionOfКомбинированный экстент всех входных растров
  • LastOfЭкстент последней переменной растра

(Значение по умолчанию — IntersectionOf)

String
cellsize_type

Задает размер ячейки, использованный для создания выходного растра.

  • FirstOfРазмер ячейки первой переменной растра
  • MinOfМинимальный размер ячейки входных растров
  • MaxOfМаксимальный размер ячейки входных растров
  • MeanOfСредний размер ячейки входных растров
  • LastOfРазмер ячейки последней переменной растра

(Значение по умолчанию — MaxOf)

String
Возвращаемое значение
Тип данныхОписание
Raster

Выходной растр.

Пример кода

Пример ComputeChange

В этом примере вычисляется разница между определенными классами категорий землепользования в 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")