将shapefile添加到栅格

时间:2018-04-16 16:37:35

标签: r raster shapefile

修改

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)

enter image description here

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

1 个答案:

答案 0 :(得分:3)

你可以这样做:

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))