聚合 (Spatial Analyst)

需要 Spatial Analyst 许可。

描述

生成分辨率降低版本的栅格。每个输出像元包含此像元范围内所涵盖的输入像元的总和、最小值、最大值、平均值或中值。

了解有关聚合工作原理的详细信息

插图

聚合图示
OutRas = Aggregate(InRas1, 3, Max, Expand, Data)

使用方法

  • 对于最大值最小值总和聚合技术设置,输出栅格类型将与输入栅格的类型相同。如果该技术为平均值中值,则输出类型将始终为浮点型。

  • 此工具将识别地理处理分析环境范围像元大小。要在已指定整数型像元大小后确定输出栅格的分辨率,可将分析环境的像元分辨率乘以输入像元系数参数。如果将分析环境的像元大小设置为输入项的最小值或最大值,则输出栅格的分辨率是输入栅格分辨率与指定像元系数的乘积。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

语法

Aggregate(in_raster, cell_factor, {aggregation_type}, {extent_handling}, {ignore_nodata})
参数说明数据类型
in_raster

要聚合的输入栅格。

可以是整型或浮点型。

Raster Layer
cell_factor

要获得输出栅格所需的分辨率,与输入栅格的像元大小相乘的系数。

例如,像元系数值 3 会使输出像元大小比输入栅格的像元大小大三倍。

该值必须为大于 1 的整数。

Long
aggregation_type
(可选)

指出确定每个输出像元值的方式。

由以下统计数据之一对粗糙输出像元所包含的输入像元的值进行聚合:

  • SUM输入像元值的总和。这是默认设置。
  • MAXIMUM输入像元的最大值。
  • MEAN输入像元的平均值。
  • MEDIAN输入像元的中值。
  • MINIMUM输入像元的最小值。
String
extent_handling
(可选)

定义当输入栅格的行数或列数不是像元系数的倍数时处理输入栅格边界的方式。

  • EXPAND扩展输入栅格的顶部或右侧边界,以使像元的总行数或总列数是像元系数的倍数。扩展的像元被指定 NoData 的值。使用此选项时,输出栅格可比输入栅格覆盖更大的空间范围。这是默认设置。
  • TRUNCATE输出栅格的行数或列数减 1。此操作将从输入栅格的顶部或右侧边界截断其余像元,以使输入栅格的行数或列数是像元系数的倍数。使用此选项时,输出栅格可比输入栅格覆盖更小的空间范围。

如果输入栅格的行数和列数是 cell_factor 的倍数,则不需要使用这些关键字。

Boolean
ignore_nodata
(可选)

指示在进行聚合计算时是否忽略 NoData 值。

  • DATA指定对于落在输出栅格上较大像元空间范围内的任何像元,如果存在 NoData 值,则在确定输出像元位置的值时,将忽略 NoData 值。在确定输出像元值时,将仅使用在输出像元范围内具有数据值的输入像元。这是默认设置。
  • NODATA指定如果落在输出栅格上较大像元空间范围内的任何像元具有 NoData 值,则该输出像元位置的值为 NoData。如果使用此选项,则表示在聚合内的像元包含 NoData 值时,执行确定输出值所必需的指定计算所需要的信息不足。
Boolean

返回值

名称说明数据类型
out_raster

输出的聚合栅格。

它是分辨率降低版本的输入栅格。

Raster

代码示例

Aggregate 示例 1(Python 窗口)

此示例通过使用像元系数 3 取平均值的方式对栅格进行聚合,并输出 TIFF 栅格。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outAggreg = Aggregate("highres", 3, "MAXIMUM", "TRUNCATE", "DATA")
outAggreg.save("C:/sapyexamples/output/aggregate.tif")
Aggregate 示例 2(独立脚本)

此示例通过使用像元系数 3 取平均值的方式对栅格进行聚合,并输出格网栅格。

# Name: Aggregate_Ex_02.py
# Description: Generates a reduced resolution version of a raster.
# 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"

# Set local variables
inRaster = "highres"
cellFactor = 3

# Execute Aggregate
outAggreg = Aggregate(inRaster, cellFactor, "MEAN", "TRUNCATE", "NODATA")

# Save the output 
outAggreg.save("C:/sapyexamples/output/aggregate02")

许可信息

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

相关主题