Skip to main content

Buffered

汇总

在表达式中多次使用输入栅格时,将输入栅格的像素块存储在内存中以优化性能。

讨论

Buffered 函数用于存储输入栅格对象的像素块(例如当表达式中需要多次使用栅格时)。这在使用地图代数来组合多个栅格对象时最为常见。

例如,以下表达式将两次使用栅格 1:

\(NewRaster \space = \space (Raster1+Raster2)/Raster1\)

为了提升性能,可以在运行表达式之前为栅格 1 插入 Buffered 函数。

有关此函数工作原理的详细信息,请参阅 缓冲 栅格函数。

栅格对象所引用的栅格数据集是临时性的。 要将其设置为永久,可以调用栅格对象的 save 方法。

语法

Buffered(raster)

参数 说明 数据类型

raster

The input raster.

Raster

返回值

数据类型 说明

Raster

已存储在内存中的输出栅格对象。

代码示例

缓冲示例

将两个栅格的像素块存储在内存中,以提升复杂表达式的性能。

# Import system modules
import arcpy
from arcpy.ia import *

# Set the analysis environments
arcpy.env.workspace = "C:/arcpyExamples/data"

# Set the local variables
Raster1 = arcpy.Raster("Band_3")
Raster2 = arcpy.Raster("Band_4")

# Run Buffered function
Raster1buff = arcpy.ia.Buffered(Raster1)
Raster2buff = arcpy.ia.Buffered(Raster2)

# Run complex expression
Output = (Raster1buff+Raster2buff)/(Raster1buff+Raster2buff)

# Save output
Output.save("C:/arcpyExamples/outputs/expressionOutput.tif")