Diepte is misschien wel het belangrijkste dat een visser wil weten — en het minst beschikbare. Voor een handvol grote wateren bestaat gemeten bathymetrie; voor de duizenden polderplassen, kanalen en petgaten daartussen niet. De vraag die we onszelf stelden: kun je diepte uit gratis satellietbeeld halen, voor heel Nederland?
De standaardmethode — en waar die vandaan komt
De klassieke aanpak heet satellite-derived bathymetry (SDB). Ze gebruikt de log-verhouding van de blauwe en groene band van Sentinel-2 — de methode van Stumpf uit 2003. Dieper water dempt blauw en groen verschillend, en die verhouding zou de diepte moeten verraden. Deltares haalde er op helder kustwater bij Ameland een R² van 0,92 mee. Wij reproduceerden precies diezelfde methode en ijkten hem tegen de multibeam-metingen van Rijkswaterstaat: het Algemeen Dieptebestand IJsselmeergebied, op 5 meter resolutie.
Waar het misging
Op Nederlands binnenwater viel de methode om. Op het IJsselmeer wees het verband de ene kant op, op het Markermeer de andere — een tekenwissel tussen twee vergelijkbare meren. Een echt dieptesignaal zou in beide dezelfde kant op wijzen. Dat het dat niet deed, is het rooksignaal: wat het model oppikte was niet de diepte, maar de waterkolom zelf — zwevend slib, humuszuren, de kleur van het water.
Terug naar de eerste principes
Toen de kant-en-klare methode omviel, gooiden we er geen groter model tegenaan. We gingen terug naar de natuurkunde en bouwden het van de grond af op: wat gebeurt er precies met een lichtstraal die het water in gaat? Elk niveau dat we écht begrepen, bracht de voorspelling een stap dichterbij.
1. Wat de satelliet écht ziet
Wat de sensor opvangt is geen diepte, maar een optelsom van drie dingen: licht dat van het oppervlak weerkaatst, licht dat de waterkolom terugverstrooit (slib, algen, opgeloste stoffen), en het kleine restje dat de bodem haalde en verzwakt terugkwam. Alleen dat laatste draagt diepte-informatie. Het hele spel is: dat restje eruit vissen.
2. Kleur is een dieptemeter
Water slikt niet elke kleur even snel. Rood licht is binnen een meter op; groen en blauw reiken het diepst. De verhouding waarin blauw en groen doven, verraadt dus de diepte — dat is het idee achter de klassieke methode. Nabij-infrarood komt het water nauwelijks in, wat het een perfecte referentie maakt voor 'wat is oppervlak en nevel, en wat is water'.
3. Alleen waar het licht de bodem haalt
Hieruit volgt de belangrijkste grens: diepte is alleen terug te rekenen waar er bodemfotonen terugkomen. In helder, ondiep water is dat overal; in troebel of diep water bijna nergens. De scheidslijn die telt is dus niet 'meer versus rivier', maar het diepteregime. Uniform ondiep water (1–4 m) is waar de fysica meewerkt — en precies daarom lukt het op de Veluwerandmeren, en niet in het diepe, wisselende IJsselmeerbekken.
4. Niet één formule, maar het hele spectrum
De klassieke methode perst alles in één verhouding — één starre projectie die het grootste deel van het signaal weggooit. Vanuit de eerste principes is de diepte juist over meerdere banden tegelijk verweven met de waterkleur. Dus geven we een model álle zichtbare banden plus nabij-infrarood, elk een sonde op een ander dieptereik, en laten het zelf bodem van waterkolom scheiden. Dat is waarom ons model op de ruwe banden de verhouding verslaat — en waarom de oude verhouding er wéér bij stoppen het model slechter maakte.
5. Meer dan het beeld: de vorm van het water
Een satellietbeeld is niet alles wat de fysica van een water vastlegt. De vórm zelf zegt al veel: een lange smalle sloot is bijna overal ondiep, een rond zandgat is diep in het midden. Dus voegden we méér toe dan de kleuren — de geometrie van elk waterlichaam (oppervlak, langgerektheid, eilanden, de polygoongrens), de positie in het raster, de kromming en helling van de bodem waar we die kennen, de LIDAR-hoogte van de oevers, zelfs de stroming in rivieren.
En hier leerden we de belangrijkste les: méér fysica-data is niet automatisch beter. Toen we lagen kritiekloos op elkaar stapelden, zakte de generalisatie juist. De eerste principes waren de scheidsrechter — houd wat het signaal fysiek draagt, snoei de rest. Positie doet lokaal het meeste werk (diepte is ruimtelijk samenhangend); de vorm van de polygoon geeft het regime én houdt de training zuiver (we trainen alleen op écht water, niet op de uiterwaard ernaast); en de kromming en geulranden halen we er niet in, maar als aparte laag uit — daarover zo meer.
6. Meet de vorm, niet de meters
Het laatste principe gaat over wat er voor de visser toe doet. Een vis geeft niet om 4,2 meter; hij geeft om de drop, de geulrand, de richel. Structuur is een gradiënt-eigenschap — veel robuuster terug te halen dan absolute meters. Dus beoordelen we het model op of zijn droppen op de juiste plek liggen, en halen we een deterministische structuurlaag — helling, kromming, geulranden — rechtstreeks uit de gemeten diepte. Die verschuiving, van 'hoe diep precies' naar 'waar verandert de bodem', maakte het resultaat pas echt bruikbaar aan het water.
We dachten dat we het beter konden
In plaats van één rigide formule gaven we een gradient-boosting-model de ruwe Sentinel-2-banden en lieten het zelf de verbanden zoeken. Datzelfde ijkmateriaal, een strikte ruimtelijke train/test-splitsing zodat naburige pixels niet in beide belanden.
Op ongeziene meetpunten haalde het een R² van 0,53, een Spearman-rangcorrelatie van 0,75 en een RMSE van 0,58 meter — terwijl de klassieke SDB het hier niet eens van het gemiddelde wint (R² rond nul, op het Markermeer zelfs licht negatief). Sterker nog: de Stumpf-index als extra kenmerk toevoegen máákte het model slechter. De starre log-verhouding gooit informatie weg die het lerende model juist wél gebruikt.

En toen testten we onszelf kapot
Een goed getal is geen goed model. De echte vraag is: generaliseert het? We trainden op een reeks wateren en hielden er telkens één volledig buiten — leave-one-water-out, de strengst mogelijke test.
Voor absolute diepte in meters faalde de generalisatie. Een model getraind op vier wateren voorspelt de vijfde niet in meters. Wat wél overdraagt is de rangorde — ondiep versus diep — maar niet de kalibratie. Het model weet wáár het ondieper wordt, niet hoeveel.
Waar het wél werkt
Eén familie wateren komt er glansrijk doorheen: de Veluwerandmeren — Veluwemeer, Wolderwijd, Nuldernauw, Eemmeer, Gooimeer. Ondiep, vergelijkbaar van vorm. Daar haalt hetzelfde model een R² rond 0,6 en een Spearman rond 0,84, getoetst met leave-one-out op RWS-waarheid. Niet omdat randmeren magisch zijn, maar omdat ze uniform ondiep zijn — precies het regime waar de fysica meewerkt.
| Water | R² | Spearman |
|---|---|---|
| Veluwemeer | 0,85 | 0,93 |
| Wolderwijd | 0,80 | 0,92 |
| Nuldernauw | 0,73 | 0,89 |
| Gooimeer | 0,63 | 0,81 |
Wat we uiteindelijk uitrollen
De conclusie is niet 'satellietdiepte werkt niet'. Ze is genuanceerder, en die nuance is precies het punt:
- Waar Rijkswaterstaat gemeten bathymetrie heeft, gebruiken we die direct — geen model dat een slechtere versie namaakt.
- Daarbovenop leggen we een deterministische structuurlaag: hellingen, droppen, geulranden en ondieptes, rechtstreeks afgeleid uit de gemeten diepte.
- Voor de Veluwerandmeren rollen we de gemodelleerde diepte uit, gevalideerd met leave-one-out.
- Elke dieptekaart is gelabeld: 'gemeten' of 'gemodelleerd'. We verkopen het één nooit als het ander.
Daarom tonen de merenpagina's diepte waar we het kunnen verantwoorden, en zwijgen ze waar dat niet kan. Een lege plek is eerlijker dan een verzonnen getal.
Status: afgerond. De klassieke SDB-code blijft in de repo als benchmark — als een toekomstige methode hem verslaat, weten we het meteen.
Bijgewerkt: 9 juli 2026