Re: [Talk-it] Elenco strade italiane per comune

2012-01-04 Per discussione Maurizio Napolitano
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

2012-01-04 Per discussione sabas88
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

2012-01-04 Per discussione Stefano Salvador
 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-01-04 Per discussione Diego Guidotti - Aedit s.r.l.
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

2012-01-04 Per discussione Maurizio Napolitano
 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-01-04 Per discussione Diego Guidotti - Aedit s.r.l.
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

2012-01-03 Per discussione Pietro
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