【问题标题】:How can I find the pixel-wise maximum of multiple rasters?如何找到多个栅格的像素最大值?
【发布时间】:2015-11-14 03:53:01
【问题描述】:

我有数百个具有相同分辨率和范围的栅格。这是一个时间序列,每个栅格代表一个时间点。

我知道如何在栅格中找到绝对最大值。

但是如何在整个栅格时间序列中找到每个单元格中的最大值?

如果 a1,a2,......a1000 是栅格,我想创建一个栅格 x,其中每个像素是 a1-a1000 的所有对应像素的最大值。

【问题讨论】:

  • ?pmax。试试pmax(a1[],a2[],...),其中a1a2 等是您的raster 对象。

标签: r spatial raster


【解决方案1】:

如果您首先将栅格放入堆栈中,则可以简单地将 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,更复杂的函数,它为堆栈中的每个像素返回一个标量,您可能需要使用calc(),如(例如)here 所示。)

【讨论】:

  • 谢谢!我之前使用的是 maxValue 。 :)
  • 我有一个后续问题,如果你不介意的话:stackoverflow.com/questions/33700755/…
  • 有没有办法做同样的事情,但使用raster list 而不是raster stack?就我而言,我的栅格没有完全相同的范围,我想避免raster::resample,因为处理时间显着增加
  • @GCGM 不确定,抱歉。也许制作一个最小的可重现示例,并将其作为问题发布,在这里,或者更好的是,在gis.stackexchange.com
猜你喜欢
  • 2021-01-25
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 2021-05-08
  • 2015-04-23
  • 2015-09-13
  • 2013-11-02
相关资源
最近更新 更多