2012-02-14 14 views
10

シェイプファイルオブジェクトの後ろに「ラスタ」オブジェクトをプロットするにはどうすればよいですか?プロット自分で罰金が、ポイントは、ラスタの上にプロットしていない両方:ポイント、ライン、ポリゴンとラスタプロットをOverplottingシェイプファイルの背後にラスタをプロットする

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

は、次の例が示すように、うまく動作するはずです。

ラスタの上にプロットしようとしているオブジェクト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

関連する問題