uno script che calcola le distanze stradali tra posti o comuni

3,751 views
Skip to first unread message

Andrea Zedda

unread,
Jul 16, 2013, 2:07:06 PM7/16/13
to spaghett...@googlegroups.com
Ciao a tutti,
avrei la necessità di metter su una matrice delle distanze stradali in km e tempi di percorrenza tra i comuni sardi che son 377.
Quindi vorrei sapere se c'è un metodo veloce e facilmente replicabile per calcolare due matrice 377x377, un coi km una coi tempi di percorrenza.
Ho indagato un po' e provato a interrogare le api di google, non riuscendo ad ottenere un risultato soddisfacente perché non riesco a moltiplicare la richiesta se non una per volta.
Ho provato anche le api di project osrm ottimo servizio basato su OSM ma con scarsi risultati. 
questa api non accetta i nomi dei comuni ma solo le coordinate, il che non è un problema dato che ne sono in possesso.
In entrambi i casi non riesco a loopare la richiesta e ottenere un unico output.
ho provato di tutto, anche il merdoso script di gdoc getDistance che non riesco proprio a far funzionare.
Any idea?
bye
Andria
 

Maurizio Napolitano

unread,
Jul 16, 2013, 2:40:54 PM7/16/13
to spaghett...@googlegroups.com

Ci do un occhio più tardi ma ho la sensazione che se usi spatialite con la funzione di routing e i dati di osm ed un po' di SQL fai tutto
Trovi un tutorial per i dati penso che sai come fare
Se ti serve le divisione per regioni vai su download.gfoss.it/osm

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

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

Andrea Zedda

unread,
Jul 16, 2013, 2:43:21 PM7/16/13
to spaghett...@googlegroups.com
il mio SOD lurker preferito Stefano Sabatini mi ha dato sto drittone https://github.com/apmon/RoutingGrid.
da quel che ho capito interroga google, per cui addio 377x377 ma ora lo sto testando


Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/spaghettiopendata/MVEtReSy8ic/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, 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.
 
 



--
Andrea Zedda
skype: andria_tzedda
twitter: @Andria_Tzedda
-----------------------------------
Kode srl
via Gioacchino Volpe, 74 56121 Ospedaletto (Pisa)
http://kode-solutions.net
-----------------------------------
Sardinia Open Data
http://sardiniaopendata.org/
-----------------------------------

Maurizio Napolitano

unread,
Jul 16, 2013, 3:13:30 PM7/16/13
to spaghett...@googlegroups.com
Giusto per curiosita': hai l'elenco di queste citta'?

2013/7/16 Andrea Zedda <andrea...@gmail.com>:
Maurizio "Napo" Napolitano
http://de.straba.us

Andrea Zedda

unread,
Jul 16, 2013, 3:25:13 PM7/16/13
to spaghett...@googlegroups.com
yes, deriva da un'estrazione di osm dei centri abitati: https://docs.google.com/file/d/0B6wswX5u4LeMdFU1NXg2UGpqa2M/edit


Alessio Dragoni

unread,
Jul 17, 2013, 3:01:27 AM7/17/13
to spaghett...@googlegroups.com, Andrea Zedda
Andrea hai mai provato la Google distance Matrix API ?

se vuoi XML
http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Oristano|Italy&destinations=Cagliari|Italy&mode=driving&language=it-IT&sensor=false

in caso necessiti del JSON:
http://maps.googleapis.com/maps/api/distancematrix/json?origins=Oristano|Italy&destinations=Cagliari|Italy&mode=driving&language=it-IT&sensor=false

ci sono dei limiti nell'utilizzo ma per il tuo caso penso sia piu' che sufficiente
comunque puoi controllare i dettagli sulla documentazione completa

se poi ti serve una distanza in linea d'aria puoi calcolarti la distanza di due punti su una sfera
http://www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe

saluti,
Alessio

Andrea Zedda

unread,
Jul 18, 2013, 4:00:04 AM7/18/13
to spaghett...@googlegroups.com
 è con grande emozione che vi comunico la freschissima creazione dello script da parte del santo subito Stefano Sabatini: https://github.com/sabas/OSRMdistance
 La cosa bella dello script è che si basa su dati Osm e più precisamente sfrutta http://project-osrm.org/ (non interrogatelo da api ma installatevelo neile vostre macchine). Quindi complimentissimi a stefano!
un altra cosa bella è che una volta che lo script ha prodotto la matrice abbiamo notato dei problemi nel calcolo delle distanze: il routing non funzionava per alcuni comuni. Allora abbiamo individuato i problemi (strade e collegamenti mal connessi) e li abbiamo corretti direttamente su osm, aumentando così la qualità della fonte dei dati in maniera diretta.

Andrea Zedda

unread,
Aug 20, 2013, 4:47:59 AM8/20/13
to spaghett...@googlegroups.com
Sulla necessità e la nascita di questo script ho approfondito un po' con questo post: http://sardiniaopendata.org/2013/08/19/osrmdistance-e-il-circolo-virtuoso-dei-community-data/

antonello...@gmail.com

unread,
Jul 14, 2015, 11:42:31 AM7/14/15
to spaghett...@googlegroups.com
Ciao ragazzi, navigando su internet sono arrivato al vostro forum.
Ho un problema enorme, devo calcolare la distanza stradale(km) tra tutti i comuni della campania, praticamente una matrice (551*551).
Ho letto che qui si discuteva dello stesso problema. Siccome non so proprio come fare qualcuno mi potrebbe aiutare?
Grazie a tutti in anticipo.

Andrea Zedda

unread,
Jul 14, 2015, 11:48:48 AM7/14/15
to spaghett...@googlegroups.com
Ciao,
grazie al mitico sabas88 meglio conosciuto come Stefano Sabatini risolvemmo grazie a Osrm (un motore che fa routing su osm) installato tranquillamente in locale.
Nel link di sardinia open data [1] sopra troviil link al tool sviluppato da Stefano OSRMdistance [2]
Nel readme c'è spiegato tutto. nel caso cmq chiedi pure.
noi ascoltiamo.
Ciao
Andrea

[1] http://sardiniaopendata.org/2013/08/19/osrmdistance-e-il-circolo-virtuoso-dei-community-data/
[2] https://github.com/sabas/OSRMdistance.

Maurizio Napolitano

unread,
Jul 14, 2015, 12:04:56 PM7/14/15
to Spaghetti Open Data
Aggiungo che nel frattempo l'università di Heidelberg ha creato una
nuova versione di openrouteservice
http://openrouteservice.org/

consultabile via API
http://wiki.openstreetmap.org/wiki/OpenRouteService#OpenRouteService_API

fra le varie funzioni molto interessante quella del calcolo delle isocrone
(= cosa si raggiunge da un punto in tot minuti?)

In ogni caso kudos++ a sabas :)

antonello...@gmail.com

unread,
Jul 14, 2015, 12:10:12 PM7/14/15
to spaghett...@googlegroups.com
Andrea, ti ringrazio per aver risposto, però siccome non sono per niente pratico di queste cose, sono alle primissime armi, mi potresti aiutare magari dicendomi passo passo che fare o magari mandandomi il link da dove poter scaricare il programma? non so dove mettere mani
Ti ringrazio.

Andrea Zedda

unread,
Jul 15, 2015, 3:41:57 AM7/15/15
to spaghett...@googlegroups.com
Antonello, nel link che ti ho postato c'è il programma.
l'utilizzo è ben spiegato passo passo dal buon sabas.
fai delle prove vedrai che non è così difficile.
ciau

Il giorno 14 luglio 2015 18:10, <antonello...@gmail.com> ha scritto:
Andrea, ti ringrazio per aver risposto, però siccome non sono per niente pratico di queste cose, sono alle primissime armi, mi potresti aiutare magari dicendomi passo passo che fare o magari mandandomi il link da dove poter scaricare il programma? non so dove mettere mani
Ti ringrazio.

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/spaghettiopendata/MVEtReSy8ic/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a spaghettiopend...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/spaghettiopendata.
Per altre opzioni visita https://groups.google.com/d/optout.



--
Andrea Zedda
mobile: +39 3283774480
skype: andria_tzedda
twitter: @andria_tzedda
-----------------------------------
Kode srl
via Nino Pisano 14 -56122 Pisa
http://kode-solutions.net

antonello...@gmail.com

unread,
Jul 21, 2015, 6:35:41 AM7/21/15
to spaghett...@googlegroups.com

ciao Andrea, sto seguendo i link che mi hai inviato ad un certo punto esce un file con indicata la sardegna, volevo chiederti una cosa, 
 siccome io ho bisogno delle distanze della regione campania, devo sostituire la sardegna con la campania oppure è scritta in maniera generica e quindi non devo sostituire niente?

Andrea Zedda

unread,
Jul 21, 2015, 6:47:21 AM7/21/15
to spaghett...@googlegroups.com
si, devi scaricarti il file pdf della campania da qui http://osm-toolserver-italia.wmflabs.org/estratti/it/
e far riferimento ad esso

Il giorno 21 luglio 2015 12:35, <antonello...@gmail.com> ha scritto:

ciao Andrea, sto seguendo i link che mi hai inviato ad un certo punto esce un file con indicata la sardegna, volevo chiederti una cosa, 
 siccome io ho bisogno delle distanze della regione campania, devo sostituire la sardegna con la campania oppure è scritta in maniera generica e quindi non devo sostituire niente?

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/spaghettiopendata/MVEtReSy8ic/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a spaghettiopend...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/spaghettiopendata.
Per altre opzioni visita https://groups.google.com/d/optout.

antonello...@gmail.com

unread,
Jul 24, 2015, 1:04:37 PM7/24/15
to Spaghetti Open Data, andrea...@gmail.com


Ciao andrea, perdona il disturbo ho compilato il programma, alla fine escono queste istruzioni:

 

[info] Reading options from: server.ini
[warn] ./osrm-routed could not be locked to RAM
[info] starting up engines, v4.7.0
[info] populating base path:
[info] not a regular file
[warn] exception: .hsgr not found: .hsgr

 

che significa?

in più poi richiede il file CSV in input, dove posso scaricare lat e long dei comuni della campania?

io ho il file dell'istat (allegato) va bene? quali colonne mi possono servire? grazie in anticipo

Elenco_comuni campania CSV.csv

antonello...@gmail.com

unread,
Jul 27, 2015, 4:54:02 AM7/27/15
to Spaghetti Open Data, andrea...@gmail.com, antonello...@gmail.com
Buongiorno ragazzi, qualcuno mi può aiutare rispondendo al post mio precedente? scusate se vi disturbo ma è di fondamentale importanza.

Stefano

unread,
Jul 27, 2015, 4:59:22 AM7/27/15
to spaghett...@googlegroups.com, Andrea Zedda
Il giorno 24 luglio 2015 19:04, <antonello...@gmail.com> ha scritto:


Ciao andrea, perdona il disturbo ho compilato il programma, alla fine escono queste istruzioni:

 

[info] Reading options from: server.ini
[warn] ./osrm-routed could not be locked to RAM
[info] starting up engines, v4.7.0
[info] populating base path:
[info] not a regular file
[warn] exception: .hsgr not found: .hsgr

 

che significa?


Che hai troppa poca RAM? O magari non hai configurato il file INI

Hai seguito questo?
 

in più poi richiede il file CSV in input, dove posso scaricare lat e long dei comuni della campania?

io ho il file dell'istat (allegato) va bene? quali colonne mi possono servire? grazie in anticipo



Basta farlo in questo formato

nella prima colonna puoi scrivere quello che vuoi, te lo ritrovi in from / to

Ciao,
Stefano 

--
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ù le sue email, invia un'email a spaghettiopend...@googlegroups.com.

antonello...@gmail.com

unread,
Jul 27, 2015, 6:04:10 AM7/27/15
to Spaghetti Open Data, andrea...@gmail.com, sab...@gmail.com

grazie mille, un ultima cosa latitudine e longitudine vanno bene in questo formato?
per esempio:

 Napoli 40.852972, 14.273056

Stefano

unread,
Jul 27, 2015, 6:12:24 AM7/27/15
to antonello...@gmail.com, Spaghetti Open Data, Andrea Zedda
Separati da punto e virgola (viene meglio che cambiare lo script (anche l'output è separato da punto e virgola)

Napoli;40.852972;14.273056

Maurizio Napolitano

unread,
Sep 9, 2015, 8:33:49 AM9/9/15
to Spaghetti Open Data
Riprendo questo thread perchè "A volte ritornano" :)
Solo per segnalare che ora graphhopper (tool di routing
basato sui dati di osm) adesso ha le API per calcolare
le matrici di distanza.
Qui la demo
https://graphhopper.com/api/1/examples/#matrix

Andrea Zedda

unread,
Sep 9, 2015, 8:41:36 AM9/9/15
to spaghett...@googlegroups.com
saved!

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/spaghettiopendata/MVEtReSy8ic/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, 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/d/optout.

Laura Camellini

unread,
Sep 9, 2015, 9:05:51 AM9/9/15
to spaghett...@googlegroups.com

Wow

Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopend...@googlegroups.com.

Visita questo gruppo all'indirizzo http://groups.google.com/group/spaghettiopendata.

Alberto Acquilino

unread,
May 12, 2020, 6:03:38 AM5/12/20
to Spaghetti Open Data
Buongiorno a tutti,

sto cercando un modo automatico per calcolare due matrici delle distanze in km tra diversi punti georeferenziati in territorio svizzero.
Una matrice per le distanze stradali e una matrice per le distanze sulla rete ferroviaria (i punti sono collocati anche sulla rete ferroviaria).

Non mi sembra che su openrailwaymap ci sia un modo dove poter calcolare le distanze.
Per caso qualcuno di voi ha già affrontato il problema e saprebbe darmi qualche indicazione?

Vi ringrazio molto per l'attenzione,

Alberto

Maurizio Napolitano

unread,
May 12, 2020, 9:12:21 AM5/12/20
to Spaghetti Open Data
Puoi usare graphhopper o openrouteservice
> --
> 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ù le sue email, invia un'email a spaghettiopend...@googlegroups.com.
> Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/d306aefd-49cd-4126-a3f5-2e0b278eb073%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages