Detect Change Using Change Analysis Raster (Image Analyst)

Available with Image Analyst license.

Summary

Generates a raster containing pixel change information using the output change analysis raster from the Analyze Changes Using CCDC tool.

Usage

  • This tool uses the output change analysis raster generated from the Analyze Changes Using CCDC tool to generate a raster containing pixel change information. The change analysis raster contains information about how each pixel has changed over time. Harmonic regression is used to fit the pixel value's changes to a curve, and large changes in that curve are considered potential land use or land cover changes.

  • The Change Type parameter indicates the information that will be generated. Information is extracted from the change analysis raster. There are four options:

    • Time of latest change—The most recent date and time at which a pixel was flagged as being changed
    • Time of earliest change—The earliest date and time at which a pixel was flagged as being changed
    • Time of largest change—The date and time at which the calculated change was the most significant for a pixel
    • Number of changes—The total number of times the pixel changed

  • The output raster is a multiband raster in which each band contains change information depending on the change type selected and the maximum number of changes specified. For example, if the Change Type parameter is set to Time of earliest change and the Maximum Number of Changes parameter is set to 2, the tool calculates the two earliest dates when change occurred throughout the time series for every pixel. The result is a raster in which the first band contains the dates of the earliest change per pixel, and the second band contains the dates of the second-earliest change per pixel.

Syntax

DetectChangeUsingChangeAnalysisRaster(in_change_analysis_raster, {change_type}, {max_number_changes})
ParameterExplanationData Type
in_change_analysis_raster

The multidimensional change analysis raster generated from the Analyze Changes Using CCDCtool. Currently, only a change analysis raster in Cloud Raster Format (.crf) is supported.

Raster Dataset; Raster Layer; Image Service
change_type
(Optional)

Specifies the change information to calculate for each pixel.

  • TIME_OF_LATEST_CHANGEEach pixel will contain the date of its most recent change in the time series. This is the default.
  • TIME_OF_EARLIEST_CHANGEEach pixel will contain the date of its earliest change in the time series.
  • TIME_OF_LARGEST_CHANGEEach pixel will contain the date of its most significant change in the time series.
  • NUM_OF_CHANGESEach pixel will contain the total number of times it changed in the time series.
String
max_number_changes
(Optional)

The maximum number of changes per pixel that will be calculated when the change_type parameter is set to TIME_OF_LATEST_CHANGE, TIME_OF_EARLIEST_CHANGE, or TIME_OF_LARGEST_CHANGE. This number corresponds to the number of bands in the output raster. The default is 1, meaning only one change date will be calculated, and the output raster will contain only one band.

Long

Return Value

NameExplanationData Type
out_raster

The output raster containing the detected change information.

Raster

Code sample

DetectChangeUsingChangeAnalysisRaster example 1 (Python window)

This example returns the most recent date at which pixels changed in a NDVI time series.

# 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 example 2 (stand-alone script)

This example returns the total number of times the pixels changed in a Landsat time series.

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

Licensing information

  • Basic: Requires Image Analyst
  • Standard: Requires Image Analyst
  • Advanced: Requires Image Analyst

Related topics