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


Python ArcGIS aggregate_multidimensional_raster用法及代码示例


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

用法:

arcgis.raster.analytics.aggregate_multidimensional_raster(input_multidimensional_raster, dimension=None, variables=None, aggregation_method='MEAN', aggregation_definition='ALL', interval_keyword=None, interval_value=None, interval_unit=None, interval_ranges=None, aggregation_function=None, ignore_nodata=True, output_name=None, context=None, dimensionless=False, percentile_value=90, percentile_interpolation_type='NEAREST', *, gis=None, future=False, **kwargs)

返回:

output_raster:影像图层项目

通过沿维度聚合现有多维栅格变量来生成多维影像服务。 ArcGIS Image Server 10.8 及更高版本中可用的函数。

Parameter

Description

input_multidimensional_raster

必需的 ImageryLayer 对象。输入多维栅格。传送门物品可以通过。

dimension

必需的字符串。聚合维度。这是聚合变量的维度。

variables

可选列表。将沿给定维度聚合的一个或多个变量。如果未指定变量,则将聚合具有所选维度的所有变量。

例如,要将每日温度数据聚合为每月平均值,请将温度指定为要聚合的变量。如果您未指定任何变量并且同时具有每日温度和每日降水量变量,则这两个变量将聚合为月平均值,并且输出多维栅格将包含这两个变量。

aggregation_method

可选字符串。指定将用于在间隔中组合聚合切片的数学方法。

  • MEAN:计算区间内所有切片的像素值的平均值。这是默认设置。

  • MAXIMUM:计算区间内所有切片的像素最大值。

  • MAJORITY:计算间隔内所有切片中像素出现频率最高的值。

  • MINIMUM:计算区间内所有切片的像素最小值。

  • MINORITY:计算间隔内所有切片中像素出现频率最低的值。

  • MEDIAN:计算区间内所有切片的像素中值。

  • PERCENTILE:像素值的百分位数将在间隔中的所有切片上计算。默认情况下计算第 90 个百分位数。您可以使用 percentile_value 参数指定其他值(从 0 到 100)。

  • RANGE:计算区间内所有切片的像素值范围。

  • STD:计算区间内所有切片的像素值的标准差。

  • SUM:计算区间内所有切片的像素值之和。

  • VARIETY:计算区间内所有切片中像素唯一值的数量。

  • CUSTOM:根据自定义栅格函数计算像素值。当 aggregation_method 设置为 CUSTOM 时,aggregation_function 参数变为可用。

aggregation_definition

可选字符串。指定将聚合数据的维度间隔。

  • ALL:数据值将在所有切片中聚合。这是默认设置。

  • INTERVAL_KEYWORD:变量数据将使用众所周知的间隔进行聚合。

  • INTERVAL_VALUE:变量数据将使用用户指定的间隔和单位进行聚合。

  • INTERVAL_RANGES:变量数据将在指定的值或日期对之间聚合。

interval_keyword

可选字符串。指定沿维度聚合时将使用的关键字间隔。当aggregation_definition参数设置为INTERVAL_KEYWORD时需要该参数,并且聚合必须是跨时间的。

  • HOURLY:数据值将聚合到每小时的时间步长中,结果将包括时间序列中的每小时。

  • DAILY:将数据值聚合为每日时间步长,结果将包括时间序列中的每一天。

  • WEEKLY:数据值将聚合为每周时间步长,结果将包括时间序列中的每周。

  • DEKADLY:将每个月分为 3 个时段,每个时段 10 天(最后一个时段可能多于或少于 10 天),每个月将输出 3 个切片。

  • PENTADLY:将每个月分为 6 个时段,每个时段 5 天(最后一个时段可能多于或少于 5 天),每个月将输出 6 个切片。

  • MONTHLY:数据值将聚合到每月时间步长中,结果将包括时间序列中的每个月。

  • QUARTERLY:数据值将聚合为季度时间步长,结果将包括时间序列中的每个季度。

  • YEARLY:数据值将聚合到每年的时间步长中,结果将包括时间序列中的每一年。

  • RECURRING_DAILY:将数据值聚合成每日时间步长,结果包括每天每个聚合值。输出最多包括 366 个每日时间片

  • RECURRING_WEEKLY:数据值将聚合到每周的时间步长中,结果将包括每周一个聚合值。输出将最多包括 53 个每周时间片。

  • RECURRING_MONTHLY:数据值将被聚合到每周的时间步长中,结果将包括每个月的一个聚合值。输出将包括最多 12 个每月时间片。

  • RECURRING_QUARTERLY:数据值将聚合到每周的时间步长中,结果将包括每季度一个聚合值。输出最多包括 4 个季度时间片。

interval_value

可选字符串。将用于聚合的间隔大小。当aggregation_definition 参数设置为INTERVAL_VALUE 时需要此参数。

例如,要将 30 年的每月温度数据汇总为 5 年增量,请输入 5 作为 interval_value,并将 interval_unit 指定为 YEARS。

interval_unit

可选整数。将用于间隔值的单位。当维度参数设置为时间字段且aggregation_definition参数设置为INTERVAL_VALUE时,需要此参数。

如果您要聚合除时间以外的任何内容,则此选项将不可用,并且间隔值的单位将与输入多维栅格数据的可变单位相匹配。

  • HOURS:数据值将按提供的间隔聚合到每小时的时间片中。

  • DAYS:数据值将按提供的间隔聚合到每日时间片中。

  • WEEKS:数据值将按提供的间隔聚合到每周时间片中。

  • MONTHS:数据值将按提供的时间间隔聚合到每月时间片中。

  • 年:数据值将按提供的时间间隔聚合到年度时间片中。

interval_ranges

字典对象的可选列表。指定为将用于聚合值组的字典对象列表的间隔范围。

当aggregation_definition参数设置为INTERVAL_RANGE时,需要此参数。如果维度为 StdTime,则必须以人类可读的时间格式 (YYYY-MM-DDTHH:MM:SS) 指定该值。

用法:

[{“minValue”:”<min value>”,”maxValue”:”<max value>”}, {“minValue”:”<min value>”,”maxValue”:”<max value>”}]

例子:

[{“minValue”:”2012-01-15T03:00:00”,”maxValue”:”2012-01-15T09:00:00”}, {“minValue”:”2012-01-15T12:00:00”,”maxValue”:”2012-01-15T21:00:00”}]

aggregation_function

来自门户的可选 RFT dict 对象或光栅函数模板项目。用于计算聚合栅格的像素值的自定义栅格函数。

当aggregation_method 参数设置为 CUSTOM 时,此参数是必需的。

ignore_nodata

可选布尔值。指定在分析中是否忽略 NoData 值。

  • True:分析将包括沿给定维度的所有有效像素,并忽略任何 NoData 像素。这是默认设置。

  • 错误:如果沿给定维度的像素有任何 NoData 值,则分析将导致 NoData。

dimensionless

可选布尔值。指定图层是否具有尺寸值。如果选择单个切片以创建图层,则此参数仅处于活动状态。

  • True:图层将没有维度值。

  • False:图层将具有维度值。这是默认设置。

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

percentile_value

可选浮点数。要计算的百分位数。默认值为 90,表示第 90 个百分位数。

值的范围可以从 0 到 100。第 0 个百分位数本质上相当于最小统计量,第 100 个百分位数相当于最大值。值 50 将产生与中位数统计量基本相同的结果。

仅当aggregation_method 参数设置为 PERCENTILE 时,此选项才有效。

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

例子:

90

percentile_interpolation_type

可选字符串。指定当输入栅格中有偶数个要计算的值时将使用的百分位插值方法

  • NEAREST:将使用最接近所需百分位数的可用值。在这种情况下,输出像素类型将与输入值栅格的像素类型相同。这是默认设置

  • LINEAR :将使用来自所需百分位数的两个周围值的加权平均值。在这种情况下,输出像素类型将是浮点数。

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

例子:

NEAREST

output_name

可选字符串。如果未提供,则由该方法创建影像服务并将其用作输出栅格。您可以从 GIS 中传入现有的影像服务项目来使用它。

或者,您可以传入应通过此方法创建的输出图像服务的名称,以用作工具的输出。

如果该名称的服务已经存在,则会引发 RuntimeError

context

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%”}

gis

仅关键字参数。可选的 GIS 对象。运行该工具的 GIS。如果未指定,则使用活动 GIS。

future

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

folder

仅关键字参数。可选的 str 或 dict。使用给定的文件夹名称在门户中创建一个文件夹(如果不存在),并将输出保留在此文件夹中。 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 aggregates temperature data into yearly data with the average temperature values.

agg_multi_dim = aggregate_multidimensional_raster(input_multidimensional_raster=multidimensional_lyr_input,
                                                  variables=["temperature"],
                                                  dimension="StdTime",
                                                  aggregation_method="MAXIMUM",
                                                  aggregation_definition="INTERVAL_KEYWORD",
                                                  interval_keyword="YEARLY",
                                                  interval_value=None,
                                                  output_name="yearly_temp",
                                                  ignore_nodata=True,
                                                  gis=gis,
                                                  folder="aggregate_mdim_raster")

示例 2:

# Usage Example 2: This example aggregates temperature data into hourly data with the average temperature values for multiple variables.

agg_multi_dim = aggregate_multidimensional_raster(input_multidimensional_raster=multidimensional_lyr_input,
                                                  variables=["cceiling","ccover","gust","temperature"],
                                                  dimension="StdTime",
                                                  aggregation_method="MEAN",
                                                  aggregation_definition="INTERVAL_VALUE",
                                                  interval_value=3,
                                                  interval_unit="HOURS",
                                                  output_name="hourly_data",
                                                  ignore_nodata=True,
                                                  gis=gis,
                                                  folder={'username': 'user1', 'id': '6a3b77c187514ef7873ba73338cf1af8', 'title': 'aggregate_mdim_raster'})

示例 3:

# Usage Example 3: This example aggregates temperature data using a custom aggregation function for multiple variables. This example uses aggregation function
# uploaded as a Raster Function Template item on portal.

agg_multi_dim = aggregate_multidimensional_raster(input_multidimensional_raster=multidimensional_lyr_input,
                                                  variables=["temperature"],
                                                  dimension="StdTime",
                                                  aggregation_method="CUSTOM",
                                                  aggregation_definition="INTERVAL_RANGES",
                                                  interval_ranges=[{"minValue":"2012-01-15T03:00:00","maxValue":"2012-01-15T09:00:00"},{"minValue":"2012-01-15T12:00:00","maxValue":"2012-01-15T21:00:00"}],
                                                  aggregation_function=rft_item,
                                                  output_name="temp_range4",
                                                  ignore_nodata=True,
                                                  gis=gis)

相关用法


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