# Waterschapsdata (IMWA en DAMO)

Zes kaartdiensten van Het Waterschapshuis met de objecten van alle 21 waterschappen, in één landelijk model (IMWA): kunstwerken zoals gemalen, stuwen, sluizen en duikers, waterkeringen met hun opbouw, oppervlaktewater, peilgebieden, beschermingszones en de afvalwaterketen (rioolgemalen, zuiveringen, leidingen). Op 16 oktober 2026 stonden er 8.566 gemalen, 53.137 stuwen, 626.869 duikers, 37.419 peilgebieden en 317 rioolwaterzuiveringen in. Elk object noemt zijn waterbeheerder. Via PDOK als OGC API, en voor vijf van de zes ook als WFS en WMS.

- Uitgever: Het Waterschapshuis, Publieke Dienstverlening Op de Kaart
- Gebied: Nederland · Laagste detail: object (gemaal, stuw, peilgebied …)
- Periode: actuele stand · Ververst: wekelijks
- Toegang: Open · Licentie: Gemengd: CC0 1.0 (keringen, oppervlaktewateren), CC BY-SA 4.0 (kunstwerken, waterbeheergebieden, zoneringen, waterketen DAMO)
- Koppelsleutels: nen3610id, waterbeheerder, code, coördinaten
- Status: ok (2026-10-16) · 18 collecties · gemaal
- URL: https://www.pdok.nl/introductie/-/article/waterschappen-kunstwerken-imwa

## Wat kun je ermee?
- **Alle gemalen van Nederland op één kaart.** 8.566 gemalen, elk met naam, code en waterbeheerder. Hoogheemraadschap Hollands Noorderkwartier registreert er 2.293, Waterschap De Dommel 60: laag Nederland pompt, hoog Nederland niet.
- **Waar wordt rioolwater gezuiverd?.** De waterketen-API heeft 317 rioolwaterzuiveringen, 2.815 rioolgemalen en 101 nooduitlaten. Zoek de zuivering bij jou in de buurt en volg de persleidingen ernaartoe.
- **Welk waterpeil geldt waar?.** Peilgebieden (37.419) en peilbesluitgebieden (3.937) laten zien hoe het land in vakjes met een eigen peil is verdeeld. Leg ze op het AHN om te zien hoe diep het water onder het maaiveld staat.
- **Vismigratie in kaart.** 1.526 vispassages tegenover 53.137 stuwen en 8.566 gemalen. Bereken per waterloop of een vis er langs kan, of waar de knelpunten liggen.

## Zo verwerk je het
1. **Kies de juiste API.** Er zijn zes OGC API's onder api.pdok.nl/hwh/: kunstwerken (v2, 18 collecties), keringen (27), oppervlaktewateren (5), waterbeheergebieden (7), zoneringen (8) en waterketen DAMO (18). De lijst met collecties en hun datum staat onder /collections.
   `https://api.pdok.nl/hwh/waterschappen-kunstwerken-imwa/ogc/v2/collections?f=json`
2. **Gemalen van één waterschap.** Filter op waterbeheerder (precies de naam zoals in de data), maximaal 1.000 per pagina; de link next in het antwoord geeft de volgende pagina. GeoJSON in graden (CRS84).
   `https://api.pdok.nl/hwh/waterschappen-kunstwerken-imwa/ogc/v2/collections/gemaal/items?f=json&limit=1000&waterbeheerder=Wetterskip%20Frysl%C3%A2n`
3. **Tellen met de WFS.** De OGC API geeft geen totaal. De WFS van dezelfde dataset wel: resultType=hits geeft numberMatched, ook met een filter.
   `https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=stuw`
4. **Welke velden zijn er?.** /schema geeft alle velden met type; /queryables de velden waarop je kunt filteren (bij gemaal alleen naam, guid, nen3610id en waterbeheerder).
   `https://api.pdok.nl/hwh/waterschappen-kunstwerken-imwa/ogc/v2/collections/gemaal/queryables?f=json`

## Interessante koppelingen
- Hoe hoog ligt het land in elk peilgebied? → [ahn](https://www.opendataindex.nl/bron/ahn.md) via coördinaten. Bereken per peilgebied de gemiddelde maaiveldhoogte uit het AHN. Grote verschillen binnen één peilgebied wijzen op natte of juist droge plekken.
- Pompen de gemalen harder bij hoog water? → [rws-waterinfo](https://www.opendataindex.nl/bron/rws-waterinfo.md) via coördinaten (gemaal bij meetpunt). Zoek gemalen bij een meetpunt van Waterinfo en vergelijk de waterstand buiten met de capaciteit van het gemaal (veld maximalecapaciteit, vaak leeg).

## Vergelijkbare bronnen
- [rws-waterinfo](https://www.opendataindex.nl/bron/rws-waterinfo.md): Metingen van waterstand en afvoer in de rijkswateren; de waterschapsdata zijn de objecten zelf, zonder metingen.
- [Basisregistratie Topografie (TOP10NL, waterdelen)](https://www.pdok.nl/introductie/-/article/basisregistratie-topografie-brt-topnl): Landelijke topografische kaart van al het water, maar zonder gemalen, stuwen of peilen.
- [klimaateffectatlas](https://www.opendataindex.nl/bron/klimaateffectatlas.md): Kaarten van wateroverlast en overstromingskans; de waterschapsdata laten zien welke werken het water keren of afvoeren.

## Waar je op moet letten
- **Licenties verschillen per API.** Keringen en oppervlaktewateren zijn CC0. Kunstwerken, waterbeheergebieden, zoneringen en waterketen DAMO zijn CC BY-SA 4.0: naam noemen en gelijk delen. De INSPIRE-versie Waterschappen Hydrografie (api.pdok.nl/hwh/waterschappen-hydrografie) is CC BY-NC-ND 4.0 en dus niet open.
- **Veel velden leeg.** Het model heeft tientallen velden per object, maar waterschappen vullen ze verschillend. Bij het eerste gemaal in de API zijn naam, capaciteit en functie leeg; bij peilgebieden ontbreken vaak de peilen zelf.
- **Geen totalen in de OGC API.** De OGC API geeft geen numberMatched. Tellen kan met de WFS (resultType=hits); die bestaat voor kunstwerken (v2_0), oppervlaktewateren, waterbeheergebieden, zoneringen (v2_0) en waterketen DAMO (v1_0), niet voor keringen.
- **Registratie verschilt per waterschap.** Een vergelijking tussen waterschappen zegt ook iets over hoe fijn ze registreren. Hollands Noorderkwartier telt veel kleine poldergemalen mee.
- **Weinig filtervelden.** Per collectie kun je maar op een paar velden filteren (naam, guid, nen3610id, waterbeheerder, soms code). Voor andere selecties: alles ophalen of de WFS met een FES-filter gebruiken.

## API (OGC WFS 2.0.0)

- Basis: https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0
- Toegang: Geen sleutel. Kosten: none; gebruiksvoorwaarden: https://creativecommons.org/publicdomain/zero/1.0/deed.nl. (uit de beschrijving)
- Formaten: application/gml+xml; version=3.2, text/xml; subtype=gml/3.2.1, text/xml; subtype=gml/3.1.1, application/json; subtype=geojson, application/json
- Omvang: 8520 objecten in waterschappen-kunstwerken-imwa:gemaal (getest)
- Filteren: OGC Filter Encoding (FES 2.0); PropertyIsEqualTo, PropertyIsNotEqualTo, PropertyIsLessThan, PropertyIsGreaterThan, PropertyIsLessThanOrEqualTo, PropertyIsGreaterThanOrEqualTo, PropertyIsLike, PropertyIsBetween, PropertyIsNull, Equals, Disjoint, Touches, Within, Overlaps, Crosses, Intersects, Contains, DWithin, Beyond, BBOX, During

### Endpoints
- `GET ?request=GetCapabilities`: beschrijving van de dienst
- `GET ?request=DescribeFeatureType`: velden van een laag (XSD)
- `GET ?request=GetFeature`: de objecten zelf, met geometrie
- `GET ?request=ListStoredQueries`: opgeslagen zoekvragen
- `GET ?request=DescribeStoredQueries`: uitleg bij opgeslagen zoekvragen

### Parameters
- `typeNames`: welke laag: waterschappen-kunstwerken-imwa:put, waterschappen-kunstwerken-imwa:sluis, waterschappen-kunstwerken-imwa:vuilvang, waterschappen-kunstwerken-imwa:coupure, waterschappen-kunstwerken-imwa:vispassage, waterschappen-kunstwerken-imwa:hevel, waterschappen-kunstwerken-imwa:bodemval, waterschappen-kunstwerken-imwa:duiker, waterschappen-kunstwerken-imwa:brug, waterschappen-kunstwerken-imwa:stuw, waterschappen-kunstwerken-imwa:zandvang, waterschappen-kunstwerken-imwa:aquaduct, waterschappen-kunstwerken-imwa:voorde, waterschappen-kunstwerken-imwa:vastedam, waterschappen-kunstwerken-imwa:afsluitmiddel, waterschappen-kunstwerken-imwa:gemaal, waterschappen-kunstwerken-imwa:sifon, waterschappen-kunstwerken-imwa:verbeterinstallatie (uit de beschrijving)
- `outputFormat`: bv. application/json voor GeoJSON (uit de beschrijving)
- `srsName`: projectie, bv. EPSG:4326 voor webkaarten (standaard EPSG:28992, RD) (uit de beschrijving)
- `count / startIndex`: pagineren (uit de beschrijving)
- `filter`: FES-XML-filter op velden of geometrie (uit de beschrijving)
- `bbox`: rechthoek in de gekozen projectie (platform)

### Velden (33)
`geom` geometrie, `aantaldoorstroomopeningen` long, `afslagpeil` double, `afvoercoefficient` double, `breedteopening` double, `categoriewaterkering` string, `code` string, `drempelpeil` double, `filteruitstroming` string, `functiegebiedgemaal` string, `functiegemaal` string, `guid` string, `indicatiewaterkerend` string, `isonderdeelvanwaterkering` string, `kerendehoogte` double, `maximalecapaciteit` double, `naam` string, `nen3610id` string, `ontwerpbuitenwaterstand` double, `openingspeil` double, `openkeerpeil` double, `opmerking` string, `richting` double, `signaleringspeil` double, `sluitpeil` double, `statusleggerwatersysteem` string, `statusleggerwaterveiligheid` string, `statusobject` string, `typeregelbaarheid` string, `typewaterkerendeconstructie` string, `url` string, `waterbeheerder` string, `fuuid` string

### Limieten en valkuilen
- Maximaal 1.000 objecten per verzoek (CountDefault). (uit de beschrijving)
- Pagineren kan: count en startIndex (ImplementsResultPaging). (uit de beschrijving)
- Dezelfde data staan ook als OGC API: https://api.pdok.nl/hwh/waterschappen-kunstwerken-imwa/ogc/v2 (GeoJSON, 1.000 per pagina, pagineren met cursor). Die geeft geen totaal; de WFS wel. (getest)
- GetPropertyValue geeft één veld zonder geometrie, maximaal 1.000 waarden per verzoek; pagineer met startIndex en sortBy=nen3610id. (getest)

### Voorbeeld
```
https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0?request=GetFeature&service=WFS&version=2.0.0&typeNames=waterschappen-kunstwerken-imwa:gemaal&outputFormat=application/json&srsName=EPSG:4326&count=1&propertyName=naam,code,waterbeheerder,maximalecapaciteit,statusobject
```

## Zo haal je het op

### curl
```bash
curl "https://api.pdok.nl/hwh/waterschappen-kunstwerken-imwa/ogc/v2/collections/gemaal/items?f=json&limit=5"
```

### python
```python
import requests

wfs = "https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0"
for laag in ["gemaal", "stuw", "sluis", "vispassage"]:
    r = requests.get(wfs, params={"service": "WFS", "version": "2.0.0", "request": "GetFeature",
                                  "resultType": "hits", "typeNames": laag})
    print(laag, r.text.split('numberMatched="')[1].split('"')[0])
```


## Voorbeelden met echte cijfers (2)

Per voorbeeld de bevinding, de peildatum en de aanroep die precies deze cijfers ophaalt.

- **Gemalen per waterschap: het meest Hoogheemraadschap Hollands Noorderkwartier (2.293 gemalen), dan Wetterskip Fryslân en Hoogheemraadschap van Rijnland** (oktober 2026). Tabel waterschappen-kunstwerken-imwa. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/waterschappen-gemalen-per-waterschap)
  - `https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0?service=WFS&version=2.0.0&request=GetPropertyValue&typeNames=gemaal&valueReference=waterbeheerder&sortBy=nen3610id&count=1000&startIndex=0`
  - `https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=gemaal`
- **Kunstwerken in het beheer van de waterschappen naar soort: het meest duikers (626.955 objecten), dan bruggen en vaste dammen** (oktober 2026). Tabel waterschappen-kunstwerken-imwa. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/waterschappen-kunstwerken-soorten)
  - `https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=duiker`
  - `https://service.pdok.nl/hwh/waterschappen-kunstwerken-imwa/wfs/v2_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=gemaal`
