Ciao, per generare le statistiche carico tutte le mappe italiane sul db postgres e poi con una query spaziale spezzo tutti gli elemementi lineari usando il tematismo dei limiti amministrativi comunali ISTAT.
Dopo averle spezzate calcolo, per unità amministrativa, la lunghezza dei sentimenti. Ecco i comandi (sistema operativo linux, con Postgres/Postgis e osm2pgsql per caricare i dati): 1) Script che scarica il db OSM italiano e lo carica su postgis creando una tabella che si chiama italy_20090530_line (la data ovviamente cambia) dt=`date +"%Y%m%d"` wget http://download.geofabrik.de/osm/europe/italy.osm.bz2 # oppure wget http://downloads.cloudmade.com/europe/italy/italy.osm.bz2 bunzip2 italy.osm.bz2 osm2pgsql -l -p italy_$dt italy.osm 2) SQL da eseguire per spezzare le linee -> genera la tabella osm_stat_20090530 con le geometrie spezzate create table osm_stat_20090530 as select c.cod_reg, c.pro_com, l.highway, l.ref, l.name , intersection (l.way, transform(c.geom,4326)) FROM italy_20090530_line l, it_comuni c WHERE l.highway <>'' AND l.way && transform(c.geom,4326) AND intersects(l.way , transform(c.geom,4326)) 3) query --per le statistiche regionali SELECT c.nome_reg, sum(c.pop2001), sum(length(transform(s.intersection,3395))) AS highw FROM it_comuni c LEFT JOIN osm_stat_20090530 s ON c.pro_com = s.pro_com GROUP BY c.nome_reg order by nome_reg -- numero di comuni mappati per regione select p.nome_regione, count(p.cod_pro), count(p.highw) FROM ( SELECT r.nome_regione, c.cod_pro, c.pro_com, c.geom, c.nome_com, c.pop2001, min(s.cod_reg) AS highw FROM it_comuni c LEFT JOIN osm_stat_20090503 s ON c.pro_com = s.pro_com, it_prov_name p, it_reg_name r where p.cod_pro =c.cod_pro AND p.cod_reg=r.cod_reg GROUP BY r.nome_regione, c.cod_pro, c.pro_com, c.geom, c.nome_com, c.pop2001 ) p GROUP BY p.nome_regione; 4) esporto i dati in excel e li sistemo Ciao, Diego 2009/5/25 David Paleino <d.pale...@gmail.com> > Ciao *, > ho letto > > http://wiki.openstreetmap.org/index.php/WikiProject_Italy/Stats > > e sembra che i dati siano quantomeno "datati" :) > > Come sono stati generati quei dati? Qualche script? > > In particolare, mi interesserebbe creare delle sottopagine "Stats" dei > sottoprogetti cui partecipo attivamente (Mazara del Vallo, Palermo, > Sicilia), > così da avere più granularità. > > Ciao, > David > > -- > . ''`. Debian maintainer | http://wiki.debian.org/DavidPaleino > : :' : Linuxer #334216 --|-- http://www.hanskalabs.net/ > `. `'` GPG: 1392B174 ----|---- http://snipr.com/qa_page > `- 2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174 > > _______________________________________________ > Talk-it mailing list > Talk-it@openstreetmap.org > http://lists.openstreetmap.org/listinfo/talk-it > >
_______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it