Skip to content
Prev 7929 / 29559 Next

Specify merging mode

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: