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 or the Analyze Changes Using LandTrendr tool.

Usage

  • This tool uses a change analysis raster generated from the Analyze Changes Using CCDC tool or the Analyze Changes Using LandTrendr tool to generate a raster containing point of change information.

    Change analysis rasters contain model information about how each pixel has changed over time, and this tool analyzes that information.

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

    When running this tool on the output from the Analyze Changes Using CCDC tool, you can choose from the following 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.

    For more information, see How Analyze Changes Using CCDC works.

    When running this tool on the output from the Analyze Changes Using LandTrendr tool, the following additional options are available:

    • Time of longest change—The date at which a pixel was flagged as being changed, at the beginning or end of the longest period of change.
    • Time of shortest change—The date at which a pixel was flagged as being changed, at the beginning or end of the shortest period of change.
    • Time of fastest change—The date at which a pixel was flagged as being changed, at the beginning or end of the fastest period of change.
    • Time of slowest change—The date at which a pixel was flagged as being changed, at the beginning or end of the slowest period of change.

    For more information, see How Analyze Changes Using LandTrendr works.

  • The output 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.

  • When running this tool on the output from the Analyze Changes Using LandTrendr tool, you can choose whether to extract the date that marks the beginning of a change or the end of a change using the Segment Date parameter. For example, to understand how the most recent change in the time series started, set the Change Type parameter to Time of latest change and the Segment Date parameter to Beginning of segment.

  • Use the following filtering parameters to extract more specific dates of change from your change analysis raster:

    • Filter by year—Identify changes that occurred within a specific time period, for example, if you are looking for changes that occurred in a landscape during five years of drought.
    • Filter by duration—Identify changes that occurred over a given range of years, for example, if you are only looking for abrupt changes that took place over 1 or 2 years. You can calculate the duration you are interested in using the formula end year - start year +1. Gaps in the time series will be included.
    • Filter by magnitude—Identify changes of a given magnitude, for example, if you are only looking for large changes in the vegetation index NDVI. Magnitude is an absolute value, so the minimum and maximum values cannot be negative. To specify directional change, use the Change Direction parameter.

Syntax

DetectChangeUsingChangeAnalysisRaster(in_change_analysis_raster, {change_type}, {max_number_changes}, {segment_date}, {change_direction}, {filter_by_year}, {min_year}, {max_year}, {filter_by_duration}, {min_duration}, {max_duration}, {filter_by_magnitude}, {min_magnitude}, {max_magnitude})
ParameterExplanationData Type
in_change_analysis_raster

The change analysis raster generated from the Analyze Changes Using CCDCtool or the Analyze Changes Using LandTrendr tool.

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.
  • TIME_OF_LONGEST_CHANGEEach pixel will contain the date of change at the beginning or end of the longest transition segment in the time series.
  • TIME_OF_SHORTEST_CHANGEEach pixel will contain the date of change at the beginning or end of the shortest transition segment in the time series.
  • TIME_OF_FASTEST_CHANGEEach pixel will contain the date of change at the beginning or end of the transition that occurred most quickly.
  • TIME_OF_SLOWEST_CHANGEEach pixel will contain the date of change at the beginning or end of the transition that occurred most slowly.
String
max_number_changes
(Optional)

The maximum number of changes per pixel to be calculated. 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.

This parameter is not available when the change_type parameter is set to NUM_OF_CHANGES.

Long
segment_date
(Optional)

Specifies whether to extract the date at the beginning of a change segment, or the end.

This parameter is available only when the input change analysis raster is the output from the Analyze Changes Using LandTrendr tool.

  • BEGINNING_OF_SEGMENTExtract the date at the beginning of a change segment. This is the default.
  • END_OF_SEGMENTExtract the date at the end of a change segment.
String
change_direction
(Optional)

Specifies the direction of change to be included in the analysis.

This parameter is available only when the input change analysis raster is the output from the Analyze Changes Using LandTrendr tool.

  • ALLAll change directions are included in the output. This is the default.
  • INCREASEOnly change in the positive or increasing direction is included in the output.
  • DECREASEOnly change in the negative or decreasing direction is included in the output.
String
filter_by_year
(Optional)

Specifies whether to filter by a range of years.

  • FILTER_BY_YEARFilter results so that only changes that occurred within a specific range of years are included in the output.
  • NO_FILTER_BY_YEARDo not filter results by year. This is the default.
Boolean
min_year
(Optional)

The earliest year to use to filter results. This parameter is required if the filter_by_year parameter is set to FILTER_BY_YEAR.

Long
max_year
(Optional)

The latest year to use to filter results.

This parameter is required if the filter_by_year parameter is set to FILTER_BY_YEAR.

Long
filter_by_duration
(Optional)

Specifies whether to filter by the change duration.

This parameter is available only when the input change analysis raster is the output from the Analyze Changes Using LandTrendr tool.

  • FILTER_BY_DURATIONFilter results by duration so that only the changes that lasted a given amount of time are included in the output.
  • NO_FILTER_BY_DURATIONDo not filter results by duration. This is the default.
Boolean
min_duration
(Optional)

The minimum number of consecutive years to include in the results.

This parameter is required if the filter_by_duration parameter is set to FILTER_BY_DURATION.

Double
max_duration
(Optional)

The maximum number of consecutive years to include in the results.

This parameter is required if the filter_by_duration parameter is set to FILTER_BY_DURATION.

Double
filter_by_magnitude
(Optional)

Specifies whether to filter by change magnitude.

  • Checked—Filter results by magnitude so that only the changes of a given magnitude are included in the output.
  • Unchecked—Do not filter results by magnitude. This is the default.

Specifies whether to filter by change magnitude.

  • FILTER_BY_MAGNITUDEFilter results by magnitude so that only the changes of a given magnitude are included in the output.
  • NO_FILTER_BY_MAGNITUDEDo not filter results by magnitude. This is the default.
Boolean
min_magnitude
(Optional)

The minimum magnitude to include in the results.

This parameter is required if the filter_by_magnitude parameter is set to FILTER_BY_DURATION.

Double
max_magnitude
(Optional)

The maximum magnitude to include in the results.

This parameter is required if the filter_by_duration parameter is set to FILTER_BY_DURATION.

Double

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 end date of the longest period of NDVI recovery (increasing values) where the change was a magnitude between 0.25 and 2.

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

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

# Execute
dateOfLongestChange = arcpy.ia.DetectChangeUsingChangeAnalysis(
	"LandTrendr_NDVI_Change_Analysis.crf", "TIME_OF_LONGEST_CHANGE", 1, "INCREASE", 
	"NO_FILTER_BY_YEAR",None,None,"NO_FILTER_BY_DURATION",None,None,"FILTER_BY_MAGNITUDE",
	0.25,2)

# Save output
dateOfLongestChange.save(r"C:\data\NDVI_LongestChange.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