# Riolering van gemeenten (GWSW)

Het rioolbeheer van gemeenten die hun gegevens delen volgens het Gegevenswoordenboek Stedelijk Water (GWSW) van Stichting RIONED: leidingen met materiaal, diameter en aanlegjaar, putten, pompen, bouwwerken, huisaansluitingen en lozingspunten zoals riooloverstorten. Op 16 oktober 2026 ging het om 1,8 miljoen leidingen, 1,45 miljoen putten en 14.905 lozingspunten uit 144 gemeenten (van de 342), plus één dataset van de waterschappen. Via PDOK als OGC API, WFS, WMS en GeoPackage.

- Uitgever: Stichting RIONED, Publieke Dienstverlening Op de Kaart
- Gebied: Nederland · Laagste detail: leiding en put
- Periode: actuele stand (aanlegjaren tot ver in de vorige eeuw) · Ververst: wekelijks
- Toegang: Open · Licentie: CC0 1.0 (volgens de landing page van de OGC API)
- Koppelsleutels: uri, dataset (gemeente), stelsel, coördinaten
- Status: ok (2026-10-15) · 8 collecties · beheerleiding
- URL: https://www.pdok.nl/introductie/-/article/stedelijk-water-riolering-

## Wat kun je ermee?
- **Waar stroomt het riool over?.** De collectie beheerlozing heeft 14.905 lozingspunten: externe overstorten (bij hevige regen stroomt rioolwater naar sloot of gracht), uitlaten en nooduitlaten. Zet ze op de kaart naast zwemwater.
- **Waar ligt nog asbestcement?.** 11.900 leidingen hebben materiaal asbestcement, 683.489 pvc en 682.052 beton. Kleur een kaart op materiaal of bereken per gemeente het aandeel oude materialen.
- **Hoe oud is het riool?.** Het veld begindatum geeft het aanlegjaar van een leiding. Maak per buurt een leeftijdsprofiel en vergelijk met het rioleringsplan van de gemeente.
- **Welke gemeenten delen hun riooldata?.** Het veld dataset noemt de gemeente. Op 16 oktober 2026 waren dat er 144; de rest van Nederland ontbreekt. Een kaart van wie wel en wie niet meedoet is al een verhaal.

## Zo verwerk je het
1. **Overstorten van één gemeente.** In de OGC API kun je per collectie maar op een paar velden filteren. Neem een bbox rond de gemeente (in graden), maximaal 1.000 per pagina, en volg de link next.
   `https://api.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/ogc/v1/collections/beheerlozing/items?f=json&limit=1000&bbox=5.05,52.05,5.17,52.13`
2. **Tellen met de WFS.** De WFS van dezelfde dataset geeft totalen met resultType=hits. Materiaal is een GWSW-URI met versie (…/1.6/totaal/PVC): tel met PropertyIsLike op */PVC.
   `https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=beheerlozing`
3. **Een gemeente via de WFS.** Filter op het veld dataset (de volledige URL met de gemeentenaam zonder spaties, bv. Utrecht, UtrechtseHeuvelrug, DenHaag) en vraag GeoJSON in graden.
   `https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&typeNames=beheerlozing&outputFormat=application/json&srsName=EPSG:4326&count=100&FILTER=%3CFilter%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3Edataset%3C/PropertyName%3E%3CLiteral%3Ehttps://apps.gwsw.nl/item_config?dataset=Utrecht%3C/Literal%3E%3C/PropertyIsEqualTo%3E%3C/Filter%3E`
4. **Alles in één bestand.** De GeoPackage met alle collecties is 2,96 GB en wordt dagelijks vernieuwd (Last-Modified 15 oktober 2026). De ATOM-feed noemt het bestand.
   `https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/atom/index.xml`

## Interessante koppelingen
- Hoe vaak is er zo veel regen dat de overstorten aanspringen? → [knmi-daggegevens](https://www.opendataindex.nl/bron/knmi-daggegevens.md) via datum en coördinaten (dichtstbijzijnd station). Het GWSW geeft waar de overstorten liggen; tel met de daggegevens van het KNMI hoe vaak er meer dan 20 millimeter op een dag viel. Echte overstortmetingen staan niet in het GWSW.
- Meter riool per inwoner → [cbs-kwb](https://www.opendataindex.nl/bron/cbs-kwb.md) via buurtcode (ruimtelijk koppelen). Tel per buurt de lengte van de leidingen (veld lengte_leiding) en deel door het aantal inwoners uit de CBS-buurtcijfers.

## Vergelijkbare bronnen
- [waterschappen-pdok](https://www.opendataindex.nl/bron/waterschappen-pdok.md): De waterschappen beheren het vervolg: rioolgemalen, persleidingen en zuiveringen (waterketen DAMO). Het GWSW gaat over het gemeentelijke riool tot aan dat overnamepunt.
- [Richtlijn stedelijk afvalwater (Rijkswaterstaat)](https://www.pdok.nl/introductie/-/article/kaderrichtlijn-stedelijk-afvalwater): Landelijke rapportage voor de EU over rioolstelsels en zuiveringen, veel grover dan het GWSW.
- [openstreetmap](https://www.opendataindex.nl/bron/openstreetmap.md): OSM heeft vrijwel geen ondergrondse leidingen; het GWSW is de enige open bron op dit detail.

## Waar je op moet letten
- **Niet landsdekkend.** Alleen gemeenten die hun beheerdata via het GWSW delen. Op 16 oktober 2026 telden we 144 gemeentenamen in het veld dataset (sommige met een tweede set _Aansluitingen) en één set van de waterschappen. Amsterdam en Rotterdam ontbreken.
- **Codes als URL's met versie.** Type en materiaal zijn URI's van data.gwsw.nl met een versienummer (1.4, 1.5, 1.6, 1.7). Dezelfde soort komt dus onder vier namen voor: kijk naar het laatste deel. Sommige gemeenten gebruiken eigen afkortingen (pp voor polypropyleen).
- **Veel velden leeg.** 231.022 van de 1.799.881 leidingen hebben geen of een ongebruikelijk materiaal. Datums zijn soms een lege tekst in plaats van leeg.
- **Geen totalen in de OGC API.** De OGC API geeft geen numberMatched en maximaal 1.000 objecten per pagina. Voor tellingen de WFS (resultType=hits) gebruiken; een telling over alle leidingen met een filter duurt 3 tot 8 seconden.

## API (OGC WFS 2.0.0)

- Basis: https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/wfs/v1_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: 14905 objecten in beheerstedelijkwater:BeheerLozing (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: beheerstedelijkwater:AansluitingLeiding, beheerstedelijkwater:BeheerPomp, beheerstedelijkwater:BeheerBouwwerk, beheerstedelijkwater:BeheerPut, beheerstedelijkwater:AansluitingPunt, beheerstedelijkwater:BeheerLeiding, beheerstedelijkwater:BeheerLozing, beheerstedelijkwater:BeheerGebied (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 (12)
`geom` geometrie, `dataset` string, `stelsel` string, `stelseltype` string, `naam` string, `uri` string, `type` string, `begindatum` string, `einddatum` string, `drempelniveau` double, `drempelbreedte` long, `fuuid` string

### Limieten en valkuilen
- Maximaal 1.000 objecten per verzoek (CountDefault). (uit de beschrijving)
- Pagineren kan: count en startIndex (ImplementsResultPaging). (uit de beschrijving)
- Een filter met veel voorwaarden (bv. 150 keer PropertyIsNotEqualTo) past niet in een URL: stuur de WFS-vraag dan als POST met XML. Dat werkte op 16 oktober 2026. (getest)
- Laagnamen zijn hoofdletterongevoelig (beheerlozing = BeheerLozing). Veldnamen in de WFS zijn soms anders dan in de OGC API (materiaal_leiding heet in het antwoord materiaalLeiding). (getest)

### Voorbeeld
```
https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/wfs/v1_0?request=GetFeature&service=WFS&version=2.0.0&typeNames=beheerstedelijkwater:BeheerLozing&outputFormat=application/json&srsName=EPSG:4326&count=1&propertyName=naam,type,stelsel,dataset
```

## Zo haal je het op

### curl
```bash
curl "https://api.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/ogc/v1/collections/beheerlozing/items?f=json&limit=5"
```

### python
```python
import requests

wfs = "https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/wfs/v1_0"
for laag in ["beheerleiding", "beheerput", "beheerlozing", "beheerpomp"]:
    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 (1)

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

- **Rioolleidingen in het GWSW naar materiaal: het meest PVC (683.213 leidingen), dan beton en PE (polyetheen)** (oktober 2026). Tabel beheer-stedelijk-watersystemen-gwsw: beheerleiding. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/rioned-gwsw-leidingen-materiaal)
  - `https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=beheerleiding&FILTER=%3CFilter%3E%3CPropertyIsLike%20wildCard%3D%22*%22%20singleChar%3D%22.%22%20escape%3D%22!%22%20matchCase%3D%22false%22%3E%3CPropertyName%3Emateriaal_leiding%3C%2FPropertyName%3E%3CLiteral%3E*%2FPVC%3C%2FLiteral%3E%3C%2FPropertyIsLike%3E%3C%2FFilter%3E`
  - `https://service.pdok.nl/rioned/beheer-stedelijk-watersystemen-gwsw/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=beheerleiding`
