2012-02-14 18 views
10

Bir shapefile nesnesinin arkasındaki "raster" nesnesini nasıl çizebilirim? nokta, çizgi ileŞekil dosyasının arkasındaki bir rasterin çizilmesi

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) 

cevap

17

çizme raster araziler ve aşağıdaki örnekte gösterildiği gibi çokgenler, sadece iyi çalışması gerekir: Kendi başlarına Hem arsa ince ama puan değere göre çizmek yoktur.

En iyi tahminde, çizilen bölgenin dışındaki rasterin üstüne çizmeye çalıştığınız Spatial* nesnesi olurdu. raster ve Spatial* nesnelerinin aynı CRS'de olduğunu ve sınırlayıcı kutularla çakıştığını (varsayarsak) kontrol ettiniz mi? (yani bbox(shp) ve bbox(ras)'u deneyin ve sonuçları karşılaştırın).

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

İyi karar benim raster yanlış bulunamamıştır. Bunun doğru şekilde çalıştığından emin olduğunuz için teşekkürler. – Benjamin

İlgili konular