Thanks for this Arien, Just can't get it to work though. I messed around a bit more yesterday but couldn't find a way. No one else on the list replied. I have another reason to want to do something similar, so I was hoping there was a work around out there. Here is the data if you (or anyone else) can help.
load(file=url("ftp://200.23.34.16/simulacion/SPATIAL/chisgrid.rob")) load(file=url("ftp://200.23.34.16/simulacion/SPATIAL//municipios.rob")) #municipios was originally imported from a shapefile. The "dem" is a coarse 1 km x 1km grid imported from GRASS 5.7. Both use UTM NAD27, but the projections are not #set. The data represents the state of Chiapas in Southern Mexico image(chisgrid,"dem",col=terrain.colors(100)) plot(municipios,add=T) #Gives what we wanted in base graphics #But spplot(municipios, "AREA", panel <- function(x,y,...){ sp.grid(chisgrid) panel.polygonsplot(x,y,...) }) #Doesn't #and municips <- list("sp.polygons", municipios) spplot(chisgrid["dem"],sp.layout=municips) #Draws them in the wrong order. #As an aside, this is great fun with rgl and the students loved it. Can anyone improve the code? view3d<-function(grid=chisgrid,dem=1,drape=2,exag=3,pal=sp.theme()$regions$col){ fullgrid(grid)<-TRUE y<-grid[[dem]]*exag y[is.na(y)]<-0 dim(y)<[EMAIL PROTECTED]@cells.dim x <- [EMAIL PROTECTED]@cellsize[1]*(1:[EMAIL PROTECTED]@cells.dim[1]) z <[EMAIL PROTECTED]@cellsize[2]*(1:[EMAIL PROTECTED]@cells.dim[2]) y2<-grid[[drape]] y2[!is.na(y2)]<-as.numeric(cut( y2[!is.na(y2)],length(pal))) y2[is.na(y2)]<-0 ylim <- range(y2) ylen <- ylim[2] - ylim[1] + 1 pal<-c("black",pal) col <- pal[ y2-ylim[1]+1 ] # assign colors to heights for each point rgl.clear() rgl.surface(x, z, y, color=col) } view3d(drape=1,pal=terrain.colors(100)) Duncan Arien Lam wrote: > I stumbled there too. > A way is to customize the default panel function within spplot. > > Try: > > spplot(municipios, "yourvariable", panel <- function(x,y,...){ > sp.grid(chisgrid) > panel.polygonsplot(x,y,...) > }) > > Regards, Arien > > Duncan Golicher schreef: > >> Many thanks to everyone involved in putting together the excelent sp >> package. I have just used for teaching a brief intro to applied >> geostats with gstat. Students found life much easier than a year ago >> when I had to try to explain a less structured approach to the data. >> A simple question arose after the class. According to the spplot >> documentation "for grids and polygons sp.layout is drawn afterwards >> (so the item will not be overdrawn by the grid and/or polygon)". >> So in this example we expected a DEM to be drawn first, then >> municipal boundaries. >> >> > class(municipios) >> [1] "SpatialPolygonsDataFrame" >> > class(chisgrid) >> [1] "SpatialPixelsDataFrame" >> >> municips <- list("sp.polygons", municipios) >> spplot(chisgrid["dem"],sp.layout=municips) >> >> The municipal boundaries are drawn first then overdrawn by the DEM, >> which was not what we expected or wanted. I couldn't find how to >> avoid this, apart from the simple solution of .. >> >> image(chisgrid,col=terrain.colors(20)) >> plot(municipios,add=T) >> >> instead of spplot.The figures on http://r-spatial.sourceforge.net >> all appear to have the grid drawn first. Is there a way to reverse this? >> >> Duncan >> > -- Dr Duncan Golicher Ecologia y Sistematica Terrestre Conservación de la Biodiversidad El Colegio de la Frontera Sur San Cristobal de Las Casas, Chiapas, Mexico Email: [EMAIL PROTECTED] Tel: 967 674 9000 ext 1310 Fax: 967 678 2322 Celular: 044 9671041021 United Kingdom Skypein; 020 7870 6251 Skype name: duncangolicher Download Skype from http://www.skype.com _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo