Pdokr – makkelijk met PDOK-data werken in in R

Hoi allemaal,

Ik heb een R-package gemaakt om met PDOK-data direct in R te werken: pdokr, sinds kort te installeren vanaf CRAN.

Wat het doet:

  • lagen inladen als sf-object, met nette CRS-afhandeling;
  • filteren op een willekeurig gebied (bijv. alle gebouwen binnen een wijk);
  • adressen en plaatsnamen geocoderen via de PDOK locatieserver.

Een klein voorbeeld: gemeentegrens ophalen → wijk eruit filteren → alle gebouwen uit TOP10NL binnen die wijk inladen → op een PDOK-basemap zetten. Een handvol regels code:

library(pdokr)
library(dplyr)
library(tmap)

# Gemeente en een van de wijken (de Delftse binnenstad)
delft <- pdok_read("cbs/gebiedsindelingen", "gemeente_gegeneraliseerd", datetime = 2024) |>
  filter(statnaam == "Delft")

binnenstad <- pdok_read("cbs/gebiedsindelingen", "wijk_gegeneraliseerd", datetime = 2024,
                        filter_by = delft, predicate = "within") |>
  filter(statnaam == "Wijk 11 Binnenstad")

# Alle gebouwen in die wijk, uit de TOP10NL
buildings <- pdok_read("brt/top10nl", "gebouw_vlak", filter_by = binnenstad)

# Kaartje
tmap_mode("plot")
tm_basemap(pdok_basemap("grijs")) +
  tm_shape(buildings) + tm_polygons(fill = "#d95f02", col = "white", lwd = 0.4)

Dit package richt zich vooral op data-analisten die R kennen maar geen doorgewinterde geo-werkers zijn. Vandaar de insteek: geen WFS-URL’s knutselen of CRS-conversies uitpluizen, gewoon data binnenhalen en aan de slag.

Package + voorbeelden (oaBAG-gebouwen, DUO-scholen, CBS-statistiek): Access Open Geodata from the Dutch PDOK Platform • pdokr

Feedback en use-cases van harte welkom!

Groet, Coen

4 likes

Top om te lezen, thanks!
Hoe dan ook ben ik geen data-analist en ook geen programmeur en weet werkelijk niet wat R is… maar ik ben geinteresseerd in het gebuik van de PDOK data vandaar mijn vraag: bevraag je de brondata via OGC API’s of download je de benodigde GPKG’s en voer je dit lokaal uit?
En weet je dat wij op het punt staan om uitgebreide filtering in de OGC API’s toe te gaan passen met meer functionaliteit dan bestaande WFS?

Hoi Anouk, dank voor je reactie!

pdokr bevraagt de data live via de OGC API Features van PDOK — dus geen GPKG’s downloaden of iets lokaals draaien. Het haalt per request precies de features op die je nodig hebt en zet die om naar iets waar je in R mee verder werkt. WFS gebruik ik bewust niet.

Filteren op een gebied gaat nu in twee stappen: een grove bbox naar de server, en de precieze selectie (binnen een wijk, provincie, enz.) daarna lokaal. Attribuutfilters (bijv. “alleen Delft”) gebeuren nu ook nog lokaal.

De post over de nieuwe filters had ik gezien, ga ik sowieso mee aan de slag als het live staat. Met Part 3 / CQL2 kan ik de lokale stappen dan naar de server verplaatsen (S_WITHIN op een echte polygoon, plus filters als IN/LIKE).

Groet, Coen

2 likes