1options("rgdal_show_exportToProj4_warnings"="none")
2library(sp)
3g = SpatialGrid(GridTopology(c(5,5), c(10,10), c(3,3)))
4p = as(g, "SpatialPolygons")
5p$z = c(1,0,1,0,1,0,1,0,1)
6cc = coordinates(g)
7p$ag1 = aggregate(p, p, mean)[[1]]
8p$ag1a = aggregate(p, p, mean, minDimension = 0)[[1]]
9p$ag2 = aggregate(p, p, mean, minDimension = 1)[[1]]
10p$ag3 = aggregate(p, p, mean, minDimension = 2)[[1]]
11p$ag4 = aggregate(p, p, mean, areaWeighted=TRUE)[[1]]
12pts = cbind(c(9,21,21,9,9),c(9,9,21,21,9))
13sq = SpatialPolygons(list(Polygons(list(Polygon(pts)), "ID")))
14rnd2 = function(x) round(x, 2)
15l = list(
16	list("sp.text", cc, rnd2(p$z), which = 1),
17	list("sp.text", cc, rnd2(p$ag1), which = 2),
18	list("sp.text", cc, rnd2(p$ag1a), which = 3),
19	list("sp.text", cc, rnd2(p$ag2), which = 4),
20	list("sp.text", cc, rnd2(p$ag3), which = 5),
21	list("sp.text", cc, rnd2(p$ag4), which = 6),
22	list(sq, col = 'green', which = 6, first = FALSE, lwd = 2)
23)
24spplot(p, names.attr = c("source", "default aggregate", "minDimension=0",
25	"minDimension=1", "minDimension=2", "areaWeighted=TRUE"), layout = c(3,2),
26	as.table=TRUE, col.regions=bpy.colors(151)[50:151], cuts=100,
27	sp.layout = l, scales = list(draw = TRUE))
28
29rnd2(c(aggregate(p, sq, mean)[[1]],
30  aggregate(p, sq, mean, minDimension = 0)[[1]],
31  aggregate(p, sq, mean, minDimension = 1)[[1]],
32  aggregate(p, sq, mean, minDimension = 2)[[1]],
33  aggregate(p, sq, mean, areaWeighted=TRUE)[[1]]))
34