这个问题最初是由here提出的。在给定栅格堆栈t
的情况下,我想计算超过阈值s
的连续天的最大长度,如下所示:
library(raster)
set.seed(112)
x1 <- raster(nrows=10, ncols=10)
x2=x3=x4=x5=x6=x1
x1[]= runif(ncell(x1))
x2[]= runif(ncell(x1))
x3[]= runif(ncell(x1))
x4[]= runif(ncell(x1))
x5[]= runif(ncell(x1))
x6[]= runif(ncell(x1))
s=stack(x1,x2,x3,x4,x5,x6)*56
这是我当前的职能。
fun <- function(x,t){
y <- rle((x > t)*1)
z <- y$lengths[y$values==1]
return(max(z,0))
}
以及我如何使用该功能。我还根据q
函数的建议设置了用于导出的参数cluster {raster}
beginCluster()
out_ras <- clusterR(s, calc, args=list(fun=fun), export='q')
endCluster()
我希望将栅格图层作为输出,但是会弹出cluster error
。
[1] "cannot use this function"
attr(,"class")
[1] "snow-try-error" "try-error"
Error in clusterR(s, calc, args = list(fun = fun), export = "q") :
cluster error
可能是什么问题?