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


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)

参数:

  • 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”:”<最小值>”,”maxValue”:”<最大值>”}, {“minValue”:”<最小值>”,”maxValue”:”<最大值>”}]
    例子:
    [{“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”:{空间参考}}
    • 捕捉栅格 (snapRaster):输出栅格的像元将与指定的捕捉栅格对齐。
      例子:
      {‘snapRaster’:{‘url’:‘<image_service_url>’}}
    • 像元大小(cellSize):输出栅格将具有由像元大小指定的分辨率。
      例子:
      {'cellSize': 11} 或 {'cellSize': {‘url’: <image_service_url>}} 或 {'cellSize': 'MaxOfIn'}
    • 并行处理因子(parallelProcessingFactor):控制光栅处理(CPU)服务实例。
      例子:
      具有指定数量的处理实例的语法示例: {“parallelProcessingFactor”:“2”} 具有指定百分比的总处理实例的语法示例: {“parallelProcessingFactor”:“60%”}
  • gis: 仅关键字参数。可选的地理信息系统。运行此工具的 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 参数,默认情况下会生成动态影像图层。

返回:

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

output_raster:影像图层项目

示例 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。