【发布时间】:2017-07-10 09:59:43
【问题描述】:
我对使用 R 和使用 GIS 数据比较陌生。
我正在尝试创建一个函数来覆盖两个Raster 图层,仅当其中一个栅格(在本例中为 raster1)处于某个值(在本例中为 0)时。我已经尝试了许多选项来执行此操作,但它们似乎不起作用。下面提供了我的最后一次尝试,它运行但输出只是说 NULL 并且它没有绘图。
library(raster)
raster1 <- raster(ncols=10,nrows=10)
raster2 <- raster(ncols=10,nrows=10)
values(raster1) <- round(runif(ncell(raster1)))
values(raster2) <- round(runif(ncell(raster2)))
plot(raster1)
plot(raster2)
overlay_zero <- function (x, y) {
if (isTRUE(x == 0)) {
overlay(x, y, fun=function(x,y) {return(x+y)})}
}
z <- overlay_zero(raster1, raster2)
z
plot(z)
【问题讨论】:
-
所以如果我理解正确,值
0foraster1你想添加raster2的值? -
是的,没错。
标签: r overlay gis raster r-raster