Skip to main content

ComputeChange

汇总

创建包含两个分类栅格或连续栅格之间差异的栅格对象。

讨论

有关此函数工作原理的详细信息,请参阅 计算变化 栅格函数。

栅格对象所引用的栅格数据集是临时性的。 要将其设置为永久,可以调用栅格对象的 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

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

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

Integer

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 *

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")