当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS detect_change_using_change_analysis_raster用法及代码示例


本文简要介绍 python 语言中 arcgis.raster.analytics.detect_change_using_change_analysis_raster 的用法。

用法:

arcgis.raster.analytics.detect_change_using_change_analysis_raster(input_change_analysis_raster=None, change_type='TIME_OF_LATEST_CHANGE', max_number_of_changes=1, output_name=None, context=None, segment_date='BEGINNING_OF_SEGMENT', change_direction='ALL', filter_by_year=False, min_year=None, max_year=None, filter_by_duration=False, min_duration=None, max_duration=None, filter_by_magnitude=False, min_magnitude=None, max_magnitude=None, filter_by_start_value=None, min_start_value=None, max_start_value=None, filter_by_end_value=None, min_end_value=None, max_end_value=None, *, gis=None, future=False, **kwargs)

返回:

影像图层项目

函数使用 analyze_changes_using_ccdc()analyze_changes_using_landtrendr() 函数的输出变化分析栅格生成包含像素变化信息的栅格。 ArcGIS 图像服务器 10.8.1 及更高版本中提供该函数。

Parameter

Description

input_change_analysis_raster

必需的 ImageryLayer 对象。可以传递从 analyze_changes_using_ccdc()analyze_changes_using_landtrendr() 门户项目生成的栅格。

change_type

可选字符串。指定要计算的更改信息。

  • TIME_OF_LATEST_CHANGE - 每个像素将包含时间序列中该像素最近更改的日期。这是默认设置。

  • TIME_OF_EARLIEST_CHANGE - 每个像素将包含时间序列中该像素最早更改的日期。

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

  • NUM_OF_CHANGES - 每个像素将包含像素在时间序列中更改的总次数。

  • TIME_OF_LONGEST_CHANGE - 每个像素将包含时间序列中最长过渡段末尾的更改日期。 ArcGIS Image Server 10.9 及更高版本中可用的选项。

  • TIME_OF_SHORTEST_CHANGE - 每个像素将包含时间序列中最短过渡段末尾的更改日期。 ArcGIS Image Server 10.9 及更高版本中可用的选项。

  • TIME_OF_FASTEST_CHANGE - 每个像素将包含在过渡结束时发生最快的更改日期。 ArcGIS Image Server 10.9 及更高版本中可用的选项。

  • TIME_OF_SLOWEST_CHANGE - 每个像素将包含发生最慢的过渡结束时的更改日期。 ArcGIS Image Server 10.9 及更高版本中可用的选项。

例子:

“TIME_OF_LATEST_CHANGE”

max_number_of_changes

可选整数。将计算的每个像素的最大更改数。此数字对应于输出栅格中的波段数。默认值为 1,表示仅计算一个更改日期,输出栅格仅包含一个波段。

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

例子:

3

output_name

可选的。如果未提供,则由该方法创建影像服务并将其用作输出栅格。您可以从 GIS 中传入现有的影像服务项目来使用它。或者,您可以传入应通过此方法创建的输出图像服务的名称,以用作工具的输出。如果该名称的服务已经存在,则会引发 RuntimeError

context

上下文包含影响任务执行的其他设置。

context 参数覆盖通过arcgis.env 参数设置的值

此函数具有以下设置:

  • Extent(范围):定义分析区域的边界框。

    例子:

    {“extent”: {“xmin”: -122.68, “ymin”: 45.53, “xmax”: -122.45, “ymax”: 45.6, “spatialReference”: {“wkid”: 4326}}}

  • 输出空间参考 (outSR):输出栅格将投影到输出空间参考中。

    例子:

    {“outSR”: {spatial reference}}

  • 捕捉栅格 (snapRaster):输出栅格的像元将与指定的捕捉栅格对齐。

    例子:

    {‘snapRaster’: {‘url’: ‘<image_service_url>’}}

  • 像元大小(cellSize):输出栅格将具有由像元大小指定的分辨率。

    例子:

    {‘cellSize’: 11} or {‘cellSize’: {‘url’: <image_service_url>}} or {‘cellSize’: ‘MaxOfIn’}

  • 并行处理因子(parallelProcessingFactor):控制光栅处理(CPU)服务实例。

    例子:

    具有指定数量的处理实例的语法示例:

    {“parallelProcessingFactor”: “2”}

    具有指定百分比的总处理实例的语法示例:

    {“parallelProcessingFactor”: “60%”}

segment_date

可选字符串。指定是在更改段的开头还是结尾提取日期。

仅当输入变化分析栅格是 analyze_changes_using_landtrendr() 函数的输出时,此参数才可用。

  • BEGINNING_OF_SEGMENT - 提取变更段开头的日期。这是默认设置。

  • END_OF_SEGMENT - 提取更改段末尾的日期。

例子:

“END_OF_SEGMENT”

ArcGIS Image Server 10.9 及更高版本中可用的参数。

change_direction

可选字符串。要包含在分析中的变化方向。例如,选择增加以仅提取变化为正方向或增加方向的期间的变化日期信息。

仅当输入变化分析栅格是 analyze_changes_using_landtrendr() 函数的输出时,此参数才可用。

  • ALL - 所有更改方向都将包含在输出中。这是默认设置。

  • INCREASE - 只有正向或增加方向的变化才会包含在输出中。

  • DECREASE - 只有负向或减小方向的变化才会包含在输出中。

例子:

“DECREASE”

ArcGIS Image Server 10.9 及更高版本中可用的参数。

filter_by_year

可选的布尔值。指定是否按年份范围过滤。

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

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

例子:

True

ArcGIS Image Server 10.9 及更高版本中可用的参数。

min_year

可选的整数。用于过滤结果的最早年份。如果 filter_by_year 参数设置为 True,则需要此参数。

例子:

2000

ArcGIS Image Server 10.9 及更高版本中可用的参数。

max_year

可选的整数。用于过滤结果的最新年份。如果 filter_by_year 参数设置为 True,则需要此参数。

例子:

2005

ArcGIS Image Server 10.9 及更高版本中可用的参数。

filter_by_duration

可选布尔值。指定是否按更改持续时间进行过滤。仅当输入变化分析栅格是 analyze_changes_using_landtrendr() 函数的输出时,此参数才可用。

  • True - 按持续时间过滤结果,以便只有持续了给定时间量的更改才会包含在输出中。

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

例子:

True

ArcGIS Image Server 10.9 及更高版本中可用的参数。

min_duration

可选浮点数。包含在结果中的最小连续年数。如果 filter_by_duration 参数设置为 True,则需要此参数

例子:

2

ArcGIS Image Server 10.9 及更高版本中可用的参数。

max_duration

可选浮点数。包含在结果中的最大连续年数。如果 filter_by_duration 参数设置为 True,则需要此参数

例子:

4

ArcGIS Image Server 10.9 及更高版本中可用的参数。

filter_by_magnitude

可选的布尔值。指定是否按变化幅度过滤。

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

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

例子:

True

ArcGIS Image Server 10.9 及更高版本中可用的参数。

min_magnitude

可选浮点数。包含在结果中的最小幅度。如果 filter_by_magnitude 参数设置为 True,则需要此参数。

例子:

0.25

ArcGIS Image Server 10.9 及更高版本中可用的参数。

max_magnitude

可选浮点数。包含在结果中的最大幅度。如果 filter_by_magnitude 参数设置为 True,则需要此参数。

例子:

3

ArcGIS Image Server 10.9 及更高版本中可用的参数。

filter_by_start_value

可选布尔值。指定是否按起始值过滤。仅当输入变化分析栅格是 analyze_changes_using_landtrendr() 函数的输出时,此参数才可用。

  • True - 按起始值过滤结果,以便仅以范围定义的值开头的更改。

  • False - 不按起始值过滤。这是默认设置。

例子:

True

ArcGIS Image Server 10.9 及更高版本中可用的参数。

min_start_value

可选浮点数。定义起始值范围的最小值。如果 filter_by_start_value 参数设置为 True,则此参数是必需的。

例子:

0.75

ArcGIS Image Server 10.9 及更高版本中可用的参数。

max_start_value

可选浮点数。定义起始值范围的最大值。如果 filter_by_start_value 参数设置为 True,则此参数是必需的。

例子:

0.9

ArcGIS Image Server 10.9 及更高版本中可用的参数。

filter_by_end_value

可选布尔值。指定是否按最终值过滤。仅当输入变化分析栅格是 analyze_changes_using_landtrendr() 函数的输出时,此参数才可用。

  • True - 按结束值过滤结果,以便仅以范围定义的值结束的更改。

  • False - 不按最终值过滤结果。这是默认设置。

例子:

True

ArcGIS Image Server 10.9 及更高版本中可用的参数。

min_end_value

可选浮点数。定义结束值范围的最小值。如果 filter_by_end_value 参数设置为 True,则此参数是必需的。

例子:

-0.12

ArcGIS Image Server 10.9 及更高版本中可用的参数。

max_end_value

可选浮点数。定义结束值范围的最大值。如果 filter_by_end_value 参数设置为 True,则此参数是必需的。

例子:

0.35

ArcGIS Image Server 10.9 及更高版本中可用的参数。

gis

可选的 GIS 对象。如果未指定,则使用当前活动的连接。

future

仅关键字参数。可选的布尔值。如果为 True,则结果将是一个 GPJob 对象,并且结果将异步返回。

folder

仅关键字参数。可选的 str 或 dict。使用给定的文件夹名称在门户中创建一个文件夹(如果不存在),并将输出保留在此文件夹中。 gis.content.create_folder 返回的字典也可以作为输入传入。

例子:

{‘username’: ‘user1’,
‘id’: ‘6a3b77c187514ef7873ba73338cf1af8’,
‘title’: ‘trial’}

tiles_only

仅关键字参数。可选的布尔值。在ArcGIS Online 中,此函数的默认输出影像服务将是平铺影像图层。

要在 ArcGIS Online 上创建动态影像图层作为输出,请将 tiles_only 参数设置为 False。

函数将不支持ArcGIS Enterprise 中的tiles_only 参数,默认情况下会生成动态影像图层。

示例 1:

# Usage Example 1: This example returns the most recent date at which pixels changed in the input time series.

detect_change_op = detect_change_using_change_analysis_raster(input_change_analysis_raster=input_change_analysis_raster,
                                                              change_type="TIME_OF_LATEST_CHANGE",
                                                              max_number_of_changes=1,
                                                              gis=gis)

示例 2:

# Usage Example 2: This example returns the total number of times the pixels changed in the input time series.

detect_change_op = detect_change_using_change_analysis_raster(input_change_analysis_raster=input_change_analysis_raster,
                                                              change_type="NUM_OF_CHANGES",
                                                              gis=gis)

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.raster.analytics.detect_change_using_change_analysis_raster。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。