Duncan, After a few tries I found:
spplot(chisgrid, "dem", panel = function(x,y, ...){ panel.gridplot(x,y, ...) sp.polygons(municipios, col=1,fill=0) }) , which is just the reverse nesting order from my previous shot at it. HTH, Arien To be precise, this worked on: > sessionInfo() Version 2.3.1 (2006-06-01) i486-pc-linux-gnu attached base packages: [1] "methods" "stats" "graphics" "grDevices" "utils" "datasets" [7] "base" other attached packages: lattice sp "0.13-8" "0.8-16" This approach is advocated for tweaking trellis plots. On Thu, July 6, 2006 17:52, Duncan Golicher wrote: > 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 > > > -- drs. H.A. (Arien) Lam (Ph.D. student) Department of Physical Geography Faculty of Geosciences Utrecht University, The Netherlands E-mail: [EMAIL PROTECTED] Web: http://www.geo.uu.nl/staff/a.lam Telephone: +31(0)30-253 2988 (direct), 2749 (secretary) Fax: +31(0)30-2531145 Visiting address: Room Zon 121, Heidelberglaan 2, Utrecht Postal address: P.O.Box 80.115, 3508 TC Utrecht _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo