<p>Ciao, </p>

<p>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. </p>

<p>Dopo averle spezzate calcolo, per unità amministrativa, la lunghezza dei sentimenti.</p>

<p>Ecco i comandi (sistema operativo linux, con Postgres/Postgis e osm2pgsql per
caricare i dati):</p>

<p>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)
<br>  dt=`date +"%Y%m%d"`
<br>  wget <a href="http://download.geofabrik.de/osm/europe/italy.osm.bz2">http://download.geofabrik.de/osm/europe/italy.osm.bz2</a>
<br>  # oppure wget <a href="http://downloads.cloudmade.com/europe/italy/italy.osm.bz2">http://downloads.cloudmade.com/europe/italy/italy.osm.bz2</a>
<br>  bunzip2 italy.osm.bz2
<br>  osm2pgsql -l -p italy_$dt italy.osm</p>

<p>2) SQL da eseguire per spezzare le linee -> genera la tabella osm_stat_20090530 con le geometrie spezzate</p>

<p> create table osm_stat_20090530 as select c.cod_reg, c.pro_com, l.highway,
<br> l.ref, <a href="http://l.name">l.name</a> , intersection (l.way, transform(c.geom,4326)) FROM   
<br> italy_20090530_line l, it_comuni c 
<br> WHERE l.highway <>'' AND l.way &&  transform(c.geom,4326) 
<br> AND intersects(l.way ,  transform(c.geom,4326))</p>

<p>3) query </p>

<p>--per le statistiche regionali</p>

<p> SELECT c.nome_reg, sum(c.pop2001),  
<br> sum(length(transform(s.intersection,3395))) AS highw
<br> FROM it_comuni c  LEFT JOIN osm_stat_20090530 s ON c.pro_com = s.pro_com 
<br> GROUP BY  c.nome_reg order by nome_reg</p>

<p>-- numero di comuni mappati per regione
<br> select p.nome_regione, count(p.cod_pro), count(p.highw) FROM 
<br> ( SELECT r.nome_regione, c.cod_pro, c.pro_com, c.geom, c.nome_com,
<br> c.pop2001, min(s.cod_reg) AS highw
<br> FROM it_comuni c LEFT JOIN osm_stat_20090503 s ON c.pro_com = s.pro_com,   
<br> it_prov_name p, it_reg_name r
<br> where  p.cod_pro =c.cod_pro AND p.cod_reg=r.cod_reg 
<br> GROUP BY r.nome_regione, c.cod_pro, c.pro_com, c.geom, c.nome_com, 
<br> c.pop2001
<br> ) p GROUP BY p.nome_regione;</p>

<p>4) esporto i dati in excel e li sistemo</p>Ciao,<br>Diego<br><p><br></p><p><br></p><br><br><div class="gmail_quote">2009/5/25 David Paleino <span dir="ltr"><<a href="mailto:d.paleino@gmail.com">d.paleino@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Ciao *,<br>
ho letto<br>
<br>
  <a href="http://wiki.openstreetmap.org/index.php/WikiProject_Italy/Stats" target="_blank">http://wiki.openstreetmap.org/index.php/WikiProject_Italy/Stats</a><br>
<br>
e sembra che i dati siano quantomeno "datati" :)<br>
<br>
Come sono stati generati quei dati? Qualche script?<br>
<br>
In particolare, mi interesserebbe creare delle sottopagine "Stats" dei<br>
sottoprogetti cui partecipo attivamente (Mazara del Vallo, Palermo, Sicilia),<br>
così da avere più granularità.<br>
<br>
Ciao,<br>
David<br>
<font color="#888888"><br>
--<br>
 . ''`.  Debian maintainer | <a href="http://wiki.debian.org/DavidPaleino" target="_blank">http://wiki.debian.org/DavidPaleino</a><br>
 : :'  : Linuxer #334216 --|-- <a href="http://www.hanskalabs.net/" target="_blank">http://www.hanskalabs.net/</a><br>
 `. `'`  GPG: 1392B174 ----|---- <a href="http://snipr.com/qa_page" target="_blank">http://snipr.com/qa_page</a><br>
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174<br>
</font><br>_______________________________________________<br>
Talk-it mailing list<br>
<a href="mailto:Talk-it@openstreetmap.org">Talk-it@openstreetmap.org</a><br>
<a href="http://lists.openstreetmap.org/listinfo/talk-it" target="_blank">http://lists.openstreetmap.org/listinfo/talk-it</a><br>
<br></blockquote></div><br>