获得 Image Analyst 许可后可用。
语法
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) | String |
max_number_of_changes | 要计算的每个像素的最大变化次数。该数字与输出栅格中的波段数相对应。默认值为 1,表示将仅计算一个变化日期,且输出栅格将仅包含一个波段。 当 change_type 参数设置为 NUM_OF_CHANGES 时,此参数不可用。 (默认值为 1) | Integer |
segment_date | 指定是提取位于变化段的起点还是终点处的日期。 仅当输入变化分析栅格是来自使用 LandTrendr 分析变化工具的输出时,此参数才可用。
(默认值为 BEGINNING_OF_SEGMENT) | String |
change_direction | 指定要在分析中包含的变化方向。 仅当输入变化分析栅格是来自使用 LandTrendr 分析变化工具的输出时,此参数才可用。
(默认值为 ALL) | String |
filter_by_year | 指定是否按年范围过滤。
(默认值为 False) | Boolean |
min_year | 用于过滤结果的最早年份。当将 filter_by_year 参数设置为 True 时,此参数为必需项。 (默认值为 1970) | Double |
max_year | 用于过滤结果的最近年份。当将 filter_by_year 参数设置为 True 时,此参数为必需项。 (默认值为 2020) | Double |
filter_by_duration | 指定是否按变化事件的持续时间进行过滤。
(默认值为 False) | Boolean |
min_duration | 要在包含结果中的最小连续年数。当将 filter_by_duration 参数设置为 True 时,此参数为必需项。 (默认值为 0) | Double |
min_duration | 要在包含结果中的最大连续年数。当将 filter_by_duration 参数设置为 True 时,此参数为必需项。 (默认值为 50) | Double |
filter_by_magnitude | 指定是否按变化量级进行过滤。
(默认值为 False) | Boolean |
min_magnitude | 要包含在结果中的最小变化量级。当将 filter_by_magnitude 参数设置为 True 时,此参数为必需项。 (默认值为 -50) | Double |
max_magnitude | 要包含在结果中的最大变化量级。当将 filter_by_magnitude 参数设置为 True 时,此参数为必需项。 (默认值为 50) | Double |
数据类型 | 说明 |
Raster | 包含检测变化信息的栅格对象。 |
代码示例
从变化分析栅格中提取三个最大变化的变化日期。
import arcpy
from arcpy.ia import *
arcpy.CheckOutExtension("ImageAnalyst")
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)