聚合多维栅格 (Spatial Analyst)

获得 Image Analyst 许可后可用。

需要 Spatial Analyst 许可。

描述

通过沿维度组合现有多维栅格变量来生成多维栅格数据集。

使用方法

  • 使用聚合定义参数可按关键字、值或值范围选择间隔。例如,如果您具有每 5 米深度(高达 100 米)每日采集的 30 年海面温度数据,则可以针对以下场景使用不同的间隔选项:

    • 将每日温度数据聚合为月度数据,其结果将是包含 12 个时间片的多维栅格,且每个时间片都将是所有年份中每个月份的聚合。选择间隔关键字并将关键字设置为每月循环
    • 将每日温度数据聚合为月度数据,其结果将是包含 360 个时间片或每年 12 个时间片(30 年 x 12 个月 = 360 个时间片)的多维栅格。选择间隔关键字并将关键字设置为每月
    • 将月度温度数据聚合到 4 个月间隔中。选择间隔值,将值间隔设置为 4,并将单位设置为
    • 依次聚合介于 0 到 25 米之间、25 到 50 米、50 到 100 米之间的温度数据。选择间隔范围,然后将最小深度和最大深度指定为 0 25; 25 50; 50 100
  • 受支持的多维栅格数据集包括云栅格格式 (CRF)、多维镶嵌数据集或者由 netCDF、GRIB 或 HDF 文件生成的多维栅格图层。

  • 此工具可生成采用云栅格格式 (CRF) 的多维栅格数据集。目前尚不支持其他输出格式。

  • 默认情况下,将使用 LZ77 压缩类型压缩多维栅格输出。但是,建议您将压缩类型更改为 LERC,并根据您的数据调整最大误差。例如,如果您希望将分析结果精确到三位小数,则请将最大误差值设置为 0.001。最好避免不必要的精度要求,因为这会导致处理时间和存储大小增加。

    要更改压缩类型,请修改环境设置

语法

AggregateMultidimensionalRaster(in_multidimensional_raster, dimension, {aggregation_method}, {variables}, {aggregation_def}, {interval_keyword}, {interval_value}, {interval_unit}, {interval_ranges}, {aggregation_function}, {ignore_nodata})
参数说明数据类型
in_multidimensional_raster

输入多维栅格数据集。

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
dimension

聚合维度。这是聚合变量时所沿的维度。

String
aggregation_method
(可选)

指定将用于组合间隔中的已聚合时间片的数学方法。

  • MEAN将计算间隔中所有时间片的像素值的平均值。这是默认设置。
  • MAXIMUM将计算间隔中所有时间片的像素的最大值。
  • MAJORITY将计算间隔中所有时间片最常出现的像素值。
  • MINIMUM将计算间隔中所有时间片的像素的最小值。
  • MINORITY将计算间隔中所有时间片最不常出现的像素值。
  • MEDIAN将计算间隔中所有时间片的像素的中值。
  • RANGE计算间隔中所有时间片的像素值范围。
  • STD将计算间隔中所有时间片的像素值的标准差。
  • SUM将计算间隔中所有时间片的像素值总和。
  • VARIETY将计算间隔中所有时间片的唯一像素值的数量。
  • CUSTOM将基于自定义栅格函数来计算像素值。

aggregation_method 设置为 CUSTOM 时,aggregation_function 参数变为可用。

String
variables
[variables,...]
(可选)

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

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

String
aggregation_def
(可选)

指定要为其聚合数据的维度间隔。

  • ALL将聚合所有时间片的数据值。这是默认设置。
  • INTERVAL_KEYWORD变量数据将使用常用间隔进行聚合。
  • INTERVAL_VALUE变量数据将使用用户指定的间隔和单位进行聚合。
  • INTERVAL_RANGES变量数据将在指定的值对或日期之间进行聚合。
String
interval_keyword
(可选)

指定沿维度聚合时将使用的关键字间隔。当 aggregation_def 参数设置为 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 个季度时间片。
String
interval_value
(可选)

将用于聚合的间隔大小。当将 aggregation_def 参数设置为 INTERVAL_VALUE 时,此参数为必需项。

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

Double
interval_unit
(可选)

将用于 interval_value 参数的单位。当 dimension 参数设置为时间字段并且 aggregation_def 参数设置为 INTERVAL_VALUE 时,此参数为必需项。

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

  • HOURS数据值将按提供的间隔聚合到每小时时间片。
  • DAYS数据值将按提供的间隔聚合到每日时间片。
  • WEEKS数据值将按提供的间隔聚合到每周时间片。
  • MONTHS数据值将按提供的间隔聚合到每月时间片。
  • YEARS数据值将按提供的间隔聚合到每年时间片。
String
interval_ranges
[interval_ranges,...]
(可选)

在值表中指定的间隔范围将用于聚合值组。值表由最小和最大范围值对组成,数据类型为双精度或日期。

当将 aggregation_def 参数设置为 INTERVAL_RANGE 时,此参数为必需项。

Value Table
aggregation_function
(可选)

将用于计算聚合栅格的像素值的自定义栅格函数。输入是栅格函数 JSON 对象或基于函数链或自定义 Python 栅格函数创建的 .rft.xml 文件。

当将 aggregation_method 参数设置为 CUSTOM 时,此参数为必需项。

File; String
ignore_nodata
(可选)

指定分析中是否忽略 NoData 值。

  • DATA 分析将包括沿给定维度的所有有效像素,并忽略所有 NoData 像素。这是默认设置。
  • NODATA如果沿给定维度的像素包含任意 NoData 值,则分析结果将变为 NoData。
Boolean

返回值

名称说明数据类型
out_multidimensional_raster

输出云栅格格式 (CRF) 多维栅格数据集。

Raster

代码示例

AggregateMultidimensionalRaster 示例 1(Python 窗口)

此示例用于将温度数据聚合到包含平均温度值的年度数据。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
arcpy.CheckOutExtension("Spatial")
outAggMultidim = AggregateMultidimensionalRaster("C:/sapyexamples/data/climateData.crf", 
	"StdTime", "MEAN", "temperature", "INTERVAL_KEYWORD", "YEARLY", 
	"", "", "", "", "DATA")
outAggMultidim.save("C:/sapyexamples/output/YearlyTemp.crf")
AggregateMultidimensionalRaster 示例 2(独立脚本)

此示例用于将日降水量和温度数据聚合到包含最高降水量和温度值的月度数据。

# Name: AggregateMultidimensionalRaster_Ex_02.py
# Description: Aggregates daily precipitation and temperature data into
#           monthly data with the maximum precipitation and temperature values
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

""""
Usage: out_multidimensional_raster = AggregateMultidimensionalRaster(in_multidimensional_raster, dimension,
                                    {aggregation_method}, {variables}, 
                                    {aggregation_def}, {interval_keyword}, {ignore_nodata})
"""

# Define input parameters
inputFile = "C:/sapyexamples/data/dailyclimateData.crf"
dimensionName = "StdTime"
aggregationMethod = "Maximum"
variables = "temperature;precipitation"
aggregationDefinition = "INTERVAL_KEYWORD"
keyword = "MONTHLY"
ignore_nodata = "DATA"

# Execute AggregateMultidimensionalRaster
outAggMultidim = AggregateMultidimensionalRaster(inputFile, dimensionName,
	aggregationMethod, variables, aggregationDefinition, keyword, "", "", "", "",
	ignore_nodata)

# Save the output
outAggMultidim.save("C:/sapyexamples/output/monthlymaxtemp.crf")

许可信息

  • Basic: 需要 Spatial Analyst 或 Image Analyst
  • Standard: 需要 Spatial Analyst 或 Image Analyst
  • Advanced: 需要 Spatial Analyst 或 Image Analyst

相关主题