[R-sig-Geo] Specify merging mode

Robert J. Hijmans r.hijmans at gmail.com
Tue Mar 30 04:43:37 CEST 2010


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]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>



More information about the R-sig-Geo mailing list