Skip to main content

DetectChangeUsingChangeAnalysis

汇总

使用变化分析栅格来创建包含变化日期信息的栅格对象。

变化分析栅格将通过 使用 CCDC 分析变化 工具或 使用 LandTrendr 分析变化 工具进行生成。

讨论

有关此函数工作原理的详细信息,请参阅 使用变化分析检测变化 栅格函数。

栅格对象所引用的栅格数据集是临时性的。 要将其设置为永久,可以调用栅格对象的 save 方法。

语法

DetectChangeUsingChangeAnalysis(raster, {change_type}, {max_number_of_changes}, {segment_date}, {change_direction}, {filter_by_year}, {min_year}, {max_year}, {filter_by_duration}, {min_duration}, {min_duration}, {filter_by_magnitude}, {min_magnitude}, {max_magnitude})

参数 说明 数据类型

raster

通过 使用 CCDC 分析变化 工具或 使用 LandTrendr 分析变化 工具生成的输入变化分析栅格。

Raster

change_type

指定要从变化分析栅格中提取的变化的类型。

  • TIME_OF_LATEST_CHANGE—每个像素将包含时间序列中该像素的最新变化的日期。这是默认设置。

  • TIME_OF_EARLIEST_CHANGE—每个像素将包含时间序列中该像素的最早变化的日期。

  • TIME_OF_LARGEST_CHANGE—每个像素将包含时间序列中该像素的最显著变化的日期。

  • NUM_OF_CHANGES—每个像素都将包含时间序列中该像素发生变化的总次数。

  • TIME_OF_LONGEST_CHANGE—每个像素将包含时间序列中位于最长过渡段的起点或终点处的变化日期。

  • TIME_OF_SHORTEST_CHANGE—每个像素将包含时间序列中位于最短过渡段的起点或终点处的变化日期。

  • TIME_OF_FASTEST_CHANGE—每个像素将包含位于最快发生的过渡起点或终点的变化日期。

  • TIME_OF_SLOWEST_CHANGE—每个像素将包含位于最慢发生的过渡起点或终点的变化日期。

(默认值为 TIME_OF_LATEST_CHANGE)

String

max_number_of_changes

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

change_type 参数设置为 NUM_OF_CHANGES 时,此参数不可用。

(默认值为 1)

Integer

segment_date

指定是提取位于变化段的起点还是终点处的日期。

仅当输入变化分析栅格是来自 使用 LandTrendr 分析变化 工具的输出时,此参数才可用。

  • BEGINNING_OF_SEGMENT—提取位于变化段的起点的日期。这是默认设置。

  • END_OF_SEGMENT—提取位于变化段的终点的日期。

(默认值为 BEGINNING_OF_SEGMENT)

String

change_direction

指定要在分析中包含的变化方向。

仅当输入变化分析栅格是来自 使用 LandTrendr 分析变化 工具的输出时,此参数才可用。

  • ALL—所有变化方向都包含在输出中。这是默认设置。

  • INCREASE—输出中仅包含正向或递增方向的变化。

  • DECREASE—输出中仅包含负向或递减方向的变化。

(默认值为 ALL)

String

filter_by_year

指定是否按年范围过滤。

  • True - 过滤结果,以便仅在输出中包含在特定年份范围内发生的更改。

  • False - 不按年份过滤结果。这是默认设置。

(默认值为 False)

Boolean

min_year

用于过滤结果的最早年份。当将 filter_by_year 参数设置为 True 时,此参数为必需项。

(默认值为 1970)

Double

max_year

用于过滤结果的最近年份。当将 filter_by_year 参数设置为 True 时,此参数为必需项。

(默认值为 2020)

Double

filter_by_duration

指定是否按变化事件的持续时间进行过滤。

  • True - 按持续时间过滤结果,以便仅在输出中包含持续给定时间的更改。

  • False - 不按持续时间过滤结果。这是默认设置。

(默认值为 False)

Boolean

min_duration

要在包含结果中的最小连续年数。当将 filter_by_duration 参数设置为 True 时,此参数为必需项。

(默认值为 0)

Double

min_duration

要在包含结果中的最大连续年数。当将 filter_by_duration 参数设置为 True 时,此参数为必需项。

(默认值为 50)

Double

filter_by_magnitude

指定是否按变化量级进行过滤。

  • True - 按量级过滤结果,以便仅在输出中包含给定量级的变化。

  • False - 不按量级过滤结果。这是默认设置。

(默认值为 False)

Boolean

min_magnitude

要包含在结果中的最小变化量级。当将 filter_by_magnitude 参数设置为 True 时,此参数为必需项。

(默认值为 -50)

Double

max_magnitude

要包含在结果中的最大变化量级。当将 filter_by_magnitude 参数设置为 True 时,此参数为必需项。

(默认值为 50)

Double

返回值

数据类型 说明

Raster

包含检测变化信息的栅格对象。

代码示例

DetectChangeUsingChangeAnalysis 示例

从变化分析栅格中提取三个最大变化的变化日期。

import arcpy
from arcpy.ia import *

change_analysis_raster = arcpy.Raster('Landsat_CCDC.crf', True)

# Detect the dates of the three largest changes in pixel values over time
largest_change = arcpy.ia.DetectChangeUsingChangeAnalysis(
    change_analysis_raster, "TIME_OF_LARGEST_CHANGE", 3)