如何找到多个栅格的像素最大值?
How can I find the pixel-wise maximum of multiple rasters?
我有数百个具有相同分辨率和范围的栅格。这是一个时间序列,每个栅格代表一个时间点。
我知道如何在栅格中找到绝对最大值。
但是如何找到整个栅格时间序列中每个单元格的最大值?
如果 a1,a2,......a1000 是光栅,我想创建一个光栅 x,其中每个像素是 a1-a1000 所有对应像素的最大值。
如果您首先将栅格放入堆栈中,则可以简单地将 min()
或 max()
应用于堆栈以获得您想要的摘要 RasterLayer
## Example rasters and stack
r1 <- raster(matrix(1:4,ncol=4))
r2 <- -2*r1
r3 <- 2*r1
rr <- list(r1,r2,r3)
s <- stack(rr)
## Extract the pixel-wise min and max values
min(s)
max(s)
(要应用一些 other,更复杂的函数 returns 堆栈中每个像素的标量,您可能需要使用 calc()
,如所示(例如)here.)
我有数百个具有相同分辨率和范围的栅格。这是一个时间序列,每个栅格代表一个时间点。
我知道如何在栅格中找到绝对最大值。
但是如何找到整个栅格时间序列中每个单元格的最大值?
如果 a1,a2,......a1000 是光栅,我想创建一个光栅 x,其中每个像素是 a1-a1000 所有对应像素的最大值。
如果您首先将栅格放入堆栈中,则可以简单地将 min()
或 max()
应用于堆栈以获得您想要的摘要 RasterLayer
## Example rasters and stack
r1 <- raster(matrix(1:4,ncol=4))
r2 <- -2*r1
r3 <- 2*r1
rr <- list(r1,r2,r3)
s <- stack(rr)
## Extract the pixel-wise min and max values
min(s)
max(s)
(要应用一些 other,更复杂的函数 returns 堆栈中每个像素的标量,您可能需要使用 calc()
,如所示(例如)here.)