Schoolvakantie Regio's

Omdat ik niet meer kon reageren op de bestaande topic deel ik hier bij deze mijn geojson met de drie schoolvakantie regio’s (noord, midden, zuid).

Proces dat ik heb gevolgd:

Stap 1: Bestaande provinces.geojson en townships.geojson gecombineerd in 1 bestand:
Voor elke gemeente is de centroid berekend. Op basis hiervan heb ik bepaald in welke in provincie de centroid valt. Fallback bij kustgemeenten: dichtstbijzijnde provinciecentroïde.

Step 2: Op basis van de informatie op rijksoverheid.nl en een stukje AI heb ik een paar python scriptjes gemaakt om de geojson aan te passen. Eerst de makkelijke provincies, en daarna voor iedere uitzondering individueel. Het townships.geojson bestand bevat polygons voor oude gemeenten die niet meer bestaan. In plaats van op strings te matchen heb de voor iedere gemeente die op de website van de rijksoverheid vermeld wordt de centroids opgehaald (o.b.v. plaatsnaam + provincie, bron openstreetmap) en op basis hiervan townships ingedeeld in de juiste regio’s.

Stap 3: Per schoolvakantie regio zijn alle gemeentepolygonen samengevoegd tot één vlak. Twee problemen in de brondata moesten opgelost worden:

Interne artifacts — aangrenzende gemeenten sluiten in de brondata niet perfect op elkaar aan (floating-point afwijkingen van soms een paar meter). Oplossing: elke polygoon 0,001° (~100 m) gebufferd en samengevoegd. Daarna 0,001° teruggebufferd. Dit sloot alle 600+ artifacts binnen regio omlijningen.

Gaten op regionsgrenzen na het omsluiten van de regios bleven er “niemandsland”-stroken (max 200m breed) over op de grenzen tussen noord, midden en zuid, omdat beide aangrenzende regio’s niet perfect aansloten. Oplossing: prioriteitstoewijzing — noord claimt eerst zijn gebied, midden neemt wat overblijft, zuid neemt de rest.

De negen gaten in Zuid zijn de Belgische Baarle-Hertog-enclaves. Dit hoort zo.

Test hem hier:

In theorie kan het zijn dat een gemeente verkeerd is ingedeeld als deze is opgesplitst/samengevoegd en hierdoor van regio is veranderd. Ik maak mij hier niet druk om, maar wellicht goed om te weten. Mocht je een zoiets constateren en oplossen, dan wordt het gewaardeerd om dat via github te delen. Dan hebben we daar allemaal wat aan. :slight_smile:

1 like