6

I need to stack multiple maps (tif) together and clip them all according to extent of one small raster map (second raster at the top of picture below). However, the size of pixels in each map is different. Is there any way how to make process visualized bellow?

Please, answer only R-solution or QGIS-solution.

enter image description here

library(raster)
e1<-extent(c(0,6,0,6))
r1<-raster(nrows=3,ncols=3,ext=e1)
values(r1)<-c(0,4,1,0,1,1,1,2,3)
plot(r1)
e2<-extent(c(2,5,2,5))
r2<-raster(nrows=4,ncols=3,ext=e2)
values(r2)<-c(0,8,2,1,4,9,9,4,0,8,0,0)
plot(r2)
1
  • 2
    Steps to take: (1) Resample both rasters to same samplesize (2) Unify their extents ether by cropping or extending (3) Stack them and mask with your other raster
    – Curlew
    Commented Aug 8, 2015 at 18:30

1 Answer 1

8

You can:

Load required libraries:

library(raster)
library(rgdal)

Read rasters:

r1 = raster("./dir/r1.tif")
r2 = raster("./dir/r2.tif")

Resample to the finer grid

r.new = resample(r1, r2, "bilinear")

If required (for masking), set extents to match

ex = extent(r1)
r2 = crop(r2, ex)

Removed unrequired data

r.new = mask(r.new, r2)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.