Re: [Talk-it] Elenco strade italiane per comune
Ciao Pietro! Un piacere leggerti. Il progetto di cui parli e' interessante e, immagino, che nel frattempo la comunita' degli sviluppatori python abbia gia' trovato la soluzione. In ogni caso ecco qualche dritta sul fronte del parsing MAPOSMATIC http://www.maposmatic.org si tratta di una applicazione web scritta in *python* dove selezioni un area geografica e questo ti genera una mappa ed uno stradario la mappa con un griglia sopra con celle da 500 metri lo stradario invece in ordine alfabetico con la lista delle strade e i relativi quadranti dove si trovano I due file sono distribuiti in pdf e svg ma, lo stradario, e' dato anche in csv :) Il codice sorgente si trova qui https://savannah.nongnu.org/projects/maposmatic/ la componente che genera i file e' stata anche separata in forma di command line con il nome ocitymap http://git.savannah.gnu.org/cgit/maposmatic/ocitysmap.git Ti copio/incollo un pezzo del README ocitysmap generates a city street map, using the OpenStreetMap project's data and the MapNik map renderer. The generated maps are vector graphics images, including a street index and city grid. [...] By default, the maps are generated in PDF format with the street index at the bottom, with an additional CSV containing the street index. To see the available options to change this behavior, please run: ./ocitysmap2-render --help IMPOSM http://imposm.org/ Si tratta di una libreria python che ti permette di importare file .osm o .pdf dentro postgis (lo sviluppatore dice che e' possibile estendere anche a spatialite ed altro, ma, per ora, nessuno lo ha fatto). Il tutorial e' molto esplicativo http://imposm.org/docs/imposm/latest/tutorial.html Puoi decidere di personalizzare cosa importare andando a creare un oggetto dichiarando tag e geometrie che ti interessano - http://imposm.org/docs/imposm/latest/mapping.html Per le performance faccio un altro copia/incolla You can import 1 GB .osm.bz2 (~Germany) on a system with 2 GB RAM and Europe (~5 GB PBF) works fine on a system with 8 GB RAM. Larger imports (planet.osm) are still possible but will take longer if you don’t have 16 GB or more (about 20h with 8GB). OSMIUM https://github.com/joto/osmium si tratta di una libreria C++ per il parsing di file .osm e .pdf e genera poi file .shp o .csv per chi non ne sa di C++ ma invece di javascript lo sviluppatore di osmium ha creato anche l'interprete javascript osmjs - presente nel tree di osmium https://github.com/joto/osmium/tree/master/osmjs Qui rimando alla lettura totale del README (niente copia/incolla) https://github.com/joto/osmium/blob/master/osmjs/README e alla pagina nel wiki http://wiki.openstreetmap.org/wiki/Osmium Per le sorgenti dati, oltre al gia' citato server di gfoss, geofabrik mette disponibile i file di openstreetmap sia in osm, che pbf, che convertiti in .shp divisi per nazioni http://download.geofabrik.de/osm/europe/ Riguardo invece la tua applicazione per aiutare a migliorare lo stradario e civici. Una applicazione in tal senso e' data da wheelmap.org I contributi possono arrivare anche da anonimi, in tal caso i tool di wheelmap interagiscono con le api di openstreetmap attraverso l'utente wheelmap. La parte piu' interessante e' data dai tool per iphone e android per l'inserimento e navigazione (anche se, per l' inserimento, preferisco cose come osm2go o mapzen-poi-collector). A Wherecamp.eu ho partecipato ad una idea di gioco su una applicazioen fatta dai ragazzi di Skobbler In pratica ci si organizzava per squadre e bisognava andare a fotografare la posizione di numeri civici in alcune vie intorno al posto dove era stato organizzato l'evento. La squadra che raccoglieva per prima l'elenco vinceva. Fra le applicazioni Skobbler esiste anche mapdust http://www.mapdust.com/ concettualmente simile a openstreetbugs http://openstreetbugs.schokokeks.org/ L'idea di creare un team di validatori non mi sembra proprio in sintonia con osm. In OSM dovrebbe valere il concetto della Linus' law Dato un numero sufficiente di occhi, tutti i bug vengono a galla dove, praticamente, i validatori si auto proclamano Concordo che sarebbe bello riuscire ad avere la garanzia della presenza di alcuni responsabili per ogni citta'. Consiglio l'uso di owl viewer http://matt.dev.openstreetmap.org/owl_viewer/ In ogni caso OSM ha bisogno di strumenti sempre piu' facili per l'inserimento dei dati. Quindi che ben venga la tua idea :) A presto ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Elenco strade italiane per comune
Il giorno 04 gennaio 2012 08:04, Pietro peter.z...@gmail.com ha scritto: Ciao a tutti! Ciao nella mailing list italiana di python si è aperto un topic [0] su come avere l'elnco di tutte le strade divise per comune. Io ho proposto una soluzione basata sulle api di cloudmade, ma per comuni grandi non può andare bene, il numero di vie è troppo elevato... L'altra soluzione proposta è quella di fare il parsing dell'osm e ricavarsi questa informazione, per prima cosa volevo sapere se qualcuno di voi lo ha già fatto, e se si, se il risultato del suo lavoro è già disponibile... Se non ci fosse, potrebbe essere interessante mettere un file già pronto su gfoss? In modo da incentivare l'utilizzo dei dati osm... Ho letto nel topic che hai linkato che ci hanno già guardato Ho scaricato qualche file in formato osm (openstreetmap), ma non mi sembrano molto comodi e affidabili per i nomi delle strade; la soluzione offline non mi piace molto. Eheheh. L'unica soluzione valida è o parsare il file osm (che è un xml alla fine e lo puoi gestire come vuoi con i parser del linguaggio; prova a guardare sulla wiki), o fare delle query a osm ( http://wiki.openstreetmap.org/wiki/PythonOsmApi) o guardare se riesci a combinare qualcosa con nominatim. Partendo da questa idea ho pensato ad un possibile ulteriore sviluppo... fare un javascript, che: - aiuti gli sviluppatori web nel gestire le form per l'iserimento degli indirizzi; - semplifichi la compilazione del proprio indirizzo da parte degli utenti; - inviti a collaborare ad openstreetmap per aggiungere/migliorare le informazioni mancanti... ed infine dia visibilità al progetto. Io vedrei una cosa del tipo, 1) l'utente sceglie la provincia, la mappa che prima inquadrava l'italia, viene aggiornata in modo da visualizzare la provincia di interesse; 2) l'utente sceglie il comune, la mappa visualizza il comune; 3) l'utente inizia a scrivere il proprio indirizzo, e gli vengono proposte delle vie già presenti in osm, se seleziona una via già presente la mappa viene aggiornata evidenziando la via. Se la via non è presente si potrebbe invitare l'utente ad aggiungerla registrandosi al sito: www.openstreetmap.org, oppure si potrebbe fare in modo che l'utente aggiunge disegnando direttamente sulla mappa la via mancante... Questa informazione potrebbe essere poi trasformata in osm ed importata nel databse, magari dopo una validazione, basterebbe individuare una o più persone per comune... 4) aggiunge il civico, anche qui se presente viene avidenziato altrimenti l'utente viene invitato a collaborare registrandosi o aggiungendolo direttamente sulla mappa. Io non sono troppo esperto in javascript e html, però la cosa mi sembrerebbe fattibile, uno javascript consentirebbe allo sviluppatore di ottenere un form carino e funzionante senza dover sbattersi, alla comunità di osm consentirebbe di avere maggiore visibilità, avvicinare gli utenti, avere più persone che inseriscono e controllano i dati. Voi cosa dite? è un cazzata? è fattibile? I primi due punti e mezzo sono fattibili con Jquery e l'autocompletamento (posto che ci sia un modo di fare query via php, magari con xpath) La seconda parte del punto tre l'avevo tirata fuori nel topic di Map Maker, si tratta di agire per migliorare l'usabilità, ma questo lo devono fare i dev di OSM. Il quattro è simile a questo discorso. buona giornata! Pietro Ciao, Stefano [0] http://www.mail-archive.com/python@lists.python.it/msg09229.html ___ 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
Re: [Talk-it] Elenco strade italiane per comune
Eheheh. L'unica soluzione valida è o parsare il file osm (che è un xml alla fine e lo puoi gestire come vuoi con i parser del linguaggio; prova a guardare sulla wiki) il file osm di per se stesso non ti da questa informazione, lo devi prima caricare in un database geografico (usando ad esempio imposm come suggerito prima) convertendo le relazioni dei confini comunali in multipoligoni, oppure usando direttamente i comuni istat. Dopo puoi estrarre la lista delle vie con semplici query geografiche. In ogni caso è un lavoro che fanno già quelli di gfoss, qui un esempio per il comune di Milano [1]. Non so quanto i dati siano aggiornati e se è possibile esportare il risultato in un formato più computer-friendly ma direi che il grosso del lavoro è già fatto. [1] http://www.gfoss.it/osm/stat/?cod_com=15146 Ciao, Stefano ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Elenco strade italiane per comune
2012/1/4 Pietro peter.z...@gmail.com Ciao a tutti! Ciao nella mailing list italiana di python si è aperto un topic [0] su come avere l'elnco di tutte le strade divise per comune. Sul sito di GFOSS abbiamo sviluppato (in PHP) un sito [1] che calcola le statistiche sui limiti amministrativi. Se vai su una regione - provincia - comune arrivi ad una pagina con lo stradario comunale (es. Pisa [2]). L'idea era proprio di creare delle pagine OpenStreetMap per ogni comune con la possibilità di avere suggerimenti sui dati mancanti. Il sistema scarica settimanalmente da geofabrik i dati italiani, li importa in postgres con osm2pgsql e poi una serie di script sql precalcolano tutte le statistiche (prima si spezzano le strade con i limiti amministrativi e poi si calcolano le lunghezze). Dopo questo lo sviluppo dell'interfaccia web è banale. Se interessano vi posso girare il codice. Ciao, Diego [1] http://www.gfoss.it/osm/stat/ [2] http://www.gfoss.it/osm/stat/?cod_com=50026 ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Elenco strade italiane per comune
Se interessano vi posso girare il codice. Premesso che me lo hai gia' girato a suo tempo, perche' non lo pubblichi online? Se mi rispondi che non hai tempo lo faccio io :) pero' mi devi dire che tipo di licenza vuoi Eheheh ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Elenco strade italiane per comune
2012/1/4 Maurizio Napolitano napoo...@gmail.com Se interessano vi posso girare il codice. Premesso che me lo hai gia' girato a suo tempo, perche' non lo pubblichi online? Se mi rispondi che non hai tempo lo faccio io :) pero' mi devi dire che tipo di licenza vuoi Si pubblicalo pure, per la licenza andrebbe bene una BSD . ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
[Talk-it] Elenco strade italiane per comune
Ciao a tutti! nella mailing list italiana di python si è aperto un topic [0] su come avere l'elnco di tutte le strade divise per comune. Io ho proposto una soluzione basata sulle api di cloudmade, ma per comuni grandi non può andare bene, il numero di vie è troppo elevato... L'altra soluzione proposta è quella di fare il parsing dell'osm e ricavarsi questa informazione, per prima cosa volevo sapere se qualcuno di voi lo ha già fatto, e se si, se il risultato del suo lavoro è già disponibile... Se non ci fosse, potrebbe essere interessante mettere un file già pronto su gfoss? In modo da incentivare l'utilizzo dei dati osm... Partendo da questa idea ho pensato ad un possibile ulteriore sviluppo... fare un javascript, che: - aiuti gli sviluppatori web nel gestire le form per l'iserimento degli indirizzi; - semplifichi la compilazione del proprio indirizzo da parte degli utenti; - inviti a collaborare ad openstreetmap per aggiungere/migliorare le informazioni mancanti... ed infine dia visibilità al progetto. Io vedrei una cosa del tipo, 1) l'utente sceglie la provincia, la mappa che prima inquadrava l'italia, viene aggiornata in modo da visualizzare la provincia di interesse; 2) l'utente sceglie il comune, la mappa visualizza il comune; 3) l'utente inizia a scrivere il proprio indirizzo, e gli vengono proposte delle vie già presenti in osm, se seleziona una via già presente la mappa viene aggiornata evidenziando la via. Se la via non è presente si potrebbe invitare l'utente ad aggiungerla registrandosi al sito: www.openstreetmap.org, oppure si potrebbe fare in modo che l'utente aggiunge disegnando direttamente sulla mappa la via mancante... Questa informazione potrebbe essere poi trasformata in osm ed importata nel databse, magari dopo una validazione, basterebbe individuare una o più persone per comune... 4) aggiunge il civico, anche qui se presente viene avidenziato altrimenti l'utente viene invitato a collaborare registrandosi o aggiungendolo direttamente sulla mappa. Io non sono troppo esperto in javascript e html, però la cosa mi sembrerebbe fattibile, uno javascript consentirebbe allo sviluppatore di ottenere un form carino e funzionante senza dover sbattersi, alla comunità di osm consentirebbe di avere maggiore visibilità, avvicinare gli utenti, avere più persone che inseriscono e controllano i dati. Voi cosa dite? è un cazzata? è fattibile? buona giornata! Pietro Pietro [0] http://www.mail-archive.com/python@lists.python.it/msg09229.html ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it