聚合多维栅格 (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。 避免不必要的精度要求,因为它们将增加处理时间和存储大小。

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

参数

标注说明数据类型
输入多维栅格

输入多维栅格数据集。

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
维度

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

String
聚合方法
(可选)

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

当方法设置为自定义时,聚合函数参数变为活动状态。

  • 平均值将计算间隔中所有时间片的像素值的平均值。 这是默认设置。
  • 最大值将计算间隔中所有时间片的像素的最大值。
  • 众数将计算间隔中所有时间片最常出现的像素值。
  • 最小值将计算间隔中所有时间片的像素的最小值。
  • 少数将计算间隔中所有时间片最不常出现的像素值。
  • 中值将计算间隔中所有时间片的像素的中值。
  • 百分比数计算间隔中所有时间片的像素值百分比数。 默认情况下将计算 90% 百分比数。 您可以使用百分数值参数来指定其他值(从 0 到 100)。
  • 范围计算间隔中所有时间片的像素值范围。
  • 标准差将计算间隔中所有时间片的像素值的标准差。
  • 总和将计算间隔中所有时间片的像素值总和。
  • 变异度将计算间隔中所有时间片的唯一像素值的数量。
  • 自定义将基于自定义栅格函数来计算像素值。
String
变量 [维度信息](描述)
(可选)

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

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

String
聚合定义
(可选)

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

  • 全部将聚合所有剖切的数据值。 这是默认设置。
  • 间隔关键字变量数据将使用常用间隔进行聚合。
  • 间隔值变量数据将使用用户指定的间隔和单位进行聚合。
  • 间隔范围变量数据将在指定的值对或日期之间进行聚合。
String
关键字间隔
(可选)

指定沿维度聚合时将使用的关键字间隔。 当聚合定义参数设置为间隔关键字并且聚合必须跨时间时,此参数为必需项。

  • 每小时数据值将聚合为每小时时间步长,且结果将包括时间序列中的每个小时。
  • 每天数据值将聚合为每日时间步长,且结果将包括时间序列中的每一天。
  • 每周数据值将聚合为每周时间步长,且结果将包括时间序列中的每周。
  • 每十年数据值将聚合为 3 个周期,每个周期为 10 天。 最后一个周期所包含的天数可以多于或少于 10 天。 每个月的输出中将包括 3 个时间片。
  • 每五年数据值将聚合为 6 个周期,每个周期为 5 天。 最后一个周期所包含的天数可以多于或少于 5 天。 对于每个月,输出中将包括 6 个时间片。
  • 每月数据值将聚合为每月时间步长,且结果将包括时间序列中的每个月。
  • 季度数据值将聚合为季度时间步长,且结果将包括时间序列中的每个季度。
  • 每年数据值将聚合为年度时间步长,且结果将包括时间序列中的每年。
  • 每天循环数据值将聚合为每日时间步长,且结果将包括每个儒略日的一个聚合值。 输出中最多包括 366 个每日时间片。
  • 每周循环数据值将聚合为每周时间步长,且结果将包括每周的一个聚合值。 输出中最多包括 53 个每周时间片。
  • 每月循环数据值将聚合为每月时间步长,且结果将包括每月的一个聚合值。 输出中最多包括 12 个每月时间片。
  • 每季度循环数据值将聚合为季度时间步长,且结果将包括每季度的一个聚合值。 输出中最多包括 4 个季度时间片。
String
值间隔
(可选)

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

例如,要将 30 年的每月温度数据聚合到 5 年增量,请输入 5 作为值间隔,并将单位指定为

Double
单位
(可选)

将用于值间隔参数的单位。 当维度参数为时间字段并且聚合定义参数设置为间隔值时,此参数为必需项。

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

  • 小时数据值将按提供的间隔聚合到每小时时间片。
  • 数据值将按提供的间隔聚合到每日时间片。
  • 数据值将按提供的间隔聚合到每周时间片。
  • 数据值将按提供的间隔聚合到每月时间片。
  • 数据值将按提供的间隔聚合到每年时间片。
String
范围
(可选)

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

聚合定义参数设置为间隔范围时,此参数为必需项。

Value Table
聚合函数
(可选)

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

聚合方法参数设置为自定义时,此参数为必需项。

File; String
忽略 NoData
(可选)

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

  • 选中 - 分析将包括沿给定维度的所有有效像素,并忽略 NoData 像素。 这是默认设置。
  • 未选中 - 如果沿给定维度的像素包含 NoData 值,则分析结果将变为 NoData。
Boolean
无维度
(可选)

指定图层是否具有维度值。 仅当选择单个剖切片来创建图层时,此参数才处于活动状态。

  • 选中 - 图层没有维度值。
  • 未选中 - 图层具有维度值。 这是默认设置。

Boolean
百分比值
(可选)

将计算的百分位数。 默认值为 90,指示 90%。

取值范围为 0 到 100。 0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”。 值 50 所生成的结果基本等同于“中值”统计数据的结果。

仅当统计类型参数设置为百分位数时,此参数才可用。

Double
百分位数插值类型
(可选)

指定输入栅格中要计算的值数为偶数时使用的百分位数插值方法。

  • 最邻近将使用最接近所需的百分位数的可用值。 在这种情况下,输出像素类型与输入值栅格的像素类型相同。
  • 线性将使用接近所需百分位数的两个值的加权平均值。 在这种情况下,输出像素类型为浮点型。
String

返回值

标注说明数据类型
输出多维栅格

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

Raster

AggregateMultidimensionalRaster(in_multidimensional_raster, dimension, {aggregation_method}, {variables}, {aggregation_def}, {interval_keyword}, {interval_value}, {interval_unit}, {interval_ranges}, {aggregation_function}, {ignore_nodata}, {dimensionless}, {percentile_value}, {percentile_interpolation_type})
名称说明数据类型
in_multidimensional_raster

输入多维栅格数据集。

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

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

String
aggregation_method
(可选)

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

  • MEAN将计算间隔中所有时间片的像素值的平均值。 这是默认设置。
  • MAXIMUM将计算间隔中所有时间片的像素的最大值。
  • MAJORITY将计算间隔中所有时间片最常出现的像素值。
  • MINIMUM将计算间隔中所有时间片的像素的最小值。
  • MINORITY将计算间隔中所有时间片最不常出现的像素值。
  • MEDIAN将计算间隔中所有时间片的像素的中值。
  • PERCENTILE计算间隔中所有时间片的像素值百分比数。 默认情况下将计算 90% 百分比数。 您可以使用百分数值参数来指定其他值(从 0 到 100)。
  • 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
dimensionless
(可选)

指定图层是否具有维度值。 仅当选择单个剖切片来创建图层时,此参数才会启用。

  • NO_DIMENSIONS图层没有维度值。
  • DIMENSIONS图层具有维度值。 这是默认设置。
Boolean
percentile_value
(可选)

将计算的百分位数。 默认值为 90,指示 90%。

取值范围为 0 到 100。 0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”。 值 50 所生成的结果基本等同于“中值”统计数据的结果。

此参数仅在 statistics_type 参数设置为 PERCENTILE 时受支持。

Double
percentile_interpolation_type
(可选)

指定输入栅格中要计算的值数为偶数时使用的百分位数插值方法。

  • NEAREST将使用最接近所需的百分位数的可用值。 在这种情况下,输出像素类型与输入值栅格的像素类型相同。
  • LINEAR将使用接近所需百分位数的两个值的加权平均值。 在这种情况下,输出像素类型为浮点型。
String

返回值

名称说明数据类型
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

相关主题