从rasterBrick计算每个栅格的最大值和最小值

时间:2019-07-18 10:07:36

标签: r raster

我希望栅格形式的最大值和最小值使用循环形成栅格堆栈。但是,当我应用代码时,我仅获得了单个栅格的值。如何从rasterBrick的不同图层获取它?

    tem <- tem # the rasterBrick with 12 different layers 
    max_t <- for (i in 1:nlayers(tem)) {
    e <- calc(tem[[i]], function(x){min(x, na.rm = T)})

   }

使用

仅返回单个图层的值
  

“有50个或更多警告(请使用warnings()查看前50个警告”)

1 个答案:

答案 0 :(得分:0)

为什么要使用循环?同样,单层的min仅返回该层。我会这样做

library(raster)
b <- brick(system.file("external/rlogo.grd", package="raster"))
x <- range(b, na.rm=TRUE)

z <- calc(b, range, na.rm=TRUE)

您也可以

xn <- min(b, na.rm=TRUE)
xx <- max(b, na.rm=TRUE)

您需要检查警告,然后报告消息,而不是报告警告。但是在这里,他们肯定在抱怨

min(NA, na.rm=T)
#[1] Inf
#Warning message:
#In min(NA, na.rm = T) : no non-missing arguments to min; returning Inf
相关问题