获得 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 (可选) | 指定将用于组合间隔中的已聚合时间片的数学方法。
当 aggregation_method 设置为 CUSTOM 时,aggregation_function 参数变为可用。 | String |
variables [variables,...] (可选) | 将沿给定维度聚合的一个或多个变量。如果未指定变量,则将使用所选维度聚合所有变量。 例如,要将每日温度数据聚合到月平均值,请将温度指定为要聚合的变量。如果您没有指定任何变量,并且您同时拥有每日温度和日降雨量变量,则这两个变量将聚合到月平均值,并且输出多维栅格将包含两个变量。 | String |
aggregation_def (可选) | 指定要为其聚合数据的维度间隔。
| String |
interval_keyword (可选) | 指定沿维度聚合时将使用的关键字间隔。当 aggregation_def 参数设置为 INTERVAL_KEYWORD 并且聚合必须跨时间时,此参数为必需项。
| 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 时,此参数为必需项。 如果要聚合除时间之外的任何内容,则此选项将不可用,并且间隔值的单位将与输入多维栅格数据的变量单位一致。
| 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 值。
| Boolean |
返回值
名称 | 说明 | 数据类型 |
out_multidimensional_raster | 输出云栅格格式 (CRF) 多维栅格数据集。 | Raster |
代码示例
此示例用于将温度数据聚合到包含平均温度值的年度数据。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
aggMultidim = arcpy.ia.AggregateMultidimensionalRaster("climateData.crf",
"StdTime", "MEAN", "temperature", "INTERVAL_KEYWORD", "YEARLY",
None, "", None, "", "DATA")
aggMultidim.save("C:/data/YearlyTemp.crf")
此示例用于将日降水量和温度数据聚合到包含最高降水量和温度值的月度数据。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
inputFile = "C:/data/dailyclimateData.crf"
dimensionName = "StdTime"
aggregationMethod = "MAXIMUM"
variables = "temperature;precipitation"
aggregationDefinition = "INTERVAL_KEYWORD"
keyword = "MONTHLY"
ignore_nodata = "DATA"
# Execute
aggMultidim = arcpy.ia.AggregateMultidimensionalRaster(inFile, dimensionName,
variables, aggregationMethod, aggregation_def, keyword, None, "", None, "",
ignore_nodata)
# Save output
aggMultidim.save("C:/data/monthlymaxtemp.crf")
许可信息
- Basic: 需要 Image Analyst 或 Spatial Analyst
- Standard: 需要 Image Analyst 或 Spatial Analyst
- Advanced: 需要 Image Analyst 或 Spatial Analyst