# Klimaateffectatlas

Landelijke kaarten van wat klimaatverandering in Nederland doet: gevoelstemperatuur, droogte, grondwater, bodemdaling, waterdiepte bij een overstroming en bij extreme regen. Vaak voor nu en voor 2050, 2085 of 2100. Er is ook een buurtdashboard met cijfers per buurt. Te gebruiken als kaartlaag (WMS), als vectordata (WFS) en als download.

- Uitgever: Klimaateffectatlas (Stichting Climate Adaptation Services)
- Gebied: Nederland · Laagste detail: buurt of rastercel
- Periode: huidig klimaat en scenario's voor 2050, 2085 en 2100 · Ververst: elk kwartaal
- Toegang: Open · Licentie: CC BY 4.0 (bronvermelding "Klimaateffectatlas, 2026")
- Koppelsleutels: buurtcode (BU), gemeentecode (GM)
- Status: ok (2026-08-20) · 185 kaartlagen; nieuwste: nl_stroombanen_70mm_1h_v20260820
- URL: https://www.klimaateffectatlas.nl

## Wat kun je ermee?
- **De heetste buurten van je stad.** De laag GevoelstemperatuurBuurt_2022 geeft per buurt een gemiddelde gevoelstemperatuur (PET). Sorteer de buurten van je gemeente en kijk welke het heetst zijn.
- **Hoeveel groen heeft een buurt?.** Het buurtdashboard heeft per buurt het aandeel groen, steen en water, en de boomkroonbedekking op drie momenten (gemeten met AHN3, AHN4 en AHN5). Zo zie je of een buurt groener of grijzer wordt.
- **Hitte en inkomen.** Koppel de gevoelstemperatuur per buurt aan inkomen en leeftijd uit de CBS-buurtcijfers. Wonen kwetsbare mensen vaker in hete buurten?
- **Hoe diep komt het water?.** De kaarten met maximale waterdiepte bij een overstroming zijn er voor vijf kansen, van grote kans tot extreem kleine kans. Tel per gemeente hoeveel woningen in gebied met meer dan een meter water liggen.

## Zo verwerk je het
1. **Kies een kaartlaag.** De WMS had op 15 oktober 2026 185 kaartlagen. De namen zijn technisch (droogtestress_huidig, kans_grondwateroverlast_2050hoog); de kaartviewer op de website laat zien welke laag bij welk kaartverhaal hoort.
   `https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wms?service=WMS&request=GetCapabilities`
2. **Vectordata per buurt via WFS.** 68 lagen zijn ook als WFS te krijgen, zoals de buurtlagen. Met propertyName laat je de geometrie weg; dan blijft het antwoord klein.
   `https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=kea_public:GevoelstemperatuurBuurt_2022&outputFormat=application/json&count=3&propertyName=buurtcode,buurtnaam,gemeentena,PET_gem`
3. **Filter op gemeente.** De server is GeoServer en kent cql_filter. Utrecht gaf 111 buurten.
   `https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=kea_public:GevoelstemperatuurBuurt_2022&outputFormat=application/json&propertyName=buurtcode,buurtnaam,PET_gem&cql_filter=gemeentena='Utrecht'`
4. **Rasters downloaden.** Voor de rasterbestanden zelf vul je op de site een formulier in (naam, organisatie, e-mail, doel). Je krijgt dan een downloadlink per mail.

## Interessante koppelingen
- Wonen ouderen en mensen met een laag inkomen in de heetste buurten? → [cbs-kwb](https://www.opendataindex.nl/bron/cbs-kwb.md) via buurtcode (BU). Koppel op buurtcode. Let op welk jaar de buurtindeling heeft; het buurtdashboard geeft buurtcodes van 2020 tot en met 2024.
- Een eigen kaart van hitte per buurt → [pdok-wijkenbuurten](https://www.opendataindex.nl/bron/pdok-wijkenbuurten.md) via buurtcode (BU). Haal de cijfers zonder geometrie op en plak ze op de buurtgrenzen van hetzelfde jaar. Dat is veel lichter dan de geometrie uit de WFS van de atlas.

## Vergelijkbare bronnen
- [Atlas Leefomgeving](https://www.atlasleefomgeving.nl): Breder (lucht, geluid, groen, water), met kaarten van het RIVM. Minder diep op klimaat.
- [LIWO, basisinformatie overstromingen (Rijkswaterstaat)](https://basisinformatie-overstromingen.nl): Overstromingsscenario's per dijkdoorbraak in plaats van één landelijk beeld.
- [era5](https://www.opendataindex.nl/bron/era5.md): Ruwe klimaatgegevens (temperatuur, neerslag) per uur. De atlas laat de gevolgen zien, ERA5 de oorzaken.

## Waar je op moet letten
- **Modellen, geen metingen.** De kaarten zijn berekeningen voor een scenario of een standaarddag. Ze zeggen waar het risico hoger is, niet wat er op een bepaalde dag gebeurde.
- **Kaarten verdwijnen en komen terug met een nieuwe naam.** Het logboek op de site noemt in augustus 2026 de kaart Stedelijk hitte-eiland als verwijderd, terwijl de laag hitteeiland op 15 oktober 2026 nog in de WMS stond. Kijk in het logboek welke kaart actueel is.
- **Download alleen via een formulier.** Rasterbestanden krijg je per mail na een formulier met je gegevens. Voor scripts zijn WMS en WFS de enige directe route.
- **Bronvermelding verplicht.** De data valt onder CC BY 4.0. De atlas vraagt als bron: 'Klimaateffectatlas, 2026'.

## API (OGC WFS 2.0.0)

- Basis: https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wfs
- Toegang: Geen sleutel. Kosten: NONE; gebruiksvoorwaarden: NONE. (uit de beschrijving)
- Formaten: application/gml+xml; version=3.2, GML2, KML, SHAPE-ZIP, application/geo+json, application/geopackage+sqlite3, application/json, application/vnd.google-earth.kml xml, application/vnd.google-earth.kml+xml, application/vnd.ogc.fg+json, application/x-gpkg, csv, excel, excel2007, geopackage, geopkg, gml3, gml32, gpkg, json, text/csv, text/xml; subtype=gml/2.1.2, text/xml; subtype=gml/3.1.1, text/xml; subtype=gml/3.2
- Omvang: 14574 objecten in kea_public:GevoelstemperatuurBuurt_2022 (getest)
- Filteren: OGC Filter Encoding (FES 2.0); PropertyIsLessThan, PropertyIsGreaterThan, PropertyIsLessThanOrEqualTo, PropertyIsGreaterThanOrEqualTo, PropertyIsEqualTo, PropertyIsNotEqualTo, PropertyIsLike, PropertyIsBetween, PropertyIsNull, PropertyIsNil, Disjoint, Equals, DWithin, Beyond, Intersects, Touches, Crosses, Within, Contains, Overlaps, BBOX, After, Before, Begins, BegunBy, TContains, During, TEquals, TOverlaps, Meets, OverlappedBy, MetBy, EndedBy

### 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=GetPropertyValue`: alleen de waarden van één veld
- `GET ?request=ListStoredQueries`: opgeslagen zoekvragen
- `GET ?request=DescribeStoredQueries`: uitleg bij opgeslagen zoekvragen
- `GET ?request=CreateStoredQuery`: CreateStoredQuery
- `GET ?request=DropStoredQuery`: DropStoredQuery

### Parameters
- `typeNames`: welke laag: kea_public:Afstand_tot_koelte, kea_public:BD_buurtdashboard_20260312, kea_public:Gebiedsindeling_BRS, kea_public:GevoelstemperatuurBuurt_2012, kea_public:GevoelstemperatuurBuurt_2022, kea_public:Oppervlaktewaterverzilting_05m_ZSS_1000m3_Rijn, kea_public:Oppervlaktewaterverzilting_05m_ZSS_2000m3_Rijn, kea_public:Oppervlaktewaterverzilting_05m_ZSS_500m3_Rijn, kea_public:Oppervlaktewaterverzilting_0m_ZSS_1000m3_Rijn, kea_public:Oppervlaktewaterverzilting_0m_ZSS_2000m3_Rijn, kea_public:Oppervlaktewaterverzilting_0m_ZSS_500m3_Rijn, kea_public:Oppervlaktewaterverzilting_1m_ZSS_1000m3_Rijn, kea_public:Oppervlaktewaterverzilting_1m_ZSS_2000m3_Rijn, kea_public:Oppervlaktewaterverzilting_1m_ZSS_500m3_Rijn, kea_public:Oppervlaktewaterverzilting_3mZSS_500m3_Rijn, kea_public:Oppervlaktewaterverzilting_3m_ZSS_1000m3_Rijn, kea_public:Oppervlaktewaterverzilting_3m_ZSS_2000m3_Rijn, kea_public:Provinciegrenzen, kea_public:RMK_30percBKB_AHN3, kea_public:RMK_30percBKB_AHN4, kea_public:RMK_30percBKB_AHN5, kea_public:RMK_BebouwdeKomGrenzen, kea_public:RMK_BuurtAggregaties, kea_public:RMK_LVR_AHN3, kea_public:RMK_LVR_AHN4, kea_public:RMK_LVR_AHN5, kea_public:Schaduw op gebouwen, kea_public:SchaduwOpGebouwen_VerkoelingBinnen, kea_public:Toenamehoogtedijkenenduinenbijnormbij1mzeespiegelstijging, kea_public:Toenamehoogtedijkenenduinenbijnormbij3mzeespiegelstijging, kea_public:totaalkaartklimaatbuffers, kea_public:Verandering_doorspoelwatervraag_05m_ZSS, kea_public:Verandering_doorspoelwatervraag_1m_ZSS, kea_public:Verandering_doorspoelwatervraag_3m_ZSS, kea_public:Veranderingwaterstandbijnormbij1mzeespiegelstijging, kea_public:Veranderingwaterstandbijnormbij3mzeespiegelstijging, kea_public:Waterschapsgrenzen, kea_public:werkregiogrenzen14012022, kea_public:wijktypen_buurten, kea_public:bkns_subklasse_2023_dreigingen_kansen, kea_public:bknsn_hoofdklasse, kea_public:bknsn_subklasse, kea_public:droge_verdiepingen_extreem_kleine_kans_20251120, kea_public:droogtegevoeligheidgrondwaterafhankelijkenatuur, kea_public:kans_grondwateroverlast_2050hoog, kea_public:nl_bereikbaarheid_geen_dreiging_v20260813, kea_public:nl_bereikbaarheid_grootschalige_extreme_neerslag_v20260813, kea_public:nl_bodemdaling_ondiep_v20260623, kea_public:nl_bodemdaling_totaal_v20260623, kea_public:nl_broze_gezondheid_buurt_v20260722, kea_public:nl_fcab_omgevingsscore_wateroverlast_v20260806, kea_public:nl_percentage_huurwoningen_buurt_v20260722, kea_public:nl_sociaal_economische_status_buurt_v20260722, kea_public:nl_sterk_eenzaam_buurt_v20260722, kea_public:nl_stroombanen_70mm_1h_v20260820, kea_public:opwarming_oppervlaktewater_2050hoog, kea_public:opwarming_oppervlaktewater_huidig, kea_public:risicopaalrot_2050hoog, kea_public:risicopaalrot_2050laag, kea_public:risicopaalrot_huidig, kea_public:risicoverschilzetting_2050hoog, kea_public:risicoverschilzetting_2050laag, kea_public:stijging_waterstanden_2050hoog, kea_public:tekort_opvwater_extreem_2050hoog, kea_public:tekort_opvwater_extreem_huidig, kea_public:tekort_opvwater_gem_2050hoog, kea_public:tekort_opvwater_gem_huidig, kea_public:wijktypen_PC6 (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 (14)
`fid_1` double, `buurtcode` string, `buurtnaam` string, `wijkcode` string, `gemeenteco` string, `gemeentena` string, `jrstatcode` string, `jaar` long, `_count` double, `_sum` double, `_mean` double, `PET_gem` int, `RIVMClass` int, `geometry` geometrie

### Limieten en valkuilen
- Maximaal 100.000 objecten per verzoek (CountDefault). (uit de beschrijving)
- Pagineren kan: count en startIndex (ImplementsResultPaging). (uit de beschrijving)
- Sommige lagen zijn rasters omgezet naar vlakken en hebben miljoenen objecten (Afstand_tot_koelte: 6.275.235 op 15 okt 2026). Vraag die nooit in één keer op; tel eerst met resultType=hits. (getest)
- Laagnamen met een datum (…_v20260813, …_20260128) veranderen bij een update; oude versies blijven soms naast de nieuwe staan. Lees eerst GetCapabilities en kies de nieuwste. (getest)
- Met propertyName zonder geometrieveld laat GeoServer de geometrie weg (geometry: null). Drie buurten zijn dan minder dan 1 KB. (getest)
- Veldnamen zijn ingekort (gemeentena, gemeenteco). De laag heet _2022, maar het veld jaar is 2024 en jrstatcode begint met 2024BU: controleer welke buurtindeling je koppelt. (getest)

### Voorbeeld
```
https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=kea_public:GevoelstemperatuurBuurt_2022&outputFormat=application/json&count=3&propertyName=buurtcode,buurtnaam,gemeentena,PET_gem
```

## Zo haal je het op

### curl
```bash
curl "https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=kea_public:GevoelstemperatuurBuurt_2022&outputFormat=application/json&count=3&propertyName=buurtcode,buurtnaam,gemeentena,PET_gem"
```

### python
```python
import requests

r = requests.get("https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wfs", params={
    "request": "GetFeature", "service": "WFS", "version": "2.0.0",
    "typeNames": "kea_public:GevoelstemperatuurBuurt_2022", "outputFormat": "application/json",
    "propertyName": "buurtcode,buurtnaam,PET_gem", "cql_filter": "gemeentena='Utrecht'"})
buurten = sorted((f["properties"] for f in r.json()["features"]), key=lambda p: -p["PET_gem"])
for b in buurten[:5]:
    print(b["buurtnaam"], b["PET_gem"])
```

## Wat je ermee kunt bouwen
- [Klimaatrisico-check voor een adres](https://www.opendataindex.nl/bouwen/klimaatrisico-adres.md): Typ een postcode en huisnummer en zie in één rapport hoe het pand ervoor staat bij hitte, wateroverlast, overstroming, droogte en funderingsproblemen, met de kaarten van de Klimaateffectatlas, het AHN, de BAG en echte grondwatermetingen uit de BRO.


## Wat er allemaal in zit: 189 kaartlagen

Alle lagen uit de WMS en WFS van de Klimaateffectatlas, elke nacht opgehaald. De dienst zelf heeft geen mappen; de indeling hieronder volgt de laagnamen. Staat er een datum in de naam, dan is dat de versie, en staat de oudere versie er soms nog naast.

- Soorten: kaartlaag 189
- Laatst gewijzigd: 2026-10-16 (4 in de afgelopen 30 dagen)
- Met een API-aanroep op de datasetpagina: 189
- Zoeken: https://www.opendataindex.nl/api/catalogus/klimaateffectatlas?q=… of de MCP-functie zoek_datasets met herkomst=klimaateffectatlas
- Elke rij heeft een eigen pagina: https://www.opendataindex.nl/dataset/klimaateffectatlas/<sleutel>

### Mappen
- Bereikbaarheid (2)
- Bodemdaling en funderingen (12)
- Bomen en groen (RMK, BGV) (15)
- Buurten en bewoners (7)
- Droogte en verzilting (46)
- Grenzen en indelingen (4)
- Hitte (22)
- Natuurbrand (2)
- Overige lagen (8)
- Overstroming (52)
- Wateroverlast (13)
- Wind (6)

## Voorbeelden met echte cijfers (2)

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

- **Berekende gevoelstemperatuur (PET) uit de hittekaart: het hoogst in Schiermonnikoog (47,7 °C), het laagst in Zeist (38,8 °C)** (2022). Tabel kea_public:GevoelstemperatuurBuurt_2022. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/klimaateffectatlas-gevoelstemperatuur-gemeenten)
  - `https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=kea_public:GevoelstemperatuurBuurt_2022&outputFormat=csv&propertyName=buurtcode,gemeenteco,gemeentena,_count,_mean`
- **Berekende gevoelstemperatuur in Utrecht: in de bebouwde stad vooral extreme hittestress, koeler bij groen en water** (2022). Tabel gevoelstemperatuur_2022. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/klimaateffectatlas-hitte-utrecht)
  - `https://cas.cloud.sogelink.com/public/data/org/gws/YWFMLMWERURF/kea_public/wms?service=WMS&version=1.3.0&request=GetMap&layers=gevoelstemperatuur_2022&styles=&crs=EPSG:28992&bbox=131000,451000,141000,461000&width=800&height=800&format=image/png`
