Ga naar inhoud
Remote sensing · Bathymetrie

De bodem lezen vanuit de ruimte: waarom we satellietdiepte (nog) niet overal uitrollen

We reproduceerden de standaardmethode voor satellietdiepte en bouwden er een model omheen dat werkt waar de klassieke aanpak op troebel binnenwater wegvalt — en besloten het tóch niet overal uit te rollen. Dit is waarom.

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.

Helder kustwaterlicht bereikt de bodem~3 mTroebel binnenwaterlicht dooft rond 3 m
Waarom de fysica niet meewerkt: in helder kustwater bereikt het licht de bodem; in troebel Nederlands binnenwater dooft het al na enkele meters.

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.

Wat de satelliet écht ziet
↑ naar de satelliet1231 Oppervlakte-reflectie 2 Waterkolom 3 Bodemreflectie (verzwakt)
De sensor meet een optelsom; alleen de bodemreflectie (3) draagt diepte, en die is het zwakst.

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'.

Hoe diep elke kleur reikt
012345diepte (m)Nabij-infraroodRoodBlauwGroen
In het groen getinte Nederlandse water reikt groen het diepst (blauw wordt weggeslikt door humuszuren en algen); rood dooft vrijwel meteen en nabij-infrarood blijft aan de oppervlakte.

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.

Uniform ondiep (1–4 m)licht bereikt overal de bodemDiep & variabelalleen de randen krijgen licht
Waarom het regime telt: in uniform ondiep water bereikt het licht overal de bodem; in een diep, variabel bekken alleen de ondiepe randen.

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.

Wat we testten — en wat de fysica liet staan
Spectrale banden (blauw · groen · rood · nabij-IR)behoudenPositie in het raster (lokaal)behoudenVorm en grens van de polygoonbehoudenStumpf-index (log-verhouding)gesnoeidExtra banden (red-edge, SWIR)gesnoeidAHN4-hoogte · hydraulicagesnoeidKromming, geulranden, richels→ vismodel
Méér data is niet automatisch beter: veel fysica-lagen lieten de generalisatie juist zakken. We hielden alleen wat het dieptesignaal fysiek draagt.

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.

de vorm die telt: de dropexacte diepte — minder belangrijk
De vorm boven de meters: niet de exacte diepte, maar de drop-off — daar houdt de vis zich op.

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.

Op troebel binnenwater: klassiek vs. ons model
0.00.20.40.6R² op ongeziene data≈0Stumpflog-verhouding≈0Stumpf, per meergeijkt0,53Ons ML op ruweS2-banden+0,53 R²
Verklaarde variantie (R²) op ongeziene meetpunten in troebel binnenwater — dezelfde data, dezelfde splitsing. Hier is er geen bodemsignaal, dus de klassieke SDB komt niet boven nul; ons model haalt 0,53. (Op helder water blijft Stumpf de standaard.)
Drie kaarten van het IJsselmeer naast elkaar: de klassieke Stumpf-methode toont ruis, ons ML-model herstelt de dieptestructuur, en de gemeten diepte van Rijkswaterstaat bevestigt die.
IJsselmeer, dezelfde satellietbeelden en meetdata. Model (midden) en gemeten diepte (rechts) tonen we allebei als relatieve diepte (ondiep → diep) — zo staan model en meting op gelijke voet. De klassieke Stumpf-methode (links) levert ruis; ons model herstelt het geulenpatroon.
0,58 mRMSE op ongeziene blokkenop de ruisvloer van de meting zelf
0,75Spearman-rangcorrelatie op ongeziene data
23wateren getest, alle types

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.

WaterSpearman
Veluwemeer0,850,93
Wolderwijd0,800,92
Nuldernauw0,730,89
Gooimeer0,630,81
Vier Veluwerandmeren, elk voorspeld terwijl het buiten de training werd gehouden.

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

Terug naar Het Lab