OpenLR è un progetto software open source lanciato nel settembre 2009 dall'azienda olandese TomTom International B.V., leader a livello mondiale nella fornitura di soluzioni per la navigazione e mappe digitali. Qual'è l'obiettivo di questo progetto? Anzitutto, LR è l'acronimo di "Location Referencing", ed il suo obiettivo è quello di fornire uno strumento privo di royalty attraverso il quale sia possibile eseguire dinamicamente il "location referencing", permettendo interazioni e scambio dati tra sistemi di navigazione che utilizzano mappe di fornitori diversi o di differenti versioni. OpenLR è stato espressamente progettato per sistemi in grado di fornire informazioni sul traffico e navigazione assistita, ed è disponibile come progetto open-source a questo indirizzo. Si ritiene che questo progetto possa trovare numerose applicazioni nell'area dei sistemi di trasporto intelligenti (detti anche "ITS", acronimo di Intelligent Transport Systems), nei quali sono richieste in tempo reale delle informazioni accurate e precise relative alla posizione. Lo sviluppo e la manutenzione del progeto OpenLR saranno condotti direttamente dalla stessa TomTom, ma tutte le aziende che operano nel settore sono invitate a portare il proprio contributo al fine di migliorare ulteriormente il progetto e permetterne un'adeguata evoluzione. Sul sito ufficiale del progetto (qui) è possibile trovare l'implementazione del progetto open-source OpenLR, unitamente a un'ampia documentazione tecnica sull'argomento, un "white paper", ed una presentazione. Inoltre, alcune mappe campione ed esempi sono disponibili e liberamente scaricabili da Tele Atlas B.V., in modo tale che ogni sviluppatore abbia a disposizione tutti gli strumenti necessari per eseguire il test ed il debug di un'applicazione sviluppata per proprio conto.
Il sito ufficiale offre anche uno strumento per tenere traccia dei difetti (i "bachi" del software), tramite il quale chiunque collabori al progetto possa aprire un difetto ("ticket") ogni volta riscontri un'anomalia o un comportamento inatteso nel software. Informazioni aggiuntive e suggerimenti possono anche essere trovati nella sezione forum, in cui sono presenti discussioni sia sull'argomento del "location referencing" in generale, e sia sul progetto OpenLR in particolare. La tecnologia OpenLR permette, in modo del tutto gratuito, ai fornitori di "location" (posizione) di referenziare qualunque posizione su una mappa digitale: i dati relativi alla "location" includono informazioni relative ai cartelli e alla segnaletica stradale (informazioni "statiche"), alle quali si aggiungono informazioni accurate di tipo dinamico relative alle condizioni del traffico e alla situazione meteorologica (ad esempio informazioni in tempo reale relative ad incidenti oppure avverse condizioni meteo, oppure situazioni pericolose per il traffico come la presenza di pedoni o animali sulla carreggiata).
OpenLR è stato concepito per trasferire le informazioni relative al traffico e alla navigazione da un centro verso sistemi (ricevitori) installati a bordo dei veicoli, i quali possono poi essere sistemi fissi installati nella plancia oppure portatili, o anche smartphone o palmari dotati di ricevitore GPS ed un appopriato software di navigazione. Le informazioni trasferite includono la situazione corrente del traffico in una certa zona, le previsioni di traffico, e gli avvisi. Location referencing è la modalità utilizzata sia lato centro fornitore del servizio che lato ricevitore dello stesso per codificare e decodificare, rispettivamente, la posizione. Solitamente ciò viene attuato utilizzando delle coordinate geografiche; tuttavia, questa soluzione implica che sia il trasmittente che il ricevente utilizzino delle mappe identiche, altrimenti la posizione decodificata sul lato ricevente potrebbe non essere trovata sulla mappa, oppure, e la cosa potrebbe essere persino peggiore, potrebbe essere individuata con scarsa accuratezza (errore elevato) o con ambiguità. OpenLR è stato progettato per superare questa limitazione: esso può infatti utilizzare mappe digitali anche diverse (messe a disposizione quindi da differenti fornitori e/o con diverso numero di versione) ed è indipendente dal canale di comunicazione (ha solo un requisito relativo alla banda minima richiesta per la comunicazione).
Il metodo di location referencing maggiormente utilizzato oggi è quello denominato RDS-TMC (Radio Data System Traffic Message Channel, un formato di trasmissione che utilizza una banda laterale delle normali trasmissioni in FM), ed è basato su location pre-codificate che vengono posizionate dai fornitori delle mappe in corrispondenza dei punti rappresentati sulla mappa stessa. La codifica viene poi eseguita cercando sulla mappa il location code corrispondente alla posizione desiderata, mentre la decodifica consiste nel rintracciare sulla mappa il location code ed associarlo poi alla posizione corrispondente. Poichè l'RDS-TMC si basa su location pre-codificate, esso può trattare soltanto un numero limitato di location; OpenLR, al contrario, non è affetto da questa restrizione e, virtualmente, ogni posizione della mappa può essere trasferita. Per farsi un'idea, si osservi l'immagine seguente, la quale tramite un'animazione mostra la differenza tra il numero di posizioni (location) che possono essere simultaneamente gestite da un sistema basato su TMC ed uno basato su OpenLR (il secondo è in grado di trattare un numero maggiore di location, e quindi può fornire una risoluzione ed un dettaglio superiori):
I principali obiettivi del progetto OpenLR sono i seguenti:
- indipendenza dal fornitore e dalla versione di mappa digitale
- copertura di tutte le strade, incluse le strade urbane e quelle di importanza minore
- minimo utilizzo di banda
- indipendenza dal canale di comunicazione
- indipendenza dalla manutenzione
- potenzialmente in grado di sostituire in futuro la codifica TMC
- codifica e decodifica indipendenti dal sistema di rilevamento della posizione
OpenLR si base sul concetto di "line location", dove per line location si intende una concatenazione di segmenti (cammini) multipli, ciascuno di lunghezza inferiore. Ciascun segmento è caratterizzato dalle informazioni relative ai suoi punti iniziale e finale, e questa informazione viene indicata con il termine LRP (Location Reference Point). Gli LRP vengono poi ordinati dal principio al termine del percorso, formando così un cammino di location reference, cioè di diverse posizioni appartenenti alla mappa. Ad esempio, si consideri il seguente caso relativo ad un percorso della lunghezza di 808 metri su una strada locale a Stoccarda (Germania) composta da 4 vie:
Le due immagini mostrano, rispettivamente, la line location come viene creata lato encoder e come viene poi visualizzata lato decoder.