Geo algoritme

Het geo vraagstuk

We hebben een algoritme ontwikkeld dat een probleem met de volgende kenmerken oplost:

  • We kunnen op basis van geografische coordinaten gegevens opvragen
  • Het is van tevoren, of na opvragen, niet bekend of de gegevens voor een bepaald gebied compleet zijn
  • Het is bekend dat als het gebied kleiner wordt gemaakt, de gegevens nauwkeuriger en completer zijn
  • We kunnen niet een onbeperkt aantal kleine gebieden selecteren om aan de gegevens te komen
  • Het gaat om grote aantallen gegevens



Geo algoritme met heatmaps

Hiervoor hebben we een algoritme ontwikkeld dat heatmaps aanmaakt, en steeds verder verfijnt in kleinere gebieden. Het algoritme beoordeelt aan de hand van de verfijningen of de hoeveelheid gegevens compleet genoeg zijn, en of verder verfijnen zinvol is.

Zo ontstaat een lijst met bruikbare heatmaps voor een geografische regio, variërend in grootte.


Workflow and state machines

Omdat het om grote hoeveelheden gegevens gaat, die bovendien niet in 1 keer op te vragen zijn, kan dit niet in 1 keer uitgevoerd worden. Het geheugen van een server is gewoonweg niet toereikend, en het proces duurt te lang zodat in geval van bijvoorbeeld een netwerk fout het hele proces opnieuw opgestart zou moeten worden.

Daarom hebben we het proces opgedeeld in vele kleinere taken, die asynchroon uitgevoerd kunnen worden. Elke kleinere taak kan zelf ook weer taken aanmaken. Dit zorgt ervoor dat de data verzameling fault tolerant wordt, veel minder geheugen verbruikt en deels herstartbaar is.

Om dit beheersbaar te maken, hebben we gebruik gemaakt van 'workflow' en 'state machine' design patterns. Deze houden de staat van het hele proces in de gaten, en bepalen welke transities gemaakt kunnen worden in het systeem.



Sailing away

Craft CMS website verhuisd naar een LightSail server - performance boost!

Docker is terug

We gebruiken docker weer in onze development workflow.

In eigen beheer

Met hosting in eigen beheer kunnen we snellere sites leveren met een hogere pagespeed ranking.

Interne website Vrijescholen

Nieuwe CraftCMS website vorige week live voor de Vereniging van Vrijescholen

Nieuwe migratie naar AWS Cloud

Een migratie naar een automatisch schalende infrastructuur. Opzetten van een deployment pipeline.

Whitelabel

Met enige trots hebben we de laatste tijd gewerkt aan het tot whitelabel maken van een applicatie.