2012-02-14 8 views
10

¿Cómo puedo trazar un objeto "ráster" detrás de un objeto shapefile? Tanto fina trama por su cuenta, pero los puntos no trazar sobre la trama:Trazado de un ráster detrás de un 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) 

Respuesta

17

Overplotting parcelas de trama con puntos, líneas, polígonos y debería funcionar bien, como muestra el siguiente ejemplo.

Supongo que los objetos Spatial* que está intentando trazar en la parte superior del ráster quedan fuera de la región que se está trazando. ¿Ha comprobado que los objetos raster y Spatial* están en el mismo CRS y (suponiendo que lo estén) que los recuadros delimitadores se superponen? (es decir, intente con bbox(shp) y bbox(ras), y compare los resultados).

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

Bien dicho, mi trama estaba situada correctamente. Gracias por la confirmación de que esto funciona correctamente. – Benjamin

Cuestiones relacionadas