Dear Scott,

use
spplot(tmp, zcol="z")
instead of
spplot(tmp, zcol=z)
to display the column "z".

Use
spplot(tmp[tmp$id == 1, ], zcol = "z")
to display only those grids that has id 1.

And to display two panels:
tmp$z1 <- tmp$z2 <- tmp$z
tmp$z1[tmp$id == 1] <-  NA
tmp$z2[tmp$id == 2] <-  NA
spplot(tmp, zcol=c("z1", "z2"))

HTH,
Ákos Bede-Fazekas
Hungarian Academy of Sciences


2018.05.23. 21:50 keltezéssel, Waichler, Scott R írta:
Roger,

Without having tried your code, how similar is this to these packages:

https://cran.r-project.org/package=micromap
https://cran.r-project.org/package=micromapST
Thanks for responding.  I looked at the micromap vignettes but it seems their 
focus is being able to provide small maps in one column in figures where the 
main emphasis is on statistics presented in other columns.  In my problem, all 
I want to show are maps.  I haven't been able to do this with a higher-level 
function like spplot or stplot.  I can imagine doing it with a custom panel 
function, where lpolygons() is used with input that depends on the panel.

In case it helps, I should clarify that the "different polygons" I referred to are 
polygons with different spatial coordinates; the attribute values are a small number of discrete 
values.  My polygons are representations of contaminant plumes in groundwater.  For each year, I 
have read in a shapefile containing polygons of the contaminant concentration at 2 to 4 levels.  I 
have combined all of these data into a SpatialPolygonsDataFrame, where each row represents a given 
year and concentration level, and contains one or more polygons.  The coordinates are different in 
each row, but years and concentration level are common across rows.  This seems to match the nature 
of a "long table" format in spacetime, but I haven't been able to work it out in that 
package, hence I'm stepping back and trying to get the basics working with spplot.

Thanks,
Scott

Hello,

I have a SpatialPolygonsDataFrame.  I would like to do a trellis plot on one
of the attributes, so that in the panel for a given attribute value, only those
polygons with that value are plotted.  So, each panel has different polygons
plotted in it.  I can't figure out how to do this.  In the toy example below, I
would like to create a trellis plot with one panel showing the polygons with id
= 1, and another panel showing the polygons with id = 2.
My goal beyond this toy problem is to do the same thing with stplot, where
panels correspond to times and each time has a different set of polygons
plotted.  Will that be possible?  In all the examples I can find of using stplot
for a space-time grid with the spatial objects being polygons, the polygons
are the same across time.
# based on example in help("SpatialPolygonsDataFrame-class")
Sr1 = Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))
Sr2 = Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))
Sr3 = Polygon(cbind(c(4,4,5,10,4),c(5,3,2,5,5)))
Sr4 = Polygon(cbind(c(5,6,6,5,5),c(4,4,3,3,4)), hole = TRUE)
Srs1 = Polygons(list(Sr1), "s1")
Srs2 = Polygons(list(Sr2), "s2")
Srs3 = Polygons(list(Sr3, Sr4), "s3/4") SpP =
SpatialPolygons(list(Srs1,Srs2,Srs3), 1:3) grd <- GridTopology(c(1,1),
c(1,1), c(10,10)) polys <- as(grd, "SpatialPolygons") centroids <-
coordinates(polys) x <- centroids[,1] y <- centroids[,2] z <- 1.4 +
0.1*x + 0.2*y + 0.002*x*x id = factor(sample(c(1,2),
size=length(polys), replace=T)) tmp <- SpatialPolygonsDataFrame(polys,
      data=data.frame(x=x, y=y, z=z, id=id,
row.names=row.names(polys)))
plot(tmp)  # plots all the square polygons (n = 10*10)
spplot(tmp)  # plots values of x, y, z, id in separate panels, each
with 100 polys spplot(tmp, zcol=z)  # error message about duplication
of factor level spplot(tmp ~ id, zcol=z, data=tmp)  # won't take
formula

Thank you,
ScottWaichler
Pacific Northwest National Laboratory
scott.waichler _at_ pnnl.gov

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

--
Roger Bivand
Department of Economics, Norwegian School of Economics, Helleveien 30, N-
5045 Bergen, Norway.
voice: +47 55 95 93 55; e-mail: roger.biv...@nhh.no
http://orcid.org/0000-0003-2392-6140
https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to