Gebied berekening
Voor implementatie van gebieden tekenen ga naar Iteratie fase - gebieden tekenen
Doel
Voor afhaalpunt functionaliteit is rijafstand een belangrijke factor, de uitdaging is om dit zo efficiënt mogelijk te integreren in het systeem.
Onderzoek
In de eerste iteratie hadden de vervoerders de mogelijkheid om zelf gebieden te tekenen, dit doen ze namelijk al bij het aanmaken van bezorggebieden, maar uit de enquête bleek dat ze meer denken in een straal van X aantal kilometers. Dus dit betekent dat er een soort van radius moet komen die het afhaalpunt gebied markeert op basis van een straal van een X aantal kilometers.


Eerste iteratie waar vervoerders zelf gebieden tekenen.
In de tweede iteratie werd er een simpele cirkel gebruikt om deze straal te laten zien.


Tweede iteratie met een simpele cirkel die de straal laat zien.
Maar een simpele cirkel is niet accuraat genoeg. Een cirkel houdt geen rekening met de realiteit van de wereld, wegen, sloten, rivieren, enzovoort.


(What is an Isochrone Map? A Definition & Examples, z.d.)
Daarom ontstond de behoefte aan een nauwkeurigere methode, en hier werd de isochroon geïntroduceerd.
De derde iteratie op het tonen van de afhaalpunt gebieden is met een isochrone. Een isochrone is een 'lijn op een map die punten verbindt waarop iets gebeurd of arriveert op dezelfde tijd'. Met deze lijn kan in de transport wereld een gebied aangegeven worden dat je kan bereiken binnen in een bepaalde tijd en/of afstand.


(What is an Isochrone Map? A Definition & Examples, z.d.)


Derde iteratie met isochrone om gebied te tekenen
Een isochroon wordt samengesteld door wiskundige berekeningen uit te voeren. Gelukkig zijn er tools beschikbaar die deze berekeningen hebben gedaan en dit openbaar hebben gemaakt, zodat ontwikkelaars dit kunnen gebruiken zonder zich bezig te houden met complexe wiskunde.
In het specifieke geval van dit project wordt al gebruik gemaakt van Leaflet om kaarten weer te geven. En daarop markers, lijnen en andere informatie te projecteren. Om isochronen te genereren, is een aanvullende tool nodig die geoJSON1 retourneert. Verschillende opties zijn overwogen:
- iso4app: Een potentiële kandidaat voor isochroonberekeningen, maar zitten tijd- & afstandslimieten op bij de gratis abonnementen.
- Maptive: Een krachtige tool, maar vereist direct $750 voor API-toegang, wat een aanzienlijke financiële toewijding is.
- TravelTime: De prijsplannen zijn niet duidelijk vermeld, wat het moeilijk maakt om de kosten in te schatten.
- Mapbox: Een sterke kandidaat met uitgebreide mogelijkheden voor kaartvisualisatie en isochroonberekeningen.
- OpenRouteService: Uiteindelijk is OpenRouteService gekozen vanwege de mogelijkheid om de API lokaal te draaien zonder kosten, en de gehoste API gratis is tot 150.000 API-calls2 per maand. Deze keuze biedt financiële flexibiliteit, vooral in de beginfase van het project, waar optimalisatie van API-calls niet de primaire focus is.
De overweging van deze tools is gebaseerd op de kosten, prestaties en integratiemogelijkheden, waarbij de keuze voor OpenRouteService voortkwam uit de mogelijkheid om lokaal te draaien, wat kostenefficiënt is in de beginfase van het project.
Conclusie en consequenties voor Veloyd
De introductie van de isochrone-techniek brengt enkele vragen met zich mee die Veloyd moet overwegen:
- Hoe om te gaan met gebieden die net buiten alle afhaalpuntgebieden vallen?
- Wat is de aanpak voor adressen die in meerdere gebieden vallen?
- Zijn er andere toepassingsgebieden binnen Veloyd waar isochrone-berekeningen waardevol zouden kunnen zijn?
Deze overwegingen zullen helpen bepalen hoe de isochrone-techniek het beste kan worden geïntegreerd in het Veloyd-systeem en welke aanpassingen nodig zijn om een soepele integratie te garanderen.
Footnotes
-
GeoJSON is een open standaard bestandsformaat dat is ontworpen voor het representeren van geografische ruimtelijke informatie in de vorm van vectoren. In dit project wordt GeoJSON gebruikt als een gestandaardiseerd formaat voor het uitwisselen van geografische gegevens tussen de isochroonberekeningstool en de module. Het maakt het mogelijk om geometrische kenmerken, zoals punten, lijnen en veelhoeken, op een uniforme en begrijpelijke manier weer te geven. ↩
-
Een API-call, afkorting voor Application Programming Interface call, verwijst naar het gebruik van een API om specifieke functionaliteit of gegevens aan te roepen van externe bronnen. In dit project zijn API-calls essentieel voor het verkrijgen van isochronen via de isochroonberekeningstool. Het aantal API-calls heeft effect op de kosten. ↩