Locatieverwijzingen en kaarten

Deel 3

Plaatsbepaling heeft te maken met kaarten. Maar wat zijn kaarten precies? In deze blogpost krijg je een korte inleiding in kaarten: Waar kunnen kaarten voor worden gebruikt? En hoe moeten ze niet worden gebruikt?

Verkeersinformatie in je auto

Ken je de uitdaging om de exacte locatie van een file te beschrijven? Je autonavigatiesysteem ontvangt informatie van een verkeersdienst. In de berichten worden de exacte locaties van incidenten beschreven met behulp van locatiereferenties. Je navigatiesysteem relateert de locaties van de incidenten aan de route die het voor je heeft gepland. Door de locaties te matchen met de kaart. Voor een computer (of een autonavigatiesysteem) is een kaart een database. Een database die alle wegen en onderlinge verbindingen bevat. Je wordt steeds bedrevener in locatieverwijzing! Laten we eens kijken hoe locatiereferentie en kaarten samenwerken in je autonavigatiesysteem.

Wat is een kaart precies?

Een kaartdatabase is een opslagplaats van wegen en onderlinge verbindingen, die informatie bevat over het wegennet van een heel land, of misschien zelfs van de hele wereld. Voor elke weg wordt de geometrie opgeslagen. De geometrie beschrijft de vorm van de weg, zoals die op de aarde zelf is. Met deze geometrie kunnen we de wegen op een achtergrondkaart visualiseren.
Hieronder wordt een zeer kleine subset van een kaartdatabase gevisualiseerd:
Location referencing

Kaarten bestaan uit links en knooppunten

Zie je de groene lijnen? Elke groene lijn vertegenwoordigt een wegsegment tussen twee blauwe stippen. Deze groene stukjes weg worden meestal links genoemd. Elke link heeft een uniek nummer: De link-ID. Dit zijn de groene nummers. Hoe zit het met de blauwe stippen? Op deze punten komen de links samen. Gewoonlijk noemen we deze punten: knooppunten. Ze hebben ook een uniek nummer: De junction ID. Deze zijn in het blauw afgedrukt, naast de blauwe stippen. Deze links en knooppunten zijn belangrijk! Ze liggen aan de basis van bijna alles wat je met een kaart kunt doen. Wanneer je autonavigatiesysteem bijvoorbeeld een route voor je plant, kan het die alleen vinden met behulp van deze links en knooppunten.

Gebruik kaarten verstandig

Nu je weet hoe kaarten werken, zouden we kunnen proberen om locaties te beschrijven met behulp van link-ID's. Als ik de locatie van een file wist, kon ik de link-ID's opzoeken in mijn eigen kaart en jou de nummers geven. Jij kon dan je eigen kaart gebruiken om de link-ID's op te zoeken en je wist de exacte locatie van deze file. Geen probleem, toch?
Ik heb een kleine kaart voor je gemaakt, die je kunt gebruiken om de links op te zoeken. Deze kaart visualiseert de links van een kaart-database, geleverd door NWB versie 2015. De NWB (Nationaal Wegen Bestand) onze Nederlanders Het rijkswegenbestand wordt onderhouden door Rijkswaterstaat.
Hieronder staan de link ID's. Kun jij de locatie van de file vinden?
  • 160287250
  • 160287251
Kun je dat niet? Waarom niet? Er zijn geen links met de ID's die ik je gaf!? Wat is er mis?

Kaarten verschillen

Ehm... ik denk dat ik een fout heb gemaakt. In plaats van NWB-2015 (jouw kaart) te gebruiken voor het opzoeken van de link ID's, heb ik een andere gebruikt; OpenStreetMap. Het ziet er als volgt uit:
Deze kaartendatabase is heel anders! Er zijn verschillende wegen in kaart gebracht en er worden verschillende link-ID's gebruikt. Dus de link ID's van mijn kaart zijn volledig nutteloos op jouw kaart! Ik geef toe: het was geen vergissing. Het illustreert een veel voorkomend probleem, gerelateerd aan link ID's: Verschillende mensen, organisaties en bedrijven gebruiken verschillende kaarten, die niet compatibel zijn.
Welke van de twee kaarten is 'juist'? Nou, ik denk dat ze allebei gelijk hebben. Elke kaartenmaker maakt zijn of haar eigen voorstelling van het wegennet. Dat resulteert natuurlijk in verschillende kaarten.

Kaarten veranderen

Er is nog een probleem met link-ID's: Verschillende versies van dezelfde kaart zijn ook niet compatibel. Hieronder staat een voorbeeld, ook gebaseerd op NWB, maar uit 2010 in plaats van 2015, dus deze kleine kaart is vijf jaar ouder dan de NWB-kaart die ik je voor het eerst liet zien:
Deze is ook compleet anders! Veel links uit NWB-2010 in dit gebied zijn niet meer aanwezig in NWB-2015. Ook zijn er veel links in NWB-2015 die nog niet bestonden in NWB-2010.

Deze versieverschillen kunnen ook een grote impact hebben. Stel dat er een bedrijf is dat veel data heeft opgeslagen met link ID's van NWB-2010. Dan willen ze op een bepaald moment upgraden naar NWB-2015. Als er geen methode beschikbaar is om deze upgrade te automatiseren, zullen ze al het werk met de hand moeten doen. Aangezien een kaart gemakkelijk miljoenen links kan bevatten, is het maanden werk om alles handmatig te controleren en in kaart te brengen.

We hebben locatieverwijzingen nodig

Dit is waar Locatieverwijzing om de hoek komt kijken. Link-ID's zijn ongeschikt voor het communiceren en opslaan van locaties. Omdat kaarten verschillen en omdat kaarten veranderen. Het gebruik van een methode voor verwijzing naar locatiekun je deze problemen overwinnen.

Hoe is dat eigenlijk mogelijk? Ik zou een stukje software kunnen gebruiken dat een encoderom mijn link-ID's te vertalen naar een locatiereferentie, met behulp van mijn kaartendatabase (OpenStreetMap). De locatiereferentie (bijvoorbeeld in OpenLR, een methode voor locatiereferentie ontwikkeld door TomTom, gedoneerd als een gratis softwareproject aan de open source gemeenschap) beschrijft dan de locatie van de file, op een manier die kaartonafhankelijk is. Je zou dan een decoder om de corresponderende kaartlinks op uw kaart te vinden (NWB-2015).

Houd er rekening mee dat een locatiereferentie heel anders is dan de bijbehorende kaartlinks. Een locatiereferentie heeft betrekking op de kaartkoppelingen, zoals een blauwdruk betrekking heeft op een gebouw. De blauwdruk beschrijft een gebouw, maar is niet het gebouw zelf. Analoog: Een locatiereferentie beschrijft een locatie, maar is niet de locatie zelf.

Om terug te komen op coderen en decoderen: Het tekenen van een blauwdruk van een bestaand gebouw is te vergelijken met het coderen van kaartlinks naar een locatiereferentie. Het decoderen van deze locatiereferentie op een andere kaart is dan te vergelijken met het bouwen van een ander gebouw volgens deze blauwdruk.

Gebruik nooit link-ID's als locatiereferentie

In deze blogpost heb je geleerd waaruit kaarten bestaan en hoe locatiereferenties verband houden met kaarten. Daarna heb ik uitgelegd waarom link-id's niet moeten worden gebruikt als locatiereferentie. Op het eerste gezicht lijkt het misschien verleidelijk onschuldig. Maar na verloop van tijd wordt het een groot probleem wanneer kaartversies veranderen of verkeersinformatie wordt doorgegeven aan anderen die een andere kaart gebruiken.
Problemen met het opslaan of verstrekken van gegevens met behulp van link-ID's kunnen meestal worden opgelost door een vorm van locatiereferentie te implementeren. Heb je hulp nodig? Misschien kan Simacan je helpen.
Lees meer over locatieverwijzingen in deel 1 en deel 2 van Jeroen's blogs.
Dit is misschien ook interessant voor jou: