将 shapefile 添加到栅格

Adding a shapefile to raster

编辑

x <- raster::getData('worldclim', var='tmin', res = 10)
s <- stack(x$tmin1,x$tmin12)
sp <- as(s, 'SpatialGridDataFrame')

fra <- raster::getData('GADM',country = 'FRA', level = 2)
my.layer <- list("sp.polygons", fra, col = "black")    
spplot(sp, names.attr = c("tmin1","tmin12"), sp.layout = my.layer)

如何在栅格顶部而非下方绘制 fra

你可以这样做:

library(latticeExtra)
spplot(s, names.attr = c("tmin1","tmin12")) + layer(sp.polygons(fra, lwd = 2))

请注意,我使用 RasterStack s,无需创建 SpatialGridDataFrame。

你也可以

p <- spplot(s, names.attr = c("tmin1","tmin12")) 
p + layer(sp.polygons(fra, lwd = 2))

如果您加载了 ggplot2,这将触发错误:Error: Attempted to create layer with no geom.

为避免这种情况,请使用 latticeExtra 命名空间前缀。

 p + latticeExtra::layer(sp.polygons(fra, lwd = 2))