【发布时间】:2017-11-21 01:21:59
【问题描述】:
我正在尝试基于应用于多个图层的单个条件函数来生成二进制栅格图层。这是我找到的我想要完成的示例,但是,此示例仅适用于 3 层。如果我想检查超过 25 层的条件,有没有一种不需要向函数输入 25 个参数的方法?
library(raster)
set.seed(0)
r <- raster(ncol=10, nrow=10, xmn=0, xmx=10, ymn=0, ymx=10)
r1 <- setValues(r, round(runif(ncell(r), 1, 2)))
r2 <- setValues(r, round(runif(ncell(r), 1, 2)))
r3 <- setValues(r, round(runif(ncell(r), 1, 2)))
s <- stack(r1, r2, r3)
res1 <- overlay(s, fun =
function(x,y,z) {
ifelse( x == 2 | y == 2 | z ==2, 1, 0)
})
【问题讨论】: