使用变化分析栅格检测变化 (Image Analyst)

获得 Image Analyst 许可后可用。

描述

可以利用使用 CCDC 分析变化工具的输出变化分析栅格来生成包含像素变化信息的栅格。

使用方法

  • 此工具使用从使用 CCDC 分析变化工具生成的输出变化分析栅格来生成包含像素变化信息的栅格。变化分析栅格包含有关每个像素如何随时间变化的信息。谐波回归用于将像素值的变化拟合为曲线,该曲线中的较大变化被视为潜在土地利用或土地覆被变化。

  • 变化类型参数用于指示将要生成的信息。信息将从变化分析栅格中进行提取。可以使用以下四个选项:

    • 最新变化的日期 - 像素被标记为更改的最新日期和时间
    • 最早变化的日期 - 像素被标记为更改的最早日期和时间
    • 最大变化的日期 - 计算的变化为像素最显著变化的日期和时间
    • 变化次数 - 像素变化的总次数

  • 输出栅格是一个多波段栅格,其中每个波段都包含变化信息,具体取决于所选的变化类型和指定的最大变化次数。例如,如果变化类型参数设置为最早变化的日期,且最大变化次数参数设置为 2,则在整个时间序列中每个像素发生变化时,该工具都会计算两个最早的日期。结果为栅格,其中第一个波段包含每个像素最早变化的日期,第二个波段包含每个像素第二早的变化日期。

语法

DetectChangeUsingChangeAnalysisRaster(in_change_analysis_raster, {change_type}, {max_number_changes})
参数说明数据类型
in_change_analysis_raster

使用 CCDC 分析变化工具生成的多维变化分析栅格。目前,仅支持云栅格格式的变化分析栅格 (.crf)。

Raster Dataset; Raster Layer; Image Service
change_type
(可选)

指定要为每个像素计算的变化信息。

  • TIME_OF_LATEST_CHANGE每个像素都将包含其在时间序列中最近变化的日期。这是默认设置。
  • TIME_OF_EARLIEST_CHANGE每个像素都将包含其在时间序列中最早变化的日期。
  • TIME_OF_LARGEST_CHANGE每个像素都将包含其在时间序列中最显著变化的日期。
  • NUM_OF_CHANGES每个像素都将包含其在时间序列中发生变化的总次数。
String
max_number_changes
(可选)

将在 change_type 参数设置为 TIME_OF_LATEST_CHANGETIME_OF_EARLIEST_CHANGETIME_OF_LARGEST_CHANGE 时计算的每个像素的最大变化数。该数字与输出栅格中的波段数相对应。默认值为 1,表示将仅计算一个变化日期,且输出栅格将仅包含一个波段。

Long

返回值

名称说明数据类型
out_raster

包含检测变化信息的输出栅格。

Raster

代码示例

DetectChangeUsingChangeAnalysisRaster 示例 1(Python 窗口)

本示例返回像素在 NDVI 时间序列中发生变化的最近日期。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute
dateOfLatestChange = arcpy.ia.DetectChangeUsingChangeAnalysis(
	"Monthly_NDVI_Change_Analysis.crf", "TIME_OF_LATEST_CHANGE", 1)

# Save output
dateOfLatestChange.save(r"C:\data\NDVI_LatestChanges.crf")
DetectChangeUsingChangeAnalysisRaster 示例 2(独立脚本)

本示例返回像素在 Landsat 时间序列中发生变化的总次数。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters
in_change_analysis = r"C:\data\Landsat_ChangeAnalysis.crf"
change_type = "NUM_OF_CHANGES"

# Execute
number_of_changes = arcpy.ia.DetectChangeUsingChangeAnalysis(
	in_change_analysis, change_type)

# Save output
number_of_changes.save("C:/data/NumberOfChanges_Landsat.crf")

许可信息

  • Basic: 需要 Image Analyst
  • Standard: 需要 Image Analyst
  • Advanced: 需要 Image Analyst

相关主题