获得 Image Analyst 许可后可用。
描述
计算两个栅格数据集之间的绝对、相对或分类差异。
使用方法
该工具可对两个栅格进行比较,生成包含两者之间差异的新栅格。例如,使用此工具可以了解碳储量像素值在 2001 年至 2020 年间如何变化,或查看 2010 年至 2015 年土地覆被如何变化。
以下计算类型可用于计算变化栅格:
- 差异 - 起始栅格中的像素值和目标栅格中的像素值之间的数学差或两者做减法。
Output = (To Raster) - (From Raster)
- 相对差异 - 像素值的差异(考虑要比较的值的数量)。
Output = (To Raster - From Raster) / max(To Raster, From Raster)
- 类别差异 - 两个类别或主题栅格之间的差异,其输出可以显示在两个栅格之间发生的各个类过渡。
- 差异 - 起始栅格中的像素值和目标栅格中的像素值之间的数学差或两者做减法。
来自类别差异计算类型的输出是具有属性表的栅格数据集。该表包含过渡类型(例如,从森林到城市)、每种过渡类型中包括的像素数以及每种过渡类型的估算面积。面积的计算方式是像素大小乘以每种过渡类型的像素数。单位与输入栅格数据的线性单位相匹配。
在计算两个分类栅格之间的差异时,可将您的分析限制为特定的类。例如,要可视化城市发展,可在起始类列表中包括所有类,而在目标类列表中仅包括城市类。结果将包含所有有助于城市类别的过渡。
语法
ComputeChangeRaster(from_raster, to_raster, {compute_change_method}, {from_classes}, {to_classes}, {filter_method}, {define_transition_colors})
参数 | 说明 | 数据类型 |
from_raster | 待分析的初始栅格或较早栅格。 | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String |
to_raster | 待分析的最终栅格或较晚栅格。将要与初始栅格进行比较的栅格。 | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String |
compute_change_method (可选) | 指定要在两个栅格之间执行的计算类型。
| String |
from_classes [from_classes,...] (可选) | 将包括在计算中的 from_raster 参数中的类名称列表。如果未提供任何类,将包括所有类。 当将 compute_change_method 参数设置为 CATEGORICAL_DIFFERENCE 时,此参数处于启用状态。 | String |
to_classes [to_classes,...] (可选) | 将包括在计算中的 to_raster 参数中的类名称列表。如果未提供任何类,将包括所有类。 当将 compute_change_method 参数设置为 CATEGORICAL_DIFFERENCE 时,此参数处于启用状态。 | String |
filter_method (可选) | 指定要在输出栅格中分类的像素。当将 compute_change_method 参数设置为 CATEGORICAL_DIFFERENCE 时,此参数处于启用状态。
| String |
define_transition_colors (可选) | 指定用于符号化输出类的颜色。当像素从一种类类型更改为另一种类类型时,输出像素颜色代表初始类类型、最终类类型或两者的混合。 当将 compute_change_method 参数设置为 CATEGORICAL_DIFFERENCE 时,此参数处于启用状态。
| String |
返回值
名称 | 说明 | 数据类型 |
out_raster_dataset | 输出更改栅格数据集。 | Raster |
代码示例
本示例计算 2000 年至 2020 年间 NDVI 像素值的差异。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
NDVIchange = arcpy.ia.ComputeChangeRaster(
"NDVI_2000.tif", "NDVI_2020.tif", "DIFFERENCE")
NDVIchange.save("C:/Data/NDVI_2000_2020.tif")
本示例计算 2000 年至 2020 年间 NDVI 像素值的相对差异。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
FromRaster = "C:/Data/NDVI_2000.tif"
ToRaster = "C:/Data/NDVI_2020.tif"
ChangeType = "RELATIVE_DIFFERENCE"
# Execute - calculate the relative difference in NDVI from 2000 to 2020
NDVIrelativeChange = arcpy.ia.ComputeChangeRaster(
FromRaster, ToRaster, ChangeType)
# Save output
NDVIrelativeChange.save("C:/Data/Relative_NDVI_2000_2020.tif")
本示例计算 2000 年至 2020 年间的土地覆被变化,仅提取从 Forest、Agriculture、Water 或 Barren 类更改为 Urban 类的像素。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
LandcoverChange = arcpy.ia.ComputeChangeRaster(
"Landcover_2000.tif", "Landcover_2020.tif", "CATEGORICAL_DIFFERENCE",
"'Forest';'Agriculture';'Water';'Barren'", "'Urban'",
"CHANGED_PIXELS_ONLY", "AVERAGE")
# Save output
LandcoverChange.save("C:/Data/Landcover_2000_2020.tif")
环境
许可信息
- Basic: 需要 Image Analyst
- Standard: 需要 Image Analyst
- Advanced: 需要 Image Analyst