OpenStreetMap logo OpenStreetMap

Routing QA

Posted by Cascafico on 3 October 2017 in Italian (Italiano). Last updated on 19 October 2017.

Mini abstract

Come riportato nella wiki sul routing. “Checking your fix. After you have fixed an error on the map you will need to wait until the revised version of the map propagates into the routing engine you are using. This delay will depend for each engine…”, uno dei problemi della Qualty Assurance (QA) è il tempo che intercorre tra la modifica OSM e l’integrazione nei database di routing. Per quel che ho visto, Grasshopper è più rapido ad aggiornarsi di Mapzen ed OSMRM, ma si tratta sempre di alcune ore per il primo e più di un giorno per gli altri.

Se trovo un problema di routing ad uno svincolo e cerco di risolverlo, il riscontro va ben oltre il tempo di editing, Vediamo quindi se possiamo ovviare a questo ritardo, in modo casalingo…

Individuiamo un router

Routino sembra essere semplice, funzionale e flessibile. La mia scelta è caduta su questo SW, perchè funziona agilmente anche sul mio OrangePi, con il quale posso fare routing sui dati per il Friuli Venezia Giulia. Per aree più estese si incontrerebbero presto i limiti hardware di questa macchinetta, per cui lasciamo il routing mondiale ai servizi sopraccitati e dedichiamoci a come generare al volo una sorta di patchwork on-demand…

Automatizziamo la compilazione

L’utilizzatore deve poter scegliere la zona geografica che vuole controllare; all’uopo (non avendo conoscenze di programmazione html5) ho creato un bot Telegram che ho chiamato RoutinoBot ed un bash script che ne gestisce i dati ottenuti. Quello che succede è:

  • il bot chiede una “Location” (da spedirgli con la “graffetta”)
  • lo script lancia una query [aggiungere barrier] con le coordinate ricevute che scarica un .osm contente solo highway e restriction [e barrier] di un’area di lato 0.002° [cos(latitudine) TBD]
  • lo script esegue alcune operazioni di pulizia (il tool di routino planetsplitter non accetta tag “metà” e “note” nei .osm in input) ed aggiona database ed estremi della mappa navigabile;
  • al bot viene mandato un messaggio da @Cascafico [TBM] a segnalare l’aggiornamento.
  • la mappa navigabile, aggiornata con la nostra patch, é accesibile sulla webGUI di routino

Per ogni Location inviata, sul server viene salvato il relativo .osm e viene ricompilato il database di routino [aggiornamento incrementale TBD]. Considerato che è un servizio di test finalizzato al controllo QA di dati “freschi”, ogni Location più vecchia di 24h viene cancellata.

[articolo in compilazione…]

Discussion

Comment from bubix on 17 October 2017 at 12:04

Anche in lingua locale fantastico! :-)

Log in to leave a comment