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


Python ArcGIS aggregate用法及代码示例


本文简要介绍 python 语言中 arcgis.raster.functions.aggregate 的用法。

用法:

arcgis.raster.functions.aggregate(raster, dimension=None, aggregation_function=None, aggregation_definition_type='ALL', interval_keyword=None, interval_value=None, interval_unit=None, interval_ranges=None, ignore_nodata=False, dimensionless=False, percentile_value=90, percentile_interpolation_type='NEAREST')

返回:

应用了函数的输出栅格。

聚合函数通过将聚合函数应用于输入栅格来创建新栅格。

该函数的参数如下:

Parameter

Description

raster

需要输入 Raster / ImageryLayer 对象。

dimension

可选字符串。这是聚合变量的维度。

aggregation_function

可选字符串。指定将用于在间隔中组合聚合切片的数学方法。

  • MEAN:计算区间内所有切片的像素值的平均值。这是默认设置。

  • MAXIMUM:计算区间内所有切片的像素最大值。

  • MAJORITY:计算间隔内所有切片中像素出现频率最高的值。

  • MINIMUM:计算区间内所有切片的像素最小值。

  • MINORITY:计算间隔内所有切片中像素出现频率最低的值。

  • MEDIAN:计算区间内所有切片的像素中值。

  • PERCENTILE:计算区间内所有切片中像素值的百分位数。默认情况下计算第 90 个百分位数。您可以使用 percentile_value 参数指定其他值(从 0 到 100)。

  • RANGE:计算区间内所有切片的像素值范围。

  • STD:计算区间内所有切片的像素值的标准差。

  • SUM:计算区间内所有切片的像素值之和。

  • VARIETY:计算区间内所有切片中像素唯一值的数量。

您还可以传递自定义聚合函数。从门户上的栅格函数模板项创建一个 RFT 对象,并将其指定为 aggregation_function 的输入,或直接将 JSON 格式的 RFT 指定为 aggregation_function。

aggregation_definition_type

可选字符串。指定将聚合数据的维度间隔。

  • ALL:数据值将在所有切片中聚合。这是默认设置。

  • INTERVAL_KEYWORD:变量数据将使用众所周知的间隔进行聚合。

  • INTERVAL_VALUE:变量数据将使用用户指定的间隔和单位进行聚合。

  • INTERVAL_RANGES:变量数据将在指定的值或日期对之间聚合。

interval_keyword

可选字符串。指定沿维度聚合时将使用的关键字间隔。当aggregation_definition_type参数设置为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_type 参数设置为INTERVAL_VALUE 时需要此参数。例如,要将 30 年的每月温度数据汇总为 5 年增量,请输入 5 作为 interval_value,并将 interval_unit 指定为 YEARS。

interval_unit

可选字符串。将用于间隔值的单位。当维度参数设置为时间字段且aggregation_definition_type参数设置为INTERVAL_VALUE时,需要此参数。如果您要聚合除时间以外的任何内容,则此选项将不可用,并且间隔值的单位将与输入多维栅格数据的可变单位相匹配。

  • HOURS:数据值将按提供的间隔聚合到每小时的时间片中。

  • DAYS:数据值将按提供的间隔聚合到每日时间片中。

  • WEEKS:数据值将按提供的间隔聚合到每周时间片中。

  • MONTHS:数据值将按提供的时间间隔聚合到每月时间片中。

  • 年:数据值将按提供的时间间隔聚合到年度时间片中。

interval_ranges

字典对象的可选列表。指定为将用于聚合值组的字典对象列表的间隔范围。当aggregation_definition参数设置为INTERVAL_RANGE时,需要此参数。如果维度为 StdTime,则必须以人类可读的时间格式 (YYYY-MM-DDTHH:MM:SS) 指定该值。

用法

[{“minValue”:”<min value>”,”maxValue”:”<max value>”}, {“minValue”:”<min value>”,”maxValue”:”<max value>”}]

示例

[{“minValue”:”2012-01-15T03:00:00”,”maxValue”:”2012-01-15T09:00:00”}, {“minValue”:”2012-01-15T12:00:00”,”maxValue”:”2012-01-15T21:00:00”}]

ignore_nodata

可选的布尔值。指定是否忽略 NoData 值。

  • True:该函数将包括所有有效像素并忽略任何NoData 像素。

  • False:如果有任何 NoData 值,该函数将导致 NoData。这是默认设置。

dimensionless

可选的布尔值。指定图层是否具有尺寸值。如果选择单个切片以创建图层,则此参数仅处于活动状态。

  • True:图层将没有维度值。

  • False:图层将具有维度值。这是默认设置。

percentile_value

可选浮点数。要计算的百分位数。默认值为 90,表示第 90 个百分位数。值的范围可以从 0 到 100。第 0 个百分位数本质上相当于最小统计量,第 100 个百分位数相当于最大值。值 50 将产生与中位数统计量基本相同的结果。仅当 aggregation_function 参数设置为 PERCENTILE 时,此选项才有效。

例子:

90

percentile_interpolation_type

可选字符串。指定当输入栅格中有偶数个要计算的值时将使用的百分位插值方法。

  • NEAREST:将使用最接近所需百分位数的可用值。在这种情况下,输出像素类型将与输入值栅格的像素类型相同。这是默认设置

  • LINEAR :将使用来自所需百分位数的两个周围值的加权平均值。在这种情况下,输出像素类型将是浮点数。

    例子:

    NEAREST

例子:

# Usage Example 1: Calculates the aggregate of the input raster.

aggregate_op = aggregate(raster, aggregation_function="MAXIMUM")

# Usage Example 2: Calculates the aggregate of the input raster based on the specified interval range.

aggregate_op = aggregate(raster,
                         aggregation_function="MEDIAN",
                         aggregation_definition_type="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"}
                                         ]
                        )

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.raster.functions.aggregate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。