Robert J. Hijmans wrote :
Dear Etienne,
This is not in raster (as a single function) but it is a good idea
that I'll look at (and merge needs to be improved for speed also). A
function that would blend overlapping layers based on distance to
their edges would also be useful.
Here are two ways in which you can accomplish what you asked for:
r <- raster()
r1 <- crop(r, extent(-10, 10, -10, 10))
r2 <- crop(r, extent(0, 20, 0, 20))
r1[] <- 1:ncell(r1)
r2[] <- 1:ncell(r2)
# the trick, first merge with empty RasterLayers
r1 <- merge(r1, raster(r2))
r2 <- merge(raster(r1), r2)
# Now combine with a function
rm = mean(r1, r2, na.rm=TRUE)
plot(rm)
# alternative solution:
r <- raster()
r1 <- crop(r, extent(-10, 10, -10, 10))
r2 <- crop(r, extent(0, 20, 0, 20))
r1[] <- 1:ncell(r1)
r2[] <- 1:ncell(r2)
x = (r1 + r2) / 2 # this returns the spatial intersection or r1 & r2
rm = merge(x, r1, r2)
plot(rma)
Robert
On Mon, Mar 29, 2010 at 1:39 PM, Etienne Bellemare Racine
<etiennebr at gmail.com> wrote:
Hi list,
In the raster package, is it possible to specify which way I want to
blend the two rasters. e.g. :
r1 <- raster(xmn = -10, ymn = -10, xmx = 10, ymx = 10)
r2 <- raster(xmn = 0, ymn = 0, xmx = 20, ymx = 20)
r1[] <- 1:ncell(r1)
r2[] <- 1:ncell(r2)
rm <- merge(r1, r2)
plot(rm)
You get the first raster on top (r1), but I would like to merge them
with a function.
I would like to use something like e.g. fun = mean or max. If it's not
in the raster package, is there any package that allow to merge images
and specify the way it merge.
Thanks,
Etienne
[[alternative HTML version deleted]]