Confini comuni italiani

1,673 views
Skip to first unread message

Andrea Angeli

unread,
Aug 15, 2013, 5:09:12 PM8/15/13
to spaghett...@googlegroups.com
Ciao,
Sto cercando un file in formato .xls o .json contenente le coordinate (poligoni) dei confini dei comuni italiani. Alternativamante esiste un modo per convertire gli shapefile forniti dall'stat?

Maurizio Napolitano

unread,
Aug 15, 2013, 5:39:36 PM8/15/13
to Spaghetti Open Data
ogr2ogr e converti in geojson
puoi farlo anche usando qgis
Sul fronte xls vorrei capire come pensi di gestire le coordinate delle
poligonali
Vuoi usare una stringa WKT[1] in una cella?
Tieni presente che nella conversione ti verranno fuori file molto grandi, a meno
che non usi algoritmi di semplificazione.
Un buon formato che rende abbastanza snelli e' topojson [2]

Giusto per curiosita': cosa stai pensando di sviluppare?
Ciao

[1] http://it.wikipedia.org/wiki/Well-Known_Text
[2] Un buon formato e' topojson - https://github.com/mbostock/topojson/wiki

2013/8/15 Andrea Angeli <angeli...@gmail.com>:
> --
> Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open
> Data" di Google Gruppi.
> Per annullare l'iscrizione a questo gruppo e non ricevere più i suoi
> messaggi, invia un'email a spaghettiopend...@googlegroups.com.
> Visita questo gruppo all'indirizzo
> http://groups.google.com/group/spaghettiopendata.
> Per ulteriori opzioni, visita https://groups.google.com/groups/opt_out.



--
Maurizio "Napo" Napolitano
http://de.straba.us

sabas88

unread,
Aug 15, 2013, 5:48:21 PM8/15/13
to spaghett...@googlegroups.com
Il giorno 15 agosto 2013 23:09, Andrea Angeli <angeli...@gmail.com> ha scritto:
Ciao,
Sto cercando un file in formato .xls o .json contenente le coordinate (poligoni) dei confini dei comuni italiani. Alternativamante esiste un modo per convertire gli shapefile forniti dall'stat?
 

Andrea Angeli

unread,
Aug 16, 2013, 4:37:07 AM8/16/13
to spaghett...@googlegroups.com

Ciao,

in pratica volevo costruire una map con exhibit simile widget e l’aggiunta di polygons. Per fare questo ho però bisogno di costruirmi un file json contenente il campo “id” con il nome dei comuni e un campo “border” contenete le coordinate dei confini. Lo shapefile dell’istat contiene sia il campo con il nome dei comuni sia il campo con le coordinate dei poligoni. Ho solo la necessità di trasformarlo in formato json oppure in formato xls (che poi posso ritrasformare a sua volta in json con Babel). Mi dicevi che con Quantum Gis posso trasformare lo shapefile ma in quale modo?

Dopo aver caricato tutti i file cella cartella compressa come devo procedere per esportarlo negli altri formati?

Maurizio Napolitano

unread,
Aug 16, 2013, 5:06:44 AM8/16/13
to Spaghetti Open Data
> in pratica volevo costruire una map con exhibit simile widget e l’aggiunta
> di polygons. Per fare questo ho però bisogno di costruirmi un file json
> contenente il campo “id” con il nome dei comuni e un campo “border”
> contenete le coordinate dei confini.

ma le coordinate come sono espresse?
in WKT?
Hai un esempio

> Lo shapefile dell’istat contiene sia il
> campo con il nome dei comuni sia il campo con le coordinate dei poligoni. Ho
> solo la necessità di trasformarlo in formato json oppure in formato xls (che
> poi posso ritrasformare a sua volta in json con Babel).

xls non e' un formato per i dati geografici, quindi trasforma in geojson (che
il json con le informazioni geografiche).
Da quello che ho inteso pero' ti conviene scaricare i confini generalizzati
e, molto probabilmente. generalizzarli ancora di piu'.
Il numero di archi non e' indifferente e la tua applicazioni via browser
potrebbe risentirne parecchio

> Mi dicevi che con
> Quantum Gis posso trasformare lo shapefile ma in quale modo?

solitamente e' un esercizio che si lascia al lettore :)
Cmq: bottone di destra sopra il layer caricato e poi "Salva con nome"
Ti appare una flotta di formati fra cui geojson
Se usi il plugin mmqgis puoi fare l'export in csv anche delle geometrie,
ma penso ti crei una stringa WKT

> Dopo aver caricato tutti i file cella cartella compressa come devo procedere
> per esportarlo negli altri formati?

Scomprimi tutto, poi carichi il layer in formato .shp e quindi ti
chiedera' di caricare
solo il file con l'estensione .shp

In ogni caso con ogr2ogr fai molto prima
Anzi, se sei pigro con la linea di comando, c'e' la sua versione con interfaccia
grafica
http://www.ogr2gui.ca

Suppongo tu debba anche convertirti le coordinate dalla proiezione usata da
istat a quella in wgs84
cmq

ogr2ogr -F geojson -t_srs EPSG:4326 comuni.json comuni.shp

... meglio se aggiungi il parametro "-simplify" per rendere il file .json piu'
piccolo aggiungendo il valore della distanza di tolleranza (ricorda che i
dati di istat sono espressi in metri)
Chiaramente perdi di qualita' sulle informazioni dei confini, ma mi sembra
che tu voglia comunque mantenere una vista per cui riesci a vedere tutti
i comuni dentro alle regioni
Es.
ogr2ogr -simplify 1000 -F geojson -t_srs EPSG:4326 comuni.json comuni.shp


Nota finale:
ricordati che moltissimi comuni hanno delle enclave, quindi hanno "isole"
dentro ad altri comuni.
Detto in altre parole: e' probabile che troverai piu' di un poligono per lo
stesso comune

Andrea Angeli

unread,
Aug 16, 2013, 5:34:49 AM8/16/13
to spaghett...@googlegroups.com

Volevo costruire qualcosa del genere

http://trunk.simile-widgets.org/exhibit/examples/polymap/election08.html

Il quale contiene un file json all’interno del quale per ogni stato è definito un “label” il nome dello stato e un “border” contenete le coordinate del poligono(confini) dello stato come esempio sotto

 /////estratto codice///////

{"id":"Utah",

   "label":"Utah",

   "type":"State",

   "uri":"http://trunk.simile-widgets.org/exhibit/examples/polymap/item#Utah",

   "border":"41.99624282178582,-114.0435791015625|42.004407212963585,-111.0498046875|40.9964840143779,-111.0498046875|41.000629848685385,-109.05029296875|38.27700093565902,-109.061279296875|38.156156969924915,-109.0447998046875|37.00255267215955,-109.05029296875|37.00255267215955,-114.0545654296875|41.99624282178582,-114.0435791015625",

   "vote-for":"McCain",

   "origin":"http://trunk.simile-widgets.org/exhibit/examples/polymap/election08.html#Utah"

  },

////////////////////////////////////////////////////////////////////////////

ilmistra

unread,
Aug 16, 2013, 6:10:16 AM8/16/13
to spaghett...@googlegroups.com
Andrea, come ti anticipava Napo, considera il numero di poligoni. 8000 comuni italiani contro 50 stati americani. Anche scaricando lo shapefile meno dettagliato, non ce la fai a portare nel browser tutti i poligoni comunali. Forse in formato TopoJSON riesci ad essere più performante, ma non ho esperienza su questo. Per darti un idea, in GMaps importo a fatica 3000 poligoni in GeoJSON, a costo di attendere almeno una decina di secondi il caricamento, e su alcuni server vado in timeout.

Maurizio Napolitano

unread,
Aug 16, 2013, 6:21:17 AM8/16/13
to spaghett...@googlegroups.com

Curiosa formattazione del json per le coordinate
In ogni caso riesci a fare tutto solo che dovrai semplificare brutalmente le geometrie e cambiare le stringhe delle coordinate
Come già detto dovrai anche riproiettare
Occhio al rischio di invertire x con y
Infine il discorso delle enclave dei confini comunali rimarrà un problemino nella lettura dei dati

Forse il passaggio per gmaps porterà a qualche miglioramento di performance

------
Maurizio 'napo' Napolitano
http://de.straba.us

--

Paolo Di Pietro

unread,
Aug 16, 2013, 4:16:42 PM8/16/13
to spaghett...@googlegroups.com, spaghett...@googlegroups.com
Scusate, ma perchè serve caricare tutti gli 8000 comuni insieme? I 52 stati americani hanno un senso (si distinguono visivamente) ma 8000 comuni no.
Quindi basta zoomare e caricare solo quello che si vede al volo da un DB

Pdp


Maurizio Napolitano

unread,
Aug 16, 2013, 4:26:03 PM8/16/13
to Spaghetti Open Data
Concordo
la domanda iniziale era come convertire il file ecc...
In ogni caso una soluzione e' quella di gestire i confini a vari
livelli di zoom.
La cosa pero' un po' si complica, ma non molto in quanto Andrea dovra'
rivedere l'architettura usando, invece che un file .json, un servizio che
genera mappe a diversi livelli di zoom (tms o wms).
... credo pero' che poi l'integrazione con exibith sia ancora piu' tosta.



2013/8/16 Paolo Di Pietro <pdip...@diviana.net>:

Andrea Nelson Mauro

unread,
Aug 17, 2013, 7:13:43 AM8/17/13
to spaghett...@googlegroups.com
@Andrea: lo stesso @napo aveva lavorato sugli archi delle Regioni e delle Province. E gli archi delle province presentavano dei problemi che necessitavano ottimizzazione

avventurarsi sui comuni (che sono superiori di quasi due ordini di grandezza) è probabilmente un suicidio :D 

Maurizio Napolitano

unread,
Aug 17, 2013, 9:03:17 AM8/17/13
to spaghett...@googlegroups.com

In realtà opencoesione mostra una mappa con i comuni ma non si porta le geometrie client side
Il tutto viene elaborato server side
Semplificando il discorso si usa lo stesso stack usato da openstreetmap per il rendering dei dati (mapnik+tms)


------
Maurizio 'napo' Napolitano
http://de.straba.us

Paolo Di Pietro

unread,
Aug 18, 2013, 4:46:42 AM8/18/13
to spaghett...@googlegroups.com, spaghett...@googlegroups.com
Avete provato ad utilizzare SVG ed i layer per la rappresentazione?
E' un tentativo, anche se non so bene date le dimensioni.

PDP


Reply all
Reply to author
Forward
0 new messages