Buffered

描述

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

讨论

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

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

NewRaster = (Raster1+Raster2)/Raster1

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

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

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

语法

Buffered (raster)
参数说明数据类型
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")

# Execute 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")