[R-sig-Geo] clip a raster layer to a mask layer using raster algebra in R?

Christian Willmes c@willme@ @ending from uni-koeln@de
Thu Dec 6 09:37:29 CET 2018


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.

-- 
Dr. Christian Willmes	
AG GIS & Fernerkundung      | GIS & RS Group
Geographisches Institut     | Institute of Geography
Universität zu Köln         | University of Cologne
Tel.: +49 (0)221 470 6234
http://www.geographie.uni-koeln.de/14126.html
http://www.sfb806.de
http://crc806db.uni-koeln.de
http://publons.com/a/1316706/
http://orcid.org/0000-0002-5566-6542



More information about the R-sig-Geo mailing list