легенда пространственных объектов на верхнем растровом фоне

Есть хорошие примеры наложения векторных/растровых карт на растровые слои, такие как нанесение векторных карт на растровый фон в R или Наложите растровый слой на фоновый слой GM в R< /а>. Но легенды отсутствуют в объединенной графике. В примере rproblv есть легенда, а migmaplv + rproblv нет.

Есть ли простой способ объединить два объекта levelplot или spplot и сохранить в результате одну или обе легенды?

Из Наложите растровый слой на фоновый слой GM в R

library(utils); library(colorRamps); library(rgdal);
library(raster); library(dismo); library(rasterVis)

download.file(
  "https://dl.dropboxusercontent.com/u/3180464/rprob520.tif", 
  "rprob520.tif", method = "curl")

rprob <- raster("rprob520.tif")
rprobGM <- projectRaster(from = rprob, crs = CRS("+init=epsg:3857"))

migmap <- gmap(x = rprob, type = "hybrid", zoom = 5)

migmaplv <- levelplot(
  migmap, maxpixels = ncell(migmap), 
  col.regions = migmap@legend@colortable, 
  at = 0:255, panel = panel.levelplot.raster, interpolate = TRUE, 
  colorkey = FALSE, margin = FALSE)

rproblv <- levelplot(
  rprobGM, margin = FALSE, contour = TRUE, 
  par.settings = rasterTheme(region = matlab.like(n = 10)), 
  alpha.regions = 0.35, at = (0:10)/10, 
  main = "p(dep > 1kg/m2 per eruption event)")

print(migmaplv + rproblv)

введите здесь описание изображения


person ckluss    schedule 08.04.2015    source источник


Ответы (1)


Используйте функцию as.layer с under = TRUE:

rproblv + as.layer(migmaplv, under = TRUE)
person Oscar Perpiñán    schedule 08.04.2015
comment
отлично спасибо! и теперь не проблема найти больше примеров, таких как rpubs.com/daniballari/geovisualizacion ;) - person ckluss; 08.04.2015