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,...]

如果将 method 设置为 CATEGORICAL_DIFFERENCE,则为 raster1 中要包括在计算中的类值列表。例如,如果要标识从 Forest 更改为 Urban 的区域,请在此处输入 Forest 类的类值。

如果未提供任何值,则所有类都将包括在内。

Integer
to_class_values
[to_class_values,...]

如果将 method 设置为 CATEGORICAL_DIFFERENCE,则为 raster2 中要包括在计算中的类值列表。例如,如果要标识从 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_DIFFERENCEfilter_method 设置为 CHANGED_PIXELS_ONLYALL,则指定用于符号化类过渡类别的颜色。

  • AVERAGE系统将为过渡类提供颜色,该颜色为“自”和“至”类颜色的平均值。例如,Forest>Urban 类中像素的颜色将为 raster1Forest 类和 raster2Urban 类的平均值。这是默认设置。
  • 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")