Skip to content
Prev 27005 / 29559 Next

clip a raster layer to a mask layer using raster algebra in R?

Hello,

this should be normally a very basic simple one-liner, but I can't get 
my head around it. I only find solutions for cliping a raster against a 
vector, but none for clipping a raster against a raster mask.

I want to clip a layer to a mask. In GRASS GIS r.mapcalc the syntax is:

result = if(RSLmask, gebco, null())

This clips the GEBCO dataset to the extent of the given raster mask 
'rslmask'. The result raster has heigt values within the raster mask 
extent, the rest of the raster layer has NULL or NA values.

In R I did the following, but it does not work as expected:

gebco <- raster(gebco2014) #load raster

RSLmask <- gebco >= 0? #create mask layer

RSL <- ifelse(RSLmask, 1, NA)

The last command gives an error about vector type 'S4'?!

 >In is.na(test) :
 ? >is.na() auf nicht-(Liste oder Vektor) des Typs 'S4' angewendet

So, in short: what is the R way to simply clip a raster to a raster mask?

Thanks and best regards,
Christian

PS: If found many solutions for clipping a raster to a vector polygon, 
but this is not what I want.