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