City Planner — siting-tool voor meerdere steden
Een geospatiale engine die drie Europese steden vertelt waar het volgende openbare toilet, de volgende bank of AED moet komen — equity-gewogen scores op een H3-hexraster, dekking via het wandelnetwerk en een Decision Brief van één pagina, voor £0 waar enterprise-GIS begint bij £100k per jaar
- Probleem — Steden betalen consultants £10k–£100k+ en wachten 4–8 analistenweken om te beslissen waar een bank of toilet komt — op GIS-platformen tot £280k/jaar
- Inzicht — In ~35 doorgelichte tools was de kolom ‘beveelt nieuwe locaties aan’ overal leeg behalve in academische papers — die lege kolom is het product
- Oplossing — Ik bouwde solo een open-data-engine: H3-raster, gap × equity-scores naar Tree Equity Score, greedy/MCLP-optimalisatie, dekking voor/na en een printklare Decision Brief
- Resultaat — Live voor Parijs, Antwerpen en Londen — 8 assettypes, 24 stad × asset-datasets; 10 nieuwe toiletten tillen de Antwerpse dekking van 17,4% naar 24,0%; £0 hosting
Beslissen waar een openbaar toilet komt kost maanden aanbesteding en een vijfcijferige consultancyfactuur
Het inplanten van stedelijke infrastructuur oogt eenvoudig van buiten en is politiek geladen en analytisch duur binnen besturen. Het gebruikelijke pad: een ambtenaar stelt een nood vast, een consultancyopdracht wordt maandenlang aanbesteed, een propriëtaire GIS-analyse draait op platformen die op ondernemingsschaal tot £280.000 per jaar kosten, en er landt een rapport waarvan de methodologie noch te inspecteren noch te reproduceren valt. Drie persona’s dragen de pijn: de ambtenaar publieke ruimte die “waarom deze straat” in de commissie moet verdedigen, de beleidsonderzoeker zonder uniforme multi-stadsmethodologie, en de subsidieschrijver die gekwantificeerd voor/na-bewijs nodig heeft voor een Interreg- of NEB Facility-dossier.
Parijs / openbare toiletten: dekkingscirkels van 500 m, gerangschikte aanbevelingen, budgetschuif met dekking voor/na
Geen enkele open tool beantwoordde de sitingvraag met zowel equity-gewogen scores als voor/na-dekkingsbewijs — ze visualiseerden gaten of verzamelden meningen, en stopten daar
Vijfendertig tools doorgelicht — en één kolom overal leeg behalve in de academische wereld
Discovery combineerde vier methoden: een concurrentiescan van ~35 tools over enterprise-GIS, civic-tech-participatieplatformen, toegankelijkheidsscores en sensoranalytics; een literatuurstudie (2SFCA, MCLP, Kolm-Pollak EDE); een open-data-audit van de drie steden; en methodologie-benchmarking tegen Tree Equity Score van American Forests, Conveyal Analysis en TfL Healthy Streets. De scorekaart kwam op één bevinding uit: Conveyal kwantificeert voor/na maar de planner tekent het scenario met de hand; UrbanAccess en CityAccessMap tonen enkel gaten; Esri beantwoordt het semi-handmatig voor £££ en een getrainde analist. De kolom ‘beveelt nieuwe locaties aan’ was overal leeg behalve in academische papers — en dat zijn geen producten.
Tree Equity Score leverde de methodologische blauwdruk — multiplicatieve scores, gelijkgewogen equity-indicatoren, voor/na-framing, een transparante methodepagina. Het meest rigoureuze publieke precedent uit een aangrenzend domein adapteren gaf de methodologie vanaf dag één geloofwaardigheid bij een sceptisch publiek, en spaarde weken iteratie op het scoringsontwerp uit.
Vertrek van het sterkste publieke precedent in het aangrenzende domein — en vervang bladerdekgap door toiletbereik, censusblokken door een H3-raster en Amerikaanse indices door FILOSOFI, BIMD en IMD
Gap × equity op een hexraster — bewust multiplicatief
Elke H3-cel van ~0,1 km² krijgt Score = 100 × (1 − GapScore × EquityIndex). GapScore is de wandelnetwerkafstand tot het dichtstbijzijnde bestaande asset (OSMnx + multi-source Dijkstra) gedeeld door het stadsmaximum; EquityIndex bundelt echte deprivatiedata — INSEE FILOSOFI voor 645 Parijse IRIS-zones, Statbel BIMD voor 261 Antwerpse sectoren, ONS IMD voor 5.666 Londense LSOA’s — met een vloer op 0,1 zodat nul deprivatie nooit een reële fysieke kloof uitwist. Multiplicatief, niet additief, en dat is getest: de additieve formule beval vier Parijse locaties aan met hoge deprivatie maar voldoende bestaande dekking; de multiplicatieve niet.
Aanbevelingen komen uit greedy max-coverage — gegarandeerd ≥63% van het wiskundige optimum (Nemhauser 1978) met geografische spreiding ingebouwd — met een exacte MCLP-solver (PuLP + CBC) per run selecteerbaar; in de praktijk verschillen beide amper 0,1 pp. De netwerkafstanden doen er meer toe dan ze klinken: voor Londense toiletten claimden hemelsbrede buffers ~33% dekking waar het wandelnetwerk 13,2% toont — rivieren, parken en snelwegen flatteerden de kaart in stilte.
Het H3-scoreraster — lichtgeel is goed bediend, donkerrood hoge prioriteit; genummerde markers zijn de aanbevelingen van de engine
De architectuur is een bewuste splitsing: een Python-engine berekent alles offline voor — datadownload, opschoning, metrische CRS per stad, raster, scores, optimalisatie, voorberekende budgetschuif-scenario’s — en de React-app serveert statische GeoJSON zonder live backend. Intelligentie in Python, levering in React: de analyse is duur, de hosting kost £0.
Drie steden, één methodologie — en een verhaal dat geen enkele single-city-tool kan vertellen
Hetzelfde budget van tien toiletten levert drie heel verschillende antwoorden op. Parijs (588 sanisettes, de schoonste open-data-pijplijn van de set) dekt al 85,0% van de vraaggewogen cellen binnen 500 m wandelen; tien extra tillen dat naar 89,8%. Antwerpen dekt 17,4% met 91 gemapte toiletten — tien nieuwe brengen dat op 24,0%, het hoogste marginale rendement per faciliteit van de drie. Londen dekt 17,5% op veel grotere fysieke schaal; tien faciliteiten verschuiven amper 0,9 pp — een dynamiek van afnemend rendement die pleit voor een langer kapitaalprogramma en betere data vóór optimalisatie.
Antwerpen — de sterkste equity-case: hoogste marginale rendement per nieuwe faciliteit
Vergelijkweergave — expliciete normalisatiebanner: een 60 in Antwerpen is geen 60 in Parijs
Het eindartefact is een Decision Brief: een printklare pagina met de gerangschikte locaties, methodologie per component, databronnen met betrouwbaarheidsscores en het voor/na-cijfer dat een subsidieschrijver echt nodig heeft. Data-eerlijkheid is een productfeature en geen voetnoot — de ondermapping van achtergestelde en perifere buurten in OSM onderschat de kloof precies waar de equity-nood het hoogst is, en elke Brief vermeldt dat.
De Decision Brief — de één-pager die een subsidiedossier als bewijs kan bijvoegen

Live — 3 steden, 8 assettypes, 24 voorberekende datasets, what-if-planner inbegrepen
Wat de cijfers zijn — en wat ze nog niet zijn
Dit is een soloportfolioproject, geen opdracht van een stad: de impactcijfers zijn analytische output van live open data, gebenchmarkt tegen gedocumenteerde aanbestedingstermijnen en gepubliceerde toolprijzen — geen gebruikersstudie. De tool is technisch af over alle 24 stad × asset-combinaties, en nog geen enkele stadsplanner heeft hem gebruikt; een gestructureerde validatiesprint met stadsnabije gebruikers is het belangrijkste punt op de roadmap, en die pas na de launch plannen in plaats van tijdens fase 3 is het eerste wat ik anders zou doen. De geïdentificeerde v2-witruimte — een RAG-laag die het eigen beleidsdocument van de stad citeert bij elke aanbeveling — wordt door geen enkele concurrent uit de audit geclaimd.
Walking skeleton eerst: één stad, één assettype, van begin tot eind — elke latere stad was een adapter op een werkende basis, geen herbouw
Bronnen
- American Forests. Tree Equity Score — methodology. — de scoringsblauwdruk die dit project adapteert voor Europese steden
- Nemhauser, Wolsey & Fisher (1978). An analysis of approximations for maximizing submodular set functions. Mathematical Programming 14. — de ≥63%-optimaliteitsgarantie achter greedy max-coverage
