2012-02-14 83 views
10

如何繪製shapefile對象後面的「柵格」對象?對自己的兩個情節不錯,但點不超過光柵情節:在shapefile背後繪製柵格

require(rgdal) 
require(maptools) 
require(raster) 

myproj = "+proj=utm +zone=12 +north +ellps=WGS84 +units=m" 
shp = readShapeSpatial(fn.shp, proj4string = CRS(myproj)) 
ras = raster(fn.tif) 

plot(ras) 
plot(shp, bg="transparent", add=TRUE) 

回答

17

點,線Overplotting光柵圖和多邊形應該工作得很好,如下面的示例所示。

我最好猜測的是你試圖在柵格頂部繪製的Spatial*對象落在繪製區域之外。你是否檢查過rasterSpatial*對象是否在同一個CRS中,並且(假設他們是)邊界框重疊? (即試試bbox(shp)bbox(ras),並比較結果)。

library(rgdal) 
library(raster) 
# Create a raster 
ras <- raster(ncols=36, nrows=18) 
ras[] <- runif(ncell(ras)) 
# Create a SpatialPoints object 
shpPts <- spsample(Spatial(bbox=bbox(ras)), 20, type="random") 
# Create a SpatialPolygons object 
p1 <- rbind(c(-10,0), c(140,60), c(160,0), c(140,-55), c(-10,0)) 
shpPolys <- SpatialPolygons(list(Polygons(list(Polygon(p1)), 1))) 

# Plot them, one layer after another 
plot(ras) 
plot(shpPts, pch=16, col="red", add=TRUE) 
plot(shpPolys, col="yellow", add=TRUE) 

enter image description here

+0

良好的通話,我的光柵被錯誤地定位。感謝您確認這可以正常工作。 – Benjamin 2012-02-14 20:15:18