Je suis relativement nouveau à l'utilisation de R
et de travailler avec des données SIG.rasters de superposition à une valeur donnée
J'essaye de créer une fonction pour superposer deux couches Raster
, seulement quand un des rasters (dans ce cas raster1
) est à une certaine valeur (dans ce cas 0). J'ai essayé de nombreuses options en faisant cela, mais ils ne semblent pas fonctionner. Ma dernière tentative est fournie ci-dessous, et elle fonctionne mais la sortie indique simplement NULL
et elle ne trace pas.
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)
Donc, si j'ai bien compris, à la valeur '0' fo' raster1' vous voulez ajouter les valeurs de 'raster2'? – Val
oui, c'est correct. – DFinch