Copiare i comandi che seguono nella Console di R

(versione del 12/10/2007)


Scaricare lo script o fare copia e incolla di quanto segue.

Scaricare i seguenti file mappe se rischiesto: Provincia_poly.dbf, Provincia_poly.prj, Provincia_poly.shp, Provincia_poly.shx.

Scaricare i seguenti file mappe se rischiesto: Regione_poly.dbf, Regione_poly.prj, Regione_poly.shp, Regione_poly.shx.

Scaricare i seguenti file mappe se rischiesto: Comune_poly.dbf, Regione_poly.prj, Regione_poly.shp, Regione_poly.shx.

## MAPPE TRATTE DA
## http://www.cartografia.regione.lombardia.it

require(maps)
require(maptools)

mp <- read.shape("Provincia_poly.shp")

str(mp)

str(mp$att.data)

prov <- mp$att.data$NOME_PRO
n.prov <- length(prov)

str(mp$Shapes[1])

plot(mp)


for(i in 1:n.prov){
 x <- mean(range(mp$Shapes[[i]]$verts[,1]))
 y <- mean(range(mp$Shapes[[i]]$verts[,2]))
 text(x,y, prov[i],col="white")
}

plot(mp, axes=FALSE, xlab="NULL", ylab="NULL")
Map2poly(mp) -> mp1

for(i in 1:n.prov){
 cc <- attr(mp1[[i]], "centroid")
 print(cc)
 text( cc$x, cc$y , prov[i], col="white")
}

abit <- c(180429, 3884481, 350368, 397533, 1044820, 215386, 521296, 572441, 327510, 1195777, 855400)
names(abit) <- prov

plot(mp, axes=FALSE, xlab="", ylab="", fg=gray(1-abit/sum(abit)))

for(i in 1:n.prov){
 cc <- attr(mp1[[i]], "centroid")
 text( cc$x, cc$y , sprintf("%s\n(%d)",prov[i],abit[i]), col="red")
}


par(mar=c(0,0,1,0))
plot(mp, axes=FALSE, xlab="", ylab="", fg=gray(1-abit/sum(abit)), main="Residenti in Lombardia")

for(i in 1:n.prov){
 cc <- attr(mp1[[i]], "centroid")
 text( cc$x, cc$y , sprintf("%s\n(%d)",prov[i],abit[i]), col="red")
}



mp2 <- read.shape("Comune_poly.shp")
str(mp2$att.data)

idx <- which(mp2$att.data$SIG_PRO == "BS")
nome.c <- mp2$att.data$NOME_COM[idx]
BS <- mp2$Shapes[idx]

n.com <- length(BS)

par(mar=c(0,0,1,0))
plot(mp, axes=FALSE, xlab="", ylab="", fg=gray(1-abit/sum(abit)), main="Residenti in Lombardia")

for(i in 1:n.com)
 polygon(BS[[i]]$verts)

for(i in 1:n.prov){
 cc <- attr(mp1[[i]], "centroid")
 text( cc$x, cc$y , sprintf("%s\n(%d)",prov[i],abit[i]), col="red", cex=1.3)
}


abit2 <- cut(abit, 6)

par(mar=c(0,0,1,0))
plot(mp, axes=FALSE, xlab="", ylab="", fg=gray(1-abit/sum(abit)), main="Residenti in Lombardia")

for(i in 1:n.com)
 polygon(BS[[i]]$verts)


for(i in 1:n.prov){
 cc <- attr(mp1[[i]], "centroid")
 text( cc$x, cc$y , sprintf("%s\n(%d)",prov[i],abit[i]), col="red", cex=1.3)
}