获得 Image Analyst 许可后可用。
摘要
通过基于维度间隔和聚合方法组合输入多维栅格中的剖切来创建栅格对象。
说明
使用 Aggregate 函数可根据给定变量聚合多维栅格中的变量值。 例如,如果您拥有每日降水量数据,则可以确定月平均降水量值。
此函数可创建一个栅格对象,该栅格对象为输入多维栅格的聚合。 默认情况下,系统将计算与给定维度关联的所有变量的聚合。 例如,如果降水量、温度和风速都具有时间维度,在将 dimension_name 设置为时间维度的情况下,系统将分别聚合所有三个变量。 如果您只想聚合一个变量,请使用 Subset 函数,然后使用 Aggregate。
栅格对象所引用的栅格数据集是临时性的。 要使其变为永久性数据集,请调用栅格对象的 save 方法。
语法
Aggregate (in_raster, dimension_name, raster_function, {raster_function_arguments}, {aggregation_definition}, {dimensionless})
参数 | 说明 | 数据类型 |
in_raster | The input multidimensional raster to be aggregated. | Raster |
dimension_name | The aggregation dimension. This is the dimension along which the variables will be aggregated. | String |
raster_function | The name of a raster function as a string or the path to a custom raster function (.rft.xml file) that will be used to compute the aggregated pixel values. The following are the supported raster functions as strings:
| String |
raster_function_arguments | The parameters and values associated with the raster function or function chain. If not specified, default values will be used. (默认值为 None) | Dictionary |
aggregation_definition | The dimension interval for which the data will be aggregated. The key-value pairs must follow one of the following formats:
If not specified, all slices across the dimension will be aggregated. (默认值为 None) | Dictionary |
dimensionless | Specifies whether the output will be a dimensionless raster. This is only possible when the output has a single slice.
(默认值为 False) | Boolean |
数据类型 | 说明 |
Raster | 输出聚合多维栅格。 |
代码示例
通过计算总体平均值、月平均值、10 天中的最小值以及 2 个范围中的最大值来聚合降水量数据。
import arcpy
from arcpy.ia import *
arcpy.CheckOutExtension("ImageAnalyst")
in_raster = Raster('ClimateData_Daily.nc', True)
# Choose the precipitation variable
prcp_raster = Subset(in_raster, variables = 'prcp')
# Calculate the average precipitation across the whole time period
avg_prcp = Aggregate(prcp_raster, 'StdTime', 'Mean')
# Calculate the monthly mean precipitation
monthly_avg_prcp = Aggregate(prcp_raster, 'StdTime',
'Mean', {'interval': 'monthly'})
# Calculate the minimum precipitation every 10 days
min_precip_10day = Aggregate(prcp_raster, 'StdTime', 'Min',
{'interval_value' : 10, 'interval_unit': 'day'})
# Calculate the maximum precipitation in two separate time ranges
max_prcp_range = Aggregate(prcp_raster, 'StdTime', 'Max',
{'interval_ranges': [('2001-01-01T00:00:00', '2001-02-01T00:00:00'),
('2001-12-01T00:00:00', '2001-12-24T00:00:00')]})