Archivio

Posts Tagged ‘OSRM’

Numeri civici Open Data in Italia (hashtag #IndirizzatiItalia!): ce ne sono? Quanti sono? Chi li mette a disposizione? Dove sono?

24 settembre 2014 4 commenti

Spesso a volentieri, seguendo le varie discussioni legate al geocoding di informazioni sulla base dell’indirizzo, si argomenta sulle potenzialità di georeferenziare oggetti sfruttando questa possibilità che, indubbiamente, permette di localizzare sul territorio molte informazioni.

Diversi sono gli sforzi di sensibilizzazione in tal senso: ultimi in ordine di tempo, la lettera aperta al Presidente del Consiglio Matteo Renzi sulla geo-localizzazione per i servizi ai cittadini  e il white paper sulla geo-localizzazione per i servizi ai cittadini, la cui stesura è in corso in modo collaborativo e sul quale, nel corso della prossima conferenza AM/FM il 25 Settembre a Roma, si terrà un convegno.

Argomento altamente dibattuto quindi la georeferenziazione per indirizzo ….. ma spesso se ne parla senza citare (o porre l’enfasi che si dovrebbe ….), quello che è l’elemento essenziale la cui disponibilità rende il tutto disponibile e fattibile, cioè l’indirizzo georiferito, al quale è poi possibile associare gli elementi che si intende localizzare / posizionare sul territorio stesso.

Per “indirizzo georiferito” si intende non tanto l’indirizzo espresso nei termini <via><n° civico>, con cui poi si effetta il geocoding usando strumenti e librerie commerciali e/o open source, ma, bensì, la coppia di coordinate che caratterizzano quell’indirizzo sul territorio.

  • Queste informazioni ci sono da qualche parte?
  • Sono liberamente disponibili / utilizzabili?
  • Quanti ce ne sono di liberamente disponibili / utilizzabili?
  • In quale modalità?
  • Quali Enti li stanno mettendo a disposizione?
  • Dove e come sono distribuiti sul territorio Nazionale?

Queste sono solo alcune delle domande che, personalmente, mi sono posto e a cui ho provato a cercare di dare una risposta.

Risposta sicuramente non esaustiva e definitiva, ma che al tempo stesso può essere un punto di partenza da integrare / arricchire con l’obiettivo di avere finalmente contezza di ciò di cui si stà parlando in modo oggettivo e tangibile rendendo queste informazioni disponibili nel loro insieme.

La mia ricerca è partita da quanto mette a disposizione per questa tematica OpenStreet Map con i suoi dati liberamente scaricabili. La situazione, come è normale attendersi per una comunità mondiale che si basa sul crowdmapping, è “a macchia di leopardo” , in special modo in Italia.

Ho poi proseguito sfogliando i vari geoportali e portali open data delle diverse Regioni, Province e Comuni Italiani per vedere se e quali di questi Enti mettessero a disposizioni i dati dei numeri civici georiferiti.

Con un po di pazienza sono arrivato al termine della mia ricerca ed il risultato non è stato esaltante.

Solo i seguenti Enti amministrativi mettono a disposizione questo livello informativo in modo esplicito:

  • Comune Anzola dell’Emilia
  • Comune di Torino
  • Comune di Bologna
  • Comune di Trento
  • Comune di Cesena
  • Comune di Rimini
  • Comune di Pavia
  • Regione Friuli Venezia Giulia

(NOTA: a questa lista va aggiunta la Regione Toscana che, il 22/09/14, ha dato notizia della disponibilità dei dati del proprio database topografico alla scala 1:2000, tra i cui livelli sono presenti  anche i numeri civici. News troppo a ridosso della pubblicazione di questo post per cui non ho avuto ancora il tempo di raccogliere ed integrare questi dati).

Una prima considerazione, oltre al plauso dovuto per la disponibilità offerta all’utenza per questi dati: se lo hanno fatto loro vuol dire che …. SI …. PUO’ …. FARE!!!

Un po’ poco però se lo immaginiamo rispetto al panorama nazionale.

Allora ho allargato un po’ la mia ricerca andando a cercare anche ciò che fosse stato reso disponibile come informazioni, legate a livelli informativi puntuali, che tipicamente avessero un indirizzo georiferito (se hanno un indirizzo ciò significa che questo esiste sul territorio ….)

Questa ricerca ha richiesto, ovviamente, molto più tempo, ma alla fine ha permesso di incrementare, sino agli attuali 149, il numero dei tematismi con indirizzi georiferiti potenzialmente disponibili  e, come effetto collaterale, anche individuare una serie di tipologie di livelli informativi che “tipicamente” sono messi a disposizione come open data georiferito, la cui distribuzione è la seguente:

DistribuzioneTipologieSi noti come la tipologia dei numeri civici veri e propri rappresenti “solo” il 5% del totale delle informazioni raccolte.

Il totale di ciò che ho raccolto è reso liberamente disponibile nel rispetto delle licenze d’suo dei dati originali.

Nel documento è possibile trovare, per ogni livello informativo:

  • i riferimenti relativi al nome dell’Ente che lo mette a disposizione in modalità open data
  • la sua url di pubblicazione
  • la sua url di download
  • il riferimento della licenza d’uso del dato
  • la url di download al dato trasformato in formato ESRI shapefile (senza alterazione della struttura dati), con sistema di riferimento WGS84

I dati sono anche resi consultabili, da un punto di vista geografico, usando il software open source QGIS, in due modalità:

Una breve nota tecnica: è necessario, per la consultazione di livelli informativi del Geoportale Nazionale, che, qualora si operi su una rete locale, si verifichi la corretta configurazione del  proxy, e, per rendere operativo lo sfondo OpenStreetMap, che, nel QGIS utilizzato, sia presente ed attivo il plugin OpenLayers. I progetti QGIS sono stati realizzati con la versione 2.0.1 (Dufour).

Per una consultazione web ho invece realizzato un piccolo esempio in web mapping basato su HTML, Javascript e Leaflet.

DettaglioMappa

Nel caso dell’applicazione web, per ragioni di semplificazione, i dati disponibili sono stati “aggregati” per Regione e/o Ente.

L’applicazione permette di:

  • localizzare l’area di interesse per indirizzo o nome della località
  • attivare / disattivare i layer di interesse (il dettaglio dell’indirizzo <via> <civico> è fornito solo alle scale di maggior dettaglio)
  • interrogare interattivamente il livello informativo “Civici Geoportale Nazionale – (WFS)”

Per tutti i dettagli tecnici di approfondimento si rimanda al post relativo.

Questa è una semplice raccolta di informazioni “as-is” mirata a dare un quadro d’insieme a livello nazionale della libera disponibilità di questa tipologia di informazioni, e nulla è stato fatto per armonizzare tra di loro i dati o per controllarne la qualità, sia della georeferenziazione, sia dell’informazione associata: è possibili quindi, anzi direi che è praticamente certo, che vi siano livelli informativi diversi che riportino il medesimo indirizzo localizzato sul territorio in punti diversi. Questo è sicuramente un lavoro che sarebbe di gran valore aggiunto ma che va oltre gli scopi e le finalità di questo post.

Cosa si potrebbe fare a questo punto? Beh tantissime cose, a partire dall’ampliare la disponibilità di questo tipo di dato da parte sia della P.A. Locale (Regioni, Province e Comuni), seguendo l’esempio di quelle che lo hanno già fatto, ma anche da parte della P.A centrale, con il completamento e la disponibilità aperta del Anagrafe delle Strade e dei Numeri Civici (ma ovviamente con la georeferenziazione dei civici ….. non come recentemente è stato fatto da ISTAT …:-) …), che era stato annunciato nel Decreto Digitalia, rinominato “Ulteriori misure urgenti per la crescita del Paese” (D.L. n.179 del 18 ottobre 2012) e di cui non si più saputo molto a 2 anni di distanza.

L’informazione georiferita, e quindi anche, ed in particolare direi, quella georiferita o georiferibile per indirizzo, può infatti essere considerata un fattore importante anche come elemento di crescita per lo sviluppo del Paese, argomento ultimamente ampiamente dibattuto nel contesto nazionale: se ne sono accorte (anni fa direi ….), realtà commerciali mondiali quali Google e la stessa Apple (con meno successo … ),  e quindi potrebbe esserlo, con i dovuti rapporti di scala, anche per il panorama Italiano, iniziando a vedere le informazioni georiferite come “infrastruttura” per i servizi futuri, ma con orizzonti che devono essere brevissimi.

Il dato disponibile in modalità open e con licenza compatibile, potrebbe poi andare ad integrare  e completare la copertura del livello di civici per OpenStreetMap in Italia (che al momento non è esaltante e non paragonabile ad altre realtà europee quali, ad esmepio. la Germania … ),  rendendo ancora più ampia la diffusione su larga scala di questo livello informativo anche oltre i confini nazionali. Come esempio di campo di applicazione si pensi ad esempio ai diversi motori di calcolo percorsi open source già oggi disponibili  (OpenTriplanner, OSRM, Graphopper, ecc …), che si basano su dati OSM e che non hanno nulla da invidiare (anzi in alcuni casi e per alcune caratteristiche a volte si dimostrano anche migliori … ).

Per evitare che questo lavoro resti una mera “fotografia” ad oggi, ma abbia una sua vita ed evoluzione, mi propongo di mantenerne un aggiornamento più o meno trimestrale, continuando a monitorare ogni annuncio utile che mi possa permettere di individuare nuove disponibilità (ovviamente chi interessato e a conoscenza di dati che non compaiono ancora nella raccolta me lo può segnalare liberamente, e sarà mia cura andarli ad integrare e rendere disponibili, nella medesima modalità, in versioni successive della stessa), poi …. non pongo limiti!.

Chiudo con i dovuti e necessari ringraziamenti a tutti coloro a cui, in varia modalità ho “rotto” un po’ le scatole nell’arco temporale (più lungo del previsto ma il tempo è sempre poco ….), che ha richiesto questo lavoro: a tutti un grazie per il tempo, poco o tanto non importa, che hanno speso per rispondere alle mie domande e per il supporto fornito. Cito i nomi sparsi ……. @napo, @simonecortesi@sbiribizio, @aborruso, @Piersoft, @ffierm, Diego.

P.S: Last but not least … un ringraziamento particolare, con menzione, a mia moglie Mary per la pazienza e per il tempo che un po’ le ho rubato.

Annunci

Un po’ di routing open source per tutti (QGIS & MapBox)


Negli ultimi giorni sembra che l’integrazione di soluzioni di routing open source in soluzioni GIS open source, sia desktop sia di web mapping, sia particolarmente di moda.

E’ stato infatti recentemente pubblicato un plugin (ancora sperimentale …..) di QGIS 2.0 per l’integrazione con pgRouting.

osm2po_route

Giusto per coglierne il senso …

  • pgRouting extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality. pgRouting is available under the GPLv2 license. Il prodotto è una delle migliori librerie open source (ma in alcuni casi anche migliore di prodotti equivalenti commerciali …), per il routing.
  • E’ possibile caricare i dati di OpenStreetMap e applicare su questi dati il routing
  • QGIS è il leader dei prodotti GIS Desktop open source  e quindi con questa estensione è possibile sia accedere alle funzioni di pgRouting sia usare, sul gis desktop stesso, le funzionalità di routing

Ovviamente, come tutte le cose open source, non è detto che sia tutto funzionante “out-of-the-box”, ma è sicuramente uno stack applicativo interessante e completamente open source (anche se non l’unico possibile su questa tematica). Il plugin è disponibile su GitHub.

Sul fronte web invece è ancora più recente la notizia che MapBox, nella realizzazione del bike route planner di Copenhagen, I Bike CPH, ha integrato il motore di routing open source OSRM di cui ho già avuto modo di parlare qui e qui.

BiciCopenhagen

Nel post sul blog di MapBox sono anche riportati alcuni dettagli tecnici che tra l’altro danno indicazioni su come fonti dati esterne alla consueta base dati OSM su cui si basa il motore di OSRM.

Tra le altre cose è da considerare che recentemente OSRM ha modificato la sua licenza passando dalla più restrittiva AGPL alla più permissiva BSD e possiamo dire che MapBox ha immediatamente colto l’opportunità offerta.

Vuoi calcolare la distanza tra punti georiferiti? OSRMdistance


Dal gruppo Google Spaghetti Open Data (SOD) (rif. spaghettiopendata@googlegroups.com), ho appreso una notizia molto interessante, relativa all’esistenza di un tool open source basato su OSRM (di cui ho già riferito qui e qui), che permette di interrogare automaticamente le API di OSRM (anche in modo “massivo”), e trovare  la distanza in chilometri ed in tempi di percorrenza espressi in minuti  a partire da una serie di punti geografici contenuti in un dataset .

Il tool si chiama OSRMdistance ed è disponibile su GitHub (il codice è disponibile ma non è purtroppo indicata quale licenza, quindi chi interessato è bene che contatti l’autore).

E’ disponibile anche una demo online.

L’utilizzo è abbastanza semplice, basta avere un file csv di input dove siano indicati il nodo di OSM e le coordinate dei punti, in seguito, dopo aver scritto un semplice comando nel terminale, si ottiene la matrice delle distanze!

Ci sono alcuni accorgimenti tecnici da tener presenti: anzitutto bisogna aver installato in locale o in un proprio server il motore di OSRM. La API policy del progetto OSRM infatti vieta che vengano effettuate delle chiamate massive direttamente sul loro server: ma qui se vogliamo sta il bello dell’open source!

Altra cosa interessante riportata nel post, che va al di là dell’interesse per il tool software e che rappresenta l’ennesima dimostrazione delle potenzialità dei progetti open source, è quanto riportato dall’autore in merito al fatto che, una volta iniziato ad utilizzare il tool, si è accorto della mancanza o dell’incompletezza dei dati di OSM.

Questi sono stati corretti e/o aggiunti sulla base dati comune, immediatamente resi disponibili all’intera comunità, cosa che altrimenti non sarebbe stata possibile se i dati in uso fossero stati dei dati commerciali o anche dati amministrativi “ufficiali” anche qualora questi fossero stati messi a disposizione in modalità open data.

Questa potenzialità, che porta inevitabilmente ad aumentare la qualità della fonte, è disponibile solo in progetti open source come OSM e l’autore l’ha denominata circolo virtuoso dei community data, sintesi efficiente per esprimere il concetto

Ottimo lavoro!

OpenStreeMap route planner: novità sul fronte di Open Source Routing Machine (OSRM)

18 luglio 2012 2 commenti

Già in un precedebte post avevo avuto modo di accennare a Open Source Routing Machine (OSRM) come la libreria di routing più veloce.

Si basa su una implementazione in C++ di un motore di routing per calcolare il cammino minimo su reti stradali. Combina algoritmi di routing sofisticati e i dati di OpenStreetMap.

OSRM è rilasciato open source con licenza GNU Affero General Public License.

Recentemente è stata aggiunta la possibilità, una volta calcolato un percorso,  di poter effettuare un drag-and-drop del percorso o di sue parti intermedie, ricalcolando automaticamente il nuovo percorso

Fonte: OpenGeoData

Confronto tra routing engine API


Pascal Neis ha pubblicato un interessante confronto tra alcune API di routig engine e precisamente:

  • CloudMade (basato sui dati OSM)
  • MapQuest Open(basato sui dati OSM)
  • OSRM (basato sui dati OSM)
  • Bing Maps  API(basato su dati Navteq)
  • G**gle API (!!!) (basato su dati TeleAtlas)
  • YOURS (basato su dati OSM)
  • Routino (basasto su OSM)

I numeri in sintesi sono riassunti nella seguente figura:

Quello che emerge è che OSRM risulta essere la libreria più velcoe seguita da G**Maps,  Bing Maps, MapQuest e CloudMade che sostanzialmente si equivalgono, mentre distaccate (almeno per percorsi oltre i 600 km), YOURS e Routino.

Maggiori dettagli e grafici sono disponibili sul post originale.

Fonte: OpenStreet Map Blogs