1 Leeswijzer

Met deze rapportage wordt de deelscore op het kenmerk Afwezigheid parkeren van de SPI Veilige Infrastructuur beschikbaar gesteld. De rapportage bevat tevens de programmacode en biedt daarmee een verantwoording voor het bepalen van de deelscore vanuit de beschikbare data.

De lezer die op zoek is naar de deelscore vindt deze onder hoofdstuk 6, ‘Scores en Benchmark SPI Veilige Infrastructuur - kenmerk afwezigheid van parkeren’. De hoofdstukken daarvoor vormen de meer inhoudelijke en technische verantwoording om tot die score te komen. Deze verantwoording omvat tevens alle programmeercode voor het gepresenteerde resultaat.

2 Voorwoord programma code

Deze rapportage is opgemaakt als Rmarkdown document (.rmd) met behulp van R in Rstudio. Het html bestand is zelfstandig leesbaar. Het voorwoord is bedoeld voor personen die het script (het .rmd) bestand willen draaien en/of geïnteresseerd zijn in de technische verantwoording van de bepaling van de kenmerkscore Afwezigheid parkeren van de SPI. Lezers van de rapportage (het html bestand) kunnen dit voorwoord verder overslaan.

Het voorwoord bevat de programma code voor het controleren van de mappenstructuur, het installeren/inladen van de benodigde packages en het aanmaken van een aantal hulpvariabelen.

Let op in de volgende stappen dat bij het installeren van ‘source’, een juiste installatie van rtools op de default installatie locatie nodig is.

# check iranges apart omdat deze vanuit biocmanager van bioconductor geinstalleerd moet worden
# zie
# https://bioconductor.org/packages/release/bioc/html/IRanges.html

if (!requireNamespace("IRanges", quietly = TRUE)) {
  print("Indien volgende wordt gevraagd - Update all/some/none? [a/s/n] - kan n worden gekozen ")
  if (!require("BiocManager", quietly = TRUE)) 
      install.packages("BiocManager", repos = "https://cloud.r-project.org/")
 
   BiocManager::install("IRanges")
} 

# let op, IRanges wordt niet geladen omdat functies conflicteren met veel andere functienamen
# list required libraries
libraries_to_load <- c("here", "tidyverse", "data.table", "dtplyr", "sf", "mapview", "stringr",
                       "this.path", "units", "kableExtra", "curl", "openxlsx2", "readr", "gt", "plotly",
                       "foreach", "doParallel")

# Install and load libraries if they are missing
for (library_name in libraries_to_load) {
  if (!requireNamespace(library_name, quietly = TRUE)) {
    install.packages(library_name, dependencies = TRUE, repos = "https://cloud.r-project.org/")
  }
  library(library_name, character.only = TRUE)
}

# unload here to reload it later after defining the location of the script and the relative path
# for the data downloads and outputs. 
detach("package:here", unload = TRUE)
# set locale naar nl in utf8 
# Sys.setlocale("LC_ALL", "Dutch_Netherlands.utf8") 
# Beide codes zijn hetzelfde maar R geeft sinds enige tijd een waarschuwing bij bovenstaande
Sys.setlocale("LC_ALL", "Dutch_Netherlands.65001") 

Bij het runnen van het script (.rmd bestand) worden de benodigde data en resulterende outputs in mappen geplaatst in de map waar het script zich bevindt.

# Define a function for getting the relative path of the script based on the level of the subfolder
# relative to the folder where the script resides. With the script folder level = 0
relative_path_script <- function(level = 0) {
  # Split the string by "/"
  split_string <- stringr::str_split(this.path::this.path(), "/")[[1]]
  
  # Calculate the starting index for the nth part from the right
  start_index <- length(split_string) - level 
  
  # Check if the start_index is valid
  if (start_index == 1 || start_index > length(split_string)) {
    print("The value of level is absolute and not relative, thus not applicable for use with i_am")
  }
  
  # Check if the start_index is valid
  if (start_index < 1 || start_index > length(split_string)) {
    stop("The value of level is out of bounds for the given string.")
  }
  
  # Reconstruct the substring from the specified index
  subset_string <- paste(split_string[start_index:length(split_string)], collapse = "/")
  
  return(subset_string)
}
# Verwijs here naar de map waarin het script zelf staat met level = 0
here_locatie <- relative_path_script()

# 
here::i_am(here_locatie)

library(here)
# controleer de aanwezigheid van '.here'
if (!file.exists(here(".here"))) {    # If not, create the folder
  file.create(".here")
  cat(paste("Bestand '", ".here", "' aangemaakt.\n", sep = ""))
} else {
  cat(paste("Bestand '", ".here", "' bestaat al.\n", sep = ""))
}

De code gaat uit van een vaste mappen structuur. Deze wordt gecontroleerd en aangemaakt als deze ontbreekt.

# folder structure
# Check list of folders
folder_list <- c("Data", "Output", "RDS")

# Check for folders and create missing folders
for (folder_name in folder_list) {
  if (!file.exists(here(folder_name))) {
    # If not, create the folder
  dir.create(here(folder_name))
  cat(paste("Folder '", folder_name, "' created.\n", sep = ""))
  } else {
  cat(paste("Folder '", folder_name, "' already exists.\n", sep = ""))
  }
}

Ten slotte worden een aantal helper functies aangemaakt die in het script worden gebruikt.

# helper function to deal with missing values. Missing values as indexer are
# considered to be false.
na.as.false <- function(x){
  x[is.na(x)] <- FALSE
  x
}

na.as.true <- function(x){
  x[is.na(x)] <- TRUE
  x
}

# helper function for negate
`%nin%` = Negate(`%in%`)
blue_rgb <- c("39 42 102", "99 94 138",
              "136 130 164", "168 163 189",
              "206 203 217", "219 216 226")
blue_vals <- sapply(strsplit(blue_rgb, " "), function(x)
  rgb(x[1], x[2], x[3], maxColorValue=255))

orange_rgb <- c("216 87 44", "224 126 85",
                "233 164 130", "241 197 173",
                "247 224 210", "249 233 222")
orange_vals <- sapply(strsplit(orange_rgb, " "), function(x)
  rgb(x[1], x[2], x[3], maxColorValue=255))

green_rgb <- c("184 203 51", "204 215 115",
               "217 224 152", # 35% komt enkel bij groen voor
               "227 232 182", "231 235 191",
               "238 241 211", "245 247 231")
green_vals <- sapply(strsplit(green_rgb, " "), function(x)
  rgb(x[1], x[2], x[3], maxColorValue=255))

col_comb <- c(blue_vals[1], green_vals[2], orange_vals[3],
              blue_vals[4], green_vals[5], orange_vals[6], 
              blue_vals[2], green_vals[3], orange_vals[4])

long_list <- c(blue_vals[1:3], green_vals[1:3], orange_vals[1:3])
long_list_full <- c(blue_vals[1:6], orange_vals[1:6], green_vals[1:7] )
# aanmaken van tabel previeuw functie voor kleine tabellen die de eerste paar regels plus de laatste
# uit de dataset toont
# let op, gt tabellen werken enkel met een html output
tabel_preview <- function(data, title = NULL, rows = 9, top_n = 7, bottom_n = 1, incl_rownums = TRUE) {

    gt_preview(data, top_n = top_n, bottom_n = bottom_n, incl_rownums = TRUE) %>%
    tab_header(title = title) %>%
    # Table background color and other style options
    tab_options(
      #table.background.color = blue_vals[6],
      column_labels.background.color = blue_vals[1],
      column_labels.font.size = px(16),
      table.font.size = px(12),
      data_row.padding = px(4)
      # Uncomment and set table.width if needed
      # table.width = px(250)
    ) %>%
    tab_style(
      style = cell_borders(sides = "bottom", color = blue_vals[1], weight = px(3)),
      locations = cells_body(rows = rows)
    )
}
# aanmaken van een functie voor uitgebreide tabellen met scrol functie
# let op, gt tabellen werken enkel met een html output
scroltabel_gt <- function (data, title = NULL, table.height = px(350)) {
    gt(data) %>%
      # tabel titel
      tab_header(title = title) %>%
      # tabel opmaak opties
      tab_options(
        #table.background.color = blue_vals[6],
        column_labels.background.color = blue_vals[1],
        column_labels.font.size = px(16),
        table.font.size = px(12),
        data_row.padding = px(4),
        table.width = pct(100), # px(250)
        container.height = table.height,
        container.overflow.y =  TRUE # px(250)
      ) %>%
      # tabel opmaak optie onderkant
      tab_style(
        style = cell_borders(sides = "bottom", color = blue_vals[1], weight = px(3)),
        locations = cells_body(rows = nrow(data))
      )
}

3 Introductie

De SPI Veilige Infrastructuur bevat het kenmerk “Afwezigheid parkeervakken”. Op wegen van een limiet van 50 km/uur of hoger is parkeren langs de rijbaan ongewenst. Deze rapportage beschrijft de bepaling van scores van de SPI Veilige Infrastructuur op dit kenmerk en de resultaten daarvan. Een wegdeel scoort positief op dit kenmerk wanneer parkeervoorzieningen ontbreken. Per wegbeheerder wordt bepaald welk deel van het wegennet positief scoort. Dit vormt de score van de wegbeheerder op dit kenmerk. Deze score wordt bepaald over het voor dit kenmerk relevante deel van het wegennet.

Een verantwoording van de bepaling van scores wordt mede gegeven door het meeleveren van de programmacode waarmee deze scores zijn bepaald.

4 Data

In de analyse wordt gebruik gemaakt van het NWB (Nationaal Wegenbestand) en de WKD (Wegkenmerkendatabase). De WKD bevat twee bestanden die betrekking hebben op parkeren langs de rijbaan: Parkeerpunten en Parkeervlakken. Het bestand Parkeerpunten is gericht op wegen met een limiet van 70 km/uur of hoger. Deze zijn vastgelegd als puntlocaties en betreffen naar verwachting voornamelijk pechhavens. Voor het bepalen van de kenmerkscore ‘Afwezigheid parkeren’ kan dit bestand daarom buiten beschouwing worden gelaten. Mocht de behoefte ontstaan om de voorziening van pechhavens in beeld te brengen als veiligheidskenmerk, dan kan dit later worden toegevoegd.

Voor het bepalen van de kenmerkscore Afwezigheid parkeren wordt gebruik gemaakt van het product Parkeervlakken. Daarbij wordt gebruik gemaakt van het Januari-bestand. Het betreft een CSV bestand dat direct of via een zip bestand kan worden gedownload vanaf: https://downloads.rijkswaterstaatdata.nl/wkd/Parkeervlakken/

Uit de WKD worden de volgende onderdelen gebruikt.

  • Maximum snelheden
  • Parkeervlakken
  • Komgrenzen

Documentatie over het NWB is te vinden bij het NDW: https://docs.ndw.nu/handleidingen/nwb/ Documentatie over de WKD is te vinden onder de download pagina van rijkswaterstaatdata: https://downloads.rijkswaterstaatdata.nl/wkd/Documentatie/

Het update beleid kan verschillen tussen de WKD onderdelen. In ieder geval krijgt elk onderdeel een ‘grote’ jaarlijkse update gekoppeld aan het januari bestand van het NWB. Daarom worden bij het gebruik van de WKD de januari bestanden gebruikt. Deze updates komen in de loop van elk jaar binnen. Een planning daarvoor is nog niet beschikbaar. De laatste updates zijn te vinden op de WKD download-pagina en het NDW Verkeersveiligheid Dataportaal. Berichten hierover worden tevens geplaatst op het Nationaal Toegangspunt Mobiliteitsdata.

4.1 Data downloads

4.1.1 NWB

# -------------KIES JAAR------------------------
# indien gewenst, kies een ander jaar, bijv 2025
# Jaar versie nwb
nwbjaar <- "2024"

# ----------------------------------------------

#' Deze code chunk bevat het jaar waarvan de data wordt gedownload en waarvoor de analyse wordt gedraaid. 
#' Het is niet mogelijk om de analyse op jaren voor 2024 te draaien vanwege beperkingen aan de datakwaliteit.
#' Nieuwe januari bestanden komen in de loop van 2025 beschikbaar. Wanneer deze beschikbaar komt,
#' kan het jaar worden aangepast.

De analyse is uitgevoerd op het NWB van Januari 2024. Door het NWB-jaar (variabele ‘nwbjaar’) aan te passen in het script kan de volledige analyse op een ander jaar worden gedraaid, mits de data voor dat jaar (reeds) beschikbaar is.

Het NWB is gedownload van: https://downloads.rijkswaterstaatdata.nl/nwb-wegen/geogegevens/shapefile/Nederland_totaal/

# Deze code chunk verzorgt de download en het inladen in R van het NWB. 

#' Wanneer het script eerder lokaal is gedraaid en het NWB al is gedownload en verwerkt wordt de .RDS
#' versie van het NWB geladen. Wanneer de RDS niet beschikbaar is, wordt het bestand gedownload en 
#' verwerkt.

# rds bestandsnaam op basis van jaar
nwb_rds_naam <- paste0("nwb", nwbjaar, "jan.sf.RDS")
# nwb datum op basis van jaar
nwb_datum <- paste0("01-01-", nwbjaar)
# zip bestandsnaam op basis van jaar
nwb_zip <- paste0("nwb", nwbjaar, "jan.zip")

# conditioneel laden of downloaden en verwerken van het NWB
if (file.exists(here("RDS", nwb_rds_naam))) {
  # if file exist load RDS
  NWB <- readRDS(here("RDS", nwb_rds_naam))
  cat(paste("Bestand (NWB) geladen uit .RDS"))

  } else {

  # url for dutch open data
  nwbjaarjan_url <- paste0("https://downloads.rijkswaterstaatdata.nl/nwb-wegen/geogegevens/shapefile/Nederland_totaal/01-01-", nwbjaar, ".zip")

  # destination file + folder
  dest_file_nwbjaarjan <- here("Data", nwb_zip)
  dest_folder <- here("Data", paste0("nwb", nwbjaar, "jan"))

  # download file
  curl_download(nwbjaarjan_url, destfile = dest_file_nwbjaarjan, mode = "wb")

  # unzip
  unzip(dest_file_nwbjaarjan, exdir = dest_folder)

  # load the shapefile
  NWB <- st_read(here(dest_folder, nwb_datum, "Wegvakken", "Wegvakken.shp"))

  # Save as RDS
  saveRDS(NWB, here("RDS", nwb_rds_naam))

  # clear zip
  file.remove(dest_file_nwbjaarjan)
    
  # code resultaat bericht
  cat(paste("Bestand (NWB) opgehaald van internet van https://downloads.rijkswaterstaatdata.nl/wkd/"))
  }
## Bestand (NWB) geladen uit .RDS

4.1.2 WKD snelheidslimieten

De analyse maakt gebruik van snelheidslimieten, gekoppeld aan het NWB, uit de WKD van januari 2024. Ook hier geldt dat door het NWB-jaar aan te passen in het script, de volledige analyse op een ander jaar kan worden gedraaid. De snelheidslimieten data is gedownload van: https://downloads.rijkswaterstaatdata.nl/wkd/Maximum%20Snelheden/

# Deze code chunk verzorgt de download en het inladen in R van de wkd snelheidslimieten 

#' Wanneer het script eerder lokaal is gedraaid en het NWB al is gedownload en verwerkt wordt de .RDS
#' versie van het bestand geladen. Wanneer de RDS niet beschikbaar is, wordt het bestand gedownload en 
#' verwerkt.

# rds bestandsnaam op basis van jaar
maxsnelheden_rds_naam <- paste0("maxsnelheden", nwbjaar, "jan.sf.RDS")
# nwb datum op basis van jaar
maxsnelheden_datum <- paste0("01-01-", nwbjaar)
# zip bestandsnaam op basis van jaar
maxsnelheden_zip <- paste0("maxsnelheden", nwbjaar, "jan.zip")

# conditioneel laden of downloaden en verwerken van de data
if (file.exists(here("RDS", maxsnelheden_rds_naam))) {
  # if file exist load RDS
  maxsnelheden <- readRDS(here("RDS", maxsnelheden_rds_naam))
  cat(paste("Bestand maximum snelheden geladen uit .RDS"))
  } else {

  # url for dutch open data
  maxsnelhedenjaarjan_url <- paste0("https://downloads.rijkswaterstaatdata.nl/wkd/Maximum%20Snelheden/01-01-", nwbjaar, ".zip") 

  # destination file + folder
  dest_file_maxsnelhedenjaarjan <- here("Data", maxsnelheden_zip)
  dest_folder <- here("Data", paste0("maxsnelheden", nwbjaar,"jan"))

  # download file
  curl_download(maxsnelhedenjaarjan_url, destfile = dest_file_maxsnelhedenjaarjan, mode = "wb")

  # unzip
  unzip(dest_file_maxsnelhedenjaarjan, exdir = dest_folder)

  # load the shapefile
  maxsnelheden <- st_read(here(dest_folder, maxsnelheden_datum, "Snelheden.shp"))

  # Save as RDS
  saveRDS(maxsnelheden, here("RDS", maxsnelheden_rds_naam))

  # clear zip
  file.remove(dest_file_maxsnelhedenjaarjan)
    
  # code resultaat bericht
  cat(paste("Bestand maximum snelheden opgehaald van internet van https://downloads.rijkswaterstaatdata.nl/wkd/"))
  }
## Bestand maximum snelheden geladen uit .RDS

4.1.3 WKD komgrenzen

De analyse maakt gebruik van het wkd product komgrenzen, gekoppeld aan het NWB, uit de WKD van januari 2024. Ook hier geldt dat door nwbjaar aan te passen in het script, de volledige analyse op een ander jaar kan worden gedraaid. De komgrenzen data is gedownload van: https://downloads.rijkswaterstaatdata.nl/wkd/Komgrenzen/

# Deze code chunk verzorgt de download en het inladen in R van de wkd komgrenzen

#' Wanneer het script eerder lokaal is gedraaid en het NWB al is gedownload en verwerkt wordt de .RDS
#' versie van het bestand geladen. Wanneer de RDS niet beschikbaar is, wordt het bestand gedownload en 
#' verwerkt.

# rds bestandsnaam op basis van jaar
komgrenzen_rds_naam <- paste0("komgrenzen", nwbjaar, "jan.RDS")
# nwb datum op basis van jaar
komgrenzen_datum <- paste0("01-01-", nwbjaar)
# zip bestandsnaam op basis van jaar
komgrenzen_zip <- paste0("komgrenzen", nwbjaar, "jan.zip")

# conditioneel laden of downloaden en verwerken van de data
if (file.exists(here("RDS", komgrenzen_rds_naam))) {
  # if file exist load RDS
  komgrenzen <- readRDS(here("RDS", komgrenzen_rds_naam))
  cat(paste("Bestand komgrenzen geladen uit .RDS"))
  } else {

  # url for dutch open data
  komgrenzenjaarjan_url <- paste0("https://downloads.rijkswaterstaatdata.nl/wkd/Komgrenzen/01-01-", nwbjaar, ".zip") 

  # destination file + folder
  dest_file_komgrenzenjaarjan <- here("Data", komgrenzen_zip)
  dest_folder <- here("Data", paste0("komgrenzen", nwbjaar,"jan"))

  # download file
  curl_download(komgrenzenjaarjan_url, destfile = dest_file_komgrenzenjaarjan, mode = "wb")

  # unzip
  unzip(dest_file_komgrenzenjaarjan, exdir = dest_folder)

  # load the csv
  komgrenzen <- read.csv2(here(dest_folder, komgrenzen_datum, "wkd_002-KOM_BORDEN.csv"), stringsAsFactors = FALSE)

  # Save as RDS
  saveRDS(komgrenzen, here("RDS", komgrenzen_rds_naam))

  # clear zip
  file.remove(dest_file_komgrenzenjaarjan)
    
  # code resultaat bericht
  cat(paste("Bestand komgrenzen opgehaald van internet van https://downloads.rijkswaterstaatdata.nl/wkd/"))
  }
## Bestand komgrenzen geladen uit .RDS

4.1.4 WKD parkeervlakken

De analyse maakt gebruik van het WKD product parkeervlakken, gekoppeld aan het NWB, uit de WKD van januari 2024. Ook hier geldt dat door nwbjaar aan te passen in het script, de volledige analyse op een ander jaar kan worden gedraaid. De komgrenzen data is gedownload van: https://downloads.rijkswaterstaatdata.nl/wkd/Parkeervlakken/

# Deze code chunk verzorgt de download en het inladen in R van de wkd parkeervlakken

#' Wanneer het script eerder lokaal is gedraaid en het NWB al is gedownload en verwerkt wordt de .RDS
#' versie van het bestand geladen. Wanneer de RDS niet beschikbaar is, wordt het bestand gedownload en 
#' verwerkt.

# rds bestandsnaam op basis van jaar
Parkeervlakken_rds_naam <- paste0("Parkeervlakken", nwbjaar, "jan.RDS")

# nwb datum op basis van jaar. In 2024 is de onderliggende map gedateerd op 01-02-2024 ipv 01-01-2024
Parkeervlakken_datum <- 
  if (nwbjaar == 2024) {
    paste0("01-02-", nwbjaar)
  } else {
    paste0("01-01-", nwbjaar)
  }

# zip bestandsnaam op basis van jaar
Parkeervlakken_zip <- paste0("Parkeervlakken", nwbjaar, "jan.zip")

# conditioneel laden of downloaden en verwerken van de data
if (file.exists(here("RDS", Parkeervlakken_rds_naam))) {
  
  # if file exist load RDS
  Parkeervlakken <- readRDS(here("RDS", Parkeervlakken_rds_naam))
  cat(paste("Bestand parkeervlakken geladen uit .RDS"))
  } else {

  # url for dutch open data
  Parkeervlakkenjaarjan_url <- paste0("https://downloads.rijkswaterstaatdata.nl/wkd/Parkeervlakken/01-01-", nwbjaar, ".zip") 

  # destination file + folder
  dest_file_Parkeervlakkenjaarjan <- here("Data", Parkeervlakken_zip)
  dest_folder <- here("Data", paste0("Parkeervlakken", nwbjaar,"jan"))

  # download file
  curl_download(Parkeervlakkenjaarjan_url, destfile = dest_file_Parkeervlakkenjaarjan, mode = "wb")

  # unzip
  unzip(dest_file_Parkeervlakkenjaarjan, exdir = dest_folder)

  # load the csv
  Parkeervlakken <- read.csv2(here(dest_folder, Parkeervlakken_datum, "wkd_006-Parkvlak.csv"), stringsAsFactors = FALSE)

  # Save as RDS
  saveRDS(Parkeervlakken, here("RDS", Parkeervlakken_rds_naam))

  # clear zip
  file.remove(dest_file_Parkeervlakkenjaarjan)
  
  # code resultaat bericht
  cat(paste("Bestand parkeervlakken opgehaald van internet van https://downloads.rijkswaterstaatdata.nl/wkd/"))
  }
## Bestand parkeervlakken geladen uit .RDS

4.2 Data preperatie

De data dient te worden geprepareerd voorafgaand aan de analyses en bepaling van het kenmerk Parkeren van de SPI Veilige Infrastructuur. De preparatie bevat onder meer de koppeling van de verschillende bestanden, selecties van wegvakken en variabelen en creatie van enkele nieuwe variabelen. De data-preparatie is beschreven in de volgende subparagrafen.

4.2.1 NWB selecties

In de analyse worden wegen onder beheer van het Rijk buiten beschouwing gelaten. Daarnaast kijken we voor het kenmerk Parkeren enkel naar rijbanen. Daarom wordt het NWB gefilterd op wegbeheerder en de zogeheten variabele Baan Subsoort Code (BST_CODE).

Afkortingen zijn te vinden in de NWB handleiding en https://www.nationaalwegenbestand.nl/nieuws/aankomende-aanpassingen-baansubsoorten

In deze analyse laten we wegvakken met de volgende BST_CODEs buiten beschouwing: “FP”, “VP”, “CADO”, “VZ”, “VD”, “VDA”, “VDF”, “VDV”, “RP”, “VV”

nwb_rijbaan <- NWB %>%
  filter(WEGBEHSRT != "R") %>%
  filter(BST_CODE %nin% c("FP", "VP", "CADO", "VZ", "VD", "VDA", "VDF", "VDV", "RP", "VV")) %>%
  select(WVK_ID, WEGBEHSRT, WEGNUMMER, STT_NAAM, WPSNAAM, GME_NAAM, WEGBEHNAAM, BST_CODE) %>%
  # bepaal de wegvaklengte
  mutate(wegvaklengte = as.numeric(st_length(.)))

4.2.2 Verwerking snelheidslimieten

Het maximum snelheden bestand uit de WKD bevat dubbelingen van wegvakken wanneer er op een wegvak verschillende snelheidslimieten gelden. Deze ontdubbelen we op basis van een aggregatie waarbij we de limiet aan het wegvak toekennen die het meeste voorkomt (grootste aandeel van de lengte van het wegvak). Daarbij leggen we tevens de lengte vast waarover deze limiet geldt. Deze lengte is dus korter dan de volledige wegvaklengte wanneer er meerdere limieten gelden op het wegvak. In de verschillende SPI score rapportages in deze serie komt deze zelfde bewerking terug. Hieronder wordt een uitsnede getoond van de tabel waarbij één limiet per wegvak is bepaald.

# aggregatie naar limiet
aggregatie_limiet <- maxsnelheden %>%
  # drop geometry kolom
  st_drop_geometry(.) %>%
  # filter op bst codes
  filter(BST_CODE %nin% c("FP", "VP", "CADO", "VZ", "VD", "VDA", "VDF", "VDV", "RP", "VV")) %>%
  # bepaal de wegvaklengte
  mutate(lengte_limiet = NAAR-VAN) %>%
  # groepeer naar wvk id en snelheidslimiet
  group_by(WVK_ID, MAXSHD) %>%
  # bepaal per groep de totale wegvaklengte
  summarise(lengte_snelheidslimiet = sum(lengte_limiet)) %>%
  # groepeer opnieuw naar wvk id
  group_by(WVK_ID) %>%
  # sorteer op weglengte per wvk id van groot naar klein
  arrange(desc(lengte_snelheidslimiet)) %>%
  # bewaar de 1e per groep en verwijder de rest
  slice_head()
# tabel uitsnede geaggregeerde limieten

tabel_preview(aggregatie_limiet, title = "Uitsnede geaggregeerde limieten data")
Uitsnede geaggregeerde limieten data
WVK_ID MAXSHD lengte_snelheidslimiet
1 27142010 30 17
2 27142014 30 103
3 27142015 30 333
4 27142016 50 35
5 27142019 30 57
6 27142034 60 734
7 27142035 60 52
8..1228351
1228352 601167362 50 25

De snelheidslimiet per wegvak wordt vervolgens gekoppeld aan het NWB.

# koppel geaggregeerde limieten per wegvak aan het nwb
nwb_rijbaan_limiet <- nwb_rijbaan %>%
  # koppeling op basis van left join
  left_join(aggregatie_limiet) %>%
  # bepaal aandeel lengte limiet
  mutate(lengte_limiet_aandeel = ifelse(lengte_snelheidslimiet/wegvaklengte > 1, 1.0, # door afronding van VAN en TOT in de wkd limieten data kan de limiet lengte groter zijn dan de wegvaklengte die exact is bepaald
                                        round(lengte_snelheidslimiet/wegvaklengte, 1)), .after = lengte_snelheidslimiet) %>%
  # plaats variabele geometry achteraan
  relocate(geometry, .after = last_col())

4.2.3 Koppeling komgrenzen

Om onderscheid te kunnen maken tussen bibeko GOW50 en bubeko GOW met lokale limiet 50 bij een kruispunt worden komgrenzen gekoppeld. Enkel snelheidslimieten bieden hiervoor te weinig informatie.

De wkd komgrenzen data betreft een registratie van wegvakdelen die binnen de bebouwde kom liggen.

tabel_preview(komgrenzen, title = "WKD komgrenzen data")
WKD komgrenzen data
BEGINDAT WEGVAK_ID KOM_GMCODE KOM_GMNAAM KOM_PLAATS KOM_VAN KOM_TOT
1 01-12-2020 174260002 GM0613 Albrandswaard Poortugaal 0 252.22
2 01-10-2017 290245008 GM0297 Zaltbommel Zaltbommel 0 64.37
3 01-12-2020 325175002 GM0772 Eindhoven Eindhoven 0 254.24
4 01-12-2020 600153943 GM0840 Rucphen Rucphen 0 82.06
5 01-12-2020 183292033 GM1621 Lansingerland Berkel En Rodenrijs 0 202.72
6 01-12-2020 600390720 GM0489 Barendrecht Barendrecht 0 68.21
7 01-12-2020 320206013 GM1948 Meierijstad Schijndel 0 90.36
8..1871866
1871867 01-01-2024 601165575 344 Utrecht Utrecht 0 19.11

Een record in de tabel beschrijft een segment van een wegvak dat binnen de bebouwde kom ligt. Het segment wordt aangeduid met KOM_VAN en KOM_TOT die het begin en eindpunt van het segment beschrijven met de relatieve positie ten opzichte van het 0 punt van het wegvak. Een record kan het volledige wegvak beschrijven of dus een deel daarvan. Een wegvak kan meerdere keren in de data voorkomen wanneer deze de grens van de bebouwde kom meerdere keren kruist. We aggregeren de komgrenzen data daarom eerst naar wegvak-niveau. Daarbij leggen we het deel van de weglengte vast dat binnen de bebouwde kom ligt.

Hierbij moet er wel rekening mee worden gehouden dat segment kunnen overlappen (KOM_VAN | KOM_TOT). Hieronder tonen we een aantal voorbeelden van segmenten met een dergelijke overlap.

komgrenzen_overlap <- komgrenzen %>%
  filter(WEGVAK_ID %in% c(27142016, 27142039, 600437984)) %>%
  arrange(WEGVAK_ID)

scroltabel_gt(komgrenzen_overlap)
BEGINDAT WEGVAK_ID KOM_GMCODE KOM_GMNAAM KOM_PLAATS KOM_VAN KOM_TOT
01-12-2020 27142016 1714 Sluis Sint Anna ter Muiden 0 35.38
01-12-2020 27142016 GM1714 Sluis Sluis 0 35.38
01-12-2020 27142039 1714 Sluis Sint Anna ter Muiden 37.9 80.16
01-12-2020 27142039 GM1714 Sluis Sluis 18.57 80.16
01-03-2021 600437984 988 Weert Weert 562.48 580.12
01-03-2021 600437984 GM0988 Weert Weert 0 580.12

Daarom overlappende intervallen worden daarom eerst over elkaar gelegd en geaggregeerd naar unieke intervallen op wegvakniveau, zonder overlap.

# voor het bepalen van unieke intervallen wordt gebruik gemaakt van IRanges
# wanneer IRanges niet eerst wordt geladen gaat het mis bij het aanroepen van de functie. Ook al 
# wordt IRanges::IRanges gebruikt. 

# onderstaande code wordt in een code chunk gedraaid die niet in dit notebook is gepubliceerd vanwege het aantal 
# onnodige meldingen. de code staat wel actief in het script

# laad IRanges
# library(IRanges)
# detach IRanges
# detach("package:IRanges", unload = TRUE)
# detach voorkomt problemen met aanroepen van functies van dplyr
# Create a function to merge intervals within each group
merge_intervals <- function(from, to) {
  intervals <- IRanges::IRanges(start = from, end = to)
  merged_intervals <- IRanges::reduce(intervals)
  
  # Convert IRanges object to data frame
  merged_df <- data.frame(
    FROM = start(merged_intervals),
    TO = end(merged_intervals)
  )
  
  return(merged_df)
}
# ter voorbereiding op het parallel bepalen van unieke intervals een aantal opdrachten

# sorteer komgrenzen op wegvak_id
komgrenzen <- komgrenzen %>%
  lazy_dt() %>%
  mutate(KOM_VAN = as.numeric(KOM_VAN),
         KOM_TOT = as.numeric(KOM_TOT)) %>%
  arrange(WEGVAK_ID, KOM_VAN, KOM_TOT) %>%
  as.data.frame()

# bepaal unieke wegvak ids binnen komgrenzen
komgrenzen_wvkid <- komgrenzen$WEGVAK_ID

# creeer een list object met x objecten van 1000 unieke wegvakid's 
komgrenzen_wvkid_grouped <- split(komgrenzen_wvkid, ceiling(seq_along(komgrenzen_wvkid) / 10000))

# kleine subset voor testen van de functie
#komgrenzen_wvkid_grouped <- komgrenzen_wvkid_grouped[1:5]
# parallele berekening voor het bepalen van intervallen

# Define parallel cluster for foreach
n.cores <- detectCores() - 2
my.cluster <- makeCluster(n.cores, type = "PSOCK")
registerDoParallel(my.cluster)

komgrenzen_unieke_intervals <- foreach(i = 1:length(komgrenzen_wvkid_grouped), 
              .combine=function(...) rbindlist(list(...)),
              .multicombine=TRUE,
              .packages = c("dplyr", "tidyr", "IRanges" )) %dopar% {

    # pas de functie merged_intervals toe per WEGVAK_ID 
  komgrenzen_unieke_intervals_par <- komgrenzen %>%
    # filter wegvak ids naar groep i
    dplyr::filter(WEGVAK_ID %in% komgrenzen_wvkid_grouped[[i]] ) %>%
    # groepeer de data op wegvak_id
    dplyr::group_by(WEGVAK_ID) %>%
    # bepaal de intervallen per wegvak id waarlangs wordt geparkeerd met behulp van de functie
    dplyr::summarize(merged_intervals = list(merge_intervals(from = KOM_VAN, to = KOM_TOT))) %>%
    tidyr::unnest(cols = c(merged_intervals))
    
    # ten slotte het object dat je wilt maken als laatste aanroepen (net als in een for loop)
    komgrenzen_unieke_intervals_par
}

# Beeindig parallel cluster
stopCluster(cl = my.cluster)
# exact gelijke intervallen zijn niet (allemaal) verwerkt. Die kunnen we nu dedupliceren
komgrenzen_unieke_intervals_dedup <- komgrenzen_unieke_intervals %>%
  lazy_dt() %>%
  mutate(KOM_VAN = FROM, KOM_TOT = TO) %>%
  select(-TO, -FROM) %>%
  group_by(WEGVAK_ID) %>%
  distinct(WEGVAK_ID, KOM_VAN, KOM_TOT, .keep_all = TRUE) %>%
  ungroup() %>%
  group_by(WEGVAK_ID) %>%
  mutate(aantal = n()) %>%
  ungroup() %>%
  as.data.frame()

De tabel hieronder toont een uitsnede van het resultaat.

komgrenzen_unieke_intervals_dubbel <- komgrenzen_unieke_intervals_dedup %>%
  filter(aantal >= 2) 

scroltabel_gt(rbind(filter(komgrenzen_unieke_intervals_dedup,WEGVAK_ID %in% c(27142016, 27142039, 600437984)),
                    komgrenzen_unieke_intervals_dubbel[1:20,]
                    ),
              title = "Unieke bibeko segment intervallen")
Unieke bibeko segment intervallen
WEGVAK_ID KOM_VAN KOM_TOT aantal
27142016 0 35 1
27142039 18 80 1
600437984 0 580 1
39190083 0 7 4
39190083 76 103 4
39190083 138 139 4
39190083 331 565 4
64186032 0 7 2
64186032 340 350 2
66184030 541 543 2
66184030 665 1814 2
103235024 0 433 2
103235024 1350 1355 2
113254010 0 109 2
113254010 155 169 2
131164003 0 41 2
131164003 86 246 2
131167035 0 11 2
131167035 314 325 2
131167041 0 28 2
131167041 58 87 2
132289001 61 106 2
132289001 108 204 2

Op basis van dit resultaat wordt bepaald welk deel van het wegvak (in meters) binnen de kom ligt.

komgrenzen_aggregatie <- komgrenzen_unieke_intervals_dedup %>%
  dplyr::rename(WVK_ID = WEGVAK_ID) %>%
  # bepaal de lengte per wegvak binnen de bebouwde kom
  mutate(lengte_bibeko = as.numeric(KOM_TOT) - as.numeric(KOM_VAN)) %>%
  group_by(WVK_ID) %>%
  # calculate total road section length within build-up area
  summarise(lengte_bibeko = sum(lengte_bibeko, na.rm = TRUE))

tabel_preview(komgrenzen_aggregatie, title = "Bibeko wegvaklengte per wegvak")
Bibeko wegvaklengte per wegvak
WVK_ID lengte_bibeko
1 27142010 16
2 27142014 103
3 27142015 333
4 27142016 35
5 27142019 57
6 27142039 62
7 27142041 65
8..1156926
1156927 601167640 726

Dit gegeven wordt aan het NWB gekoppeld. Daarmee kan per wegvak het aandeel worden bepaald dat binnen de bebouwde kom ligt. Een wegvak wordt bepaald als zijnde binnen de bebouwde kom als dit aandeel groter is dan 50%. Dit vereenvoudigt de score-toekenning per wegvak en de bepaling van de SPI-score per wegbeheerder.

Op basis van de gekoppelde data kunnen we de laatste selectie maken van wegvakken die voor de SPI Veilige Infrastructuur - kenmerk Afwezigheid van Parkeren beoordeeld zullen worden. Er wordt daarvoor gefilterd op:

  • wegvakken binnen de bebouwde kom met limiet 50 km/uur
  • wegvakken met een limiet 60 km/uur

Wegen met een limiet van 70 km/uur en hoger worden buiten beschouwing gelaten omdat parkeervoorzieningen langs deze wegen naar verwachting veelal pechhavens betreffen.

# minimum share of the road section length within the build-up area
bibeko_minimum <- 0.5

# voeg ligging bibeko/bubeko toe aan nwb
nwb_rijbaan2 <- nwb_rijbaan_limiet %>%
  # join komgrenzen aggregatie
  left_join(komgrenzen_aggregatie) %>%
  mutate(
    # NA -> 0 lengte bibeko
    lengte_bibeko = na.as.false(lengte_bibeko),
    # bepaal aandeel bibeko     
    aandeel_bibeko = round(lengte_bibeko / wegvaklengte, 2),
    # hoger dan 1 = 1, kan voorkomen door afrondfouten van VAN en TOT van wkd komgrenzen bestand
    aandeel_bibeko = ifelse(aandeel_bibeko > 1, 1, na.as.false(aandeel_bibeko)),
    # bepaal binaire ligging bibeko of bubeko     
    ligging_kom = ifelse(na.as.false(aandeel_bibeko - bibeko_minimum > 0), "bibeko", "bubeko" )) %>%
  # plaats geometry kolom achteraan
  relocate(geometry, .after = last_col()) %>%
  # filter naar komgrens en limiet
  filter((MAXSHD == "50" & ligging_kom == "bibeko") | MAXSHD == "60")

Dit levert de volgende tabel op (dit betreft een uitsnede).

# tabel uitsnede dataset voor analyse
tabel_preview(st_drop_geometry(nwb_rijbaan2), title = "Dataset voor analyse")
Dataset voor analyse
WVK_ID WEGBEHSRT WEGNUMMER STT_NAAM WPSNAAM GME_NAAM WEGBEHNAAM BST_CODE wegvaklengte MAXSHD lengte_snelheidslimiet lengte_limiet_aandeel lengte_bibeko aandeel_bibeko ligging_kom
1 182274140 G NA Beukelsdijk Rotterdam Rotterdam Rotterdam NA 128.58707 50 129 1 128 1.00 bibeko
2 265179004 G NA Gorp Goirle Goirle Goirle NA 32.57372 60 33 1 0 0.00 bubeko
3 277203002 G NA Berkhoek Udenhout Tilburg Tilburg NA 184.88014 60 185 1 0 0.00 bubeko
4 305227035 G NA Weidestraat Rosmalen 's-Hertogenbosch 's-Hertogenbosch NA 132.88164 50 133 1 132 0.99 bibeko
5 312145004 G NA de Rijtjes Westerhoven Bergeijk Bergeijk NA 107.69453 60 108 1 0 0.00 bubeko
6 334294004 G NA Kernreactorstraat Veenendaal Veenendaal Veenendaal NA 107.18648 50 107 1 107 1.00 bibeko
7 353323002 G NA Joostweg Kootwijkerbroek Barneveld Barneveld NA 181.03574 60 181 1 0 0.00 bubeko
8..342319
342320 227401097 P N203 Provincialeweg Wormerveer Zaanstad Noord-Holland HR 229.94764 50 230 1 229 1.00 bibeko

5 Analyse parkeerdata

Het bestand parkeervlakken betreft een CSV waarbij elk record een aaneengesloten segment van een parkeervoorziening aan één van beide zijden van het wegvak representeert. Van elke 2 meter wegvak uit het NWB - rijbaan, ov-baan of woonerf- is per wegzijde nagegaan of een parkeervoorziening aanwezig is. Opeenvolgende delen waarbij dit aan een zijde het geval is vormen samen een segment met een parkeervoorziening aan die zijde. WVK_ID’s komen dan ook veelal meerdere keren voor. Onderstaand de attributentabel van dit product.

tabel_parkeevlakken_beschr <- rbind(
c("Attribuut","Omschrijving"),
c("BEGINDAT","De eerste datum waarop het wegkenmerk geldig is. Dit is de datum waarop het wegkenmerk voor het eerst voorkomt of voor het laatst gemuteerd is."),
c("WEGVAK_ID","Het unieke nummer voor een Wegvak."),
c("WVK_BEGDAT","De eerste datum waarop deze vorm en inhoud van betreffende Wegvak geldig is"),
c("NWB_VERSIE","Dit is de datum waarop de waarde in het WKD bestand voor het laatst is geüpdatet. Het gaat hier om de brondata waarop het WKD-bestand is gebaseerd."),
c("VAN","Beginpunt van het wegvakdeel binnen het betreffende wegvak, van waar de parkeermogelijkheid begint (meter)"),
c("TOT","Eindpunt van het wegvakdeel binnen het betreffende wegvak, tot waar de parkeermogelijkheid eindigt ldt (meter)"),
c("ZIJDE","Dit geeft weer aan welke kant van de weg er parkeervakken aanwezig zijn ten opzichte van de administratieve richting van het wegvak. Dit kan zijn: links of rechts"),
c("OPPERVLAK","Dit is het totale oppervlak van het aaneengesloten stuk van het parkeervak weer (m2). Dit kunnen meerdere parkeervlakken zijn. Soms liggen parkeervakken zo dat auto’s parallel geparkeerd zijn aan de rijbaan (fileparkeren). Soms bestaan de parkeervakken uit insteekhavens.")
) %>%
  as.data.frame()

#df_tabel_parkeervlakken_beschr <- read_delim(tabel_parkeevlakken_beschr, delim = ";", col_names = TRUE, trim_ws = TRUE)
# kolomnamen op basis van eerste rij
names(tabel_parkeevlakken_beschr) <-tabel_parkeevlakken_beschr[1,]

# verwijder eerste rij
tabel_parkeevlakken_beschr <- tabel_parkeevlakken_beschr[-1,]

# Create the gt table
gt_table_beschr_parkeervl <- gt(tabel_parkeevlakken_beschr) %>%
  tab_header(title = "Variabelen WKD parkeervlakken data") %>%
  tab_options(
    #table.background.color = blue_vals[6],
    column_labels.background.color = blue_vals[1],
    column_labels.font.size = px(16),
    table.font.size = px(12),
    data_row.padding = px(4),
    #table.width = px(250)
  ) %>%
  tab_style(
    style = cell_borders(sides = "bottom", color = blue_vals[1], weight = px(3)),
    locations = cells_body(rows = nrow(tabel_parkeevlakken_beschr))
  )


# Print the table
gt_table_beschr_parkeervl

Wegen met een limiet van 70 en hoger worden buiten beschouwing gelaten omdat parkeervoorzieningen naar verwachting veelal pechhavens betreffen. Een verkenning is mogelijk om aan de hand van een lengtecriterium dit onderscheid te maken wanneer parkeervakken ook langs wegen met deze limiet zijn vastgelegd. Dit wordt voor nu echter buiten beschouwing gelaten. De analyse is daarom beperkt tot GOW50 en ETW60 wegen, waarvoor geldt dat parkeervoorzieningen langs de weg ongewenst zijn. Per wegvak ID wordt vastgelegd

  1. Of ergens langs het wegvak geparkeerd wordt aan een van beide zijden (beoordelingscriterium)
  2. De lengte links van het wegvak waarlangs geparkeerd wordt
  3. De lengte rechts van het wegvak waarlangs geparkeerd word
  4. De lengte over het wegvak waar links en/of rechts van het wegvak geparkeerd wordt
  5. Het aandeel van de lengte over het wegvak waar links en/of rechts van het wegvak geparkeerd wordt

5.1 Parkeervak lengte onderdeel 1 - 3

We kijken eerst naar de totale parkeervak lengte. De informatie uit Parkeervakken aggregeren we naar wegvak id.

parkeervlakken_aggregatie <- Parkeervlakken %>%
  #slice_head(n=10) %>%
  dplyr::rename(WVK_ID = WEGVAK_ID) %>%
  group_by(WVK_ID) %>%
  summarise(parkeerlengte_L = sum(ifelse(ZIJDE == "links", TOT-VAN, 0)),
            parkeerlengte_R = sum(ifelse(ZIJDE == "rechts", TOT-VAN, 0)),
            parkeerlengte_som = sum(TOT-VAN),
            parkeeroppervlak_L = sum(ifelse(ZIJDE == "links", OPPERVLAK, 0)),
            parkeeroppervlak_R = sum(ifelse(ZIJDE == "rechts", OPPERVLAK, 0)),
            parkeeroppervlak_som = sum(OPPERVLAK))

tabel_preview(parkeervlakken_aggregatie, title = "Lengte (m) en oppervlak (m2) van parkeervakken uit de WKD Parkeervlakken")
Lengte (m) en oppervlak (m2) van parkeervakken uit de WKD Parkeervlakken
WVK_ID parkeerlengte_L parkeerlengte_R parkeerlengte_som parkeeroppervlak_L parkeeroppervlak_R parkeeroppervlak_som
1 27142014 14 9 23 58 68 126
2 27142041 0 1 1 0 94 94
3 27142042 22 0 22 94 0 94
4 27142043 4 0 4 94 0 94
5 27143002 0 59 59 0 129 129
6 28142002 0 2 2 0 18 18
7 28142008 0 39 39 0 112 112
8..462062
462063 601182945 70 0 70 121 0 121

Let op dat parkeerlengte_som de som is van de lengte aan de linker en de rechter zijde van het wegvak waarlangs geparkeerd kan worden. Dit is dus de totale ‘parkeerlengte’. Dit is wat anders dan het deel of de lengte van de straat of het wegvak waarlangs geparkeerd kan worden.

Deze data voegen we samen met de NWB wegvakken selectie.

nwb_parkeervakken <- nwb_rijbaan2 %>%
  # selecteer te gebruiken NWB variabelen 
  select(WVK_ID, BST_CODE, MAXSHD, wegvaklengte) %>% # nog een aantal toevoegen!!!!
  left_join(parkeervlakken_aggregatie) %>%
  # vul lengte 0 in voor wegvakken waarvan geen parkeevlak in de wkd is vastgelegd
  mutate(parkeerlengte_L = ifelse(na.as.false(parkeerlengte_L>0), parkeerlengte_L, 0),
         parkeerlengte_R = ifelse(na.as.false(parkeerlengte_R>0), parkeerlengte_R, 0),
         parkeerlengte_som = ifelse(na.as.false(parkeerlengte_som>0), parkeerlengte_som, 0)) %>%
  # weglaten parkeeroppervlak variabelen omdat deze verder niet meer gebruikt worden
  select(-parkeeroppervlak_L, -parkeeroppervlak_R, -parkeeroppervlak_som) %>%
  # wegvakscore parkeren, als de som van de parkeerlengte 0 is, dan voldoet deze (1), anders niet (0)
  mutate(parkeren_voldoet = ifelse(parkeerlengte_som == 0, 1, 0)) %>%
  relocate(geometry, .after = last_col())

#head(nwb_parkeervakken)  

Dit levert een dataset op met per wegvak per zijde de lengte bepaald waar parkeervakken aanwezig zijn. Tevens is daarmee per wevak vastgelegd of het wegvak vrij is van parkeervoorzieningen.

6 Scores en Benchmark SPI Veilige Infrastructuur - kenmerk afwezigheid van parkeren

De SPI Veilige Infrastructuur bevat het kenmerk “Afwezigheid parkeervakken”. Op wegen met een limiet van 50 km/uur of hoger is parkeren langs de rijbaan ongewenst. Omdat dit kenmerk niet discriminerend werkt voor wegen met een limiet van 30 en 15 km/uur zijn die wegen buiten beschouwing gelaten. Ook wegen met een limiet van 70 km/uur of hoger zijn buiten beschouwing gelaten. Dit omdat voorzieningen in de data voor deze wegen in de meeste gevallen betrekking hebben op pechhavens. De benchmark beperkt zich daarom tot wegen met een limiet van 50 km/uur binnen de bebouwde kom (GOW50) en wegen met een limiet van 60 km/uur (ETW60). Uit de data-anlyse blijken er ook Wegen met een limiet van 60 km/uur binnen de grenzen van de bebouwde kom voor te komen. Wegen met een limiet van 60 km/uur worden hier beschouwd als een ETW60.

6.1 Bepaling scores per wegbeheerder

In het vorige hoofdstuk zijn wegvakken beoordeeld ten aanzien van het SPI kenmerk Afwezigheid van parkeervakken. Een wegvak (GOW50 en ETW60) is als voldoende beoordeelt wanneer er geen parkeervakken direct langs liggen. Deze beoordeling op wegvakniveau wordt vertaald naar een score op netwerkniveau per wegbeheerder. Daarbij wordt gekeken naar het aandeel van de relevante wegvakken dat als voldoende wordt beoordeeld. Daarbij wordt enkel gekeken naar de wegvakken waar het kenmerk op van toepassing is. Per wegbeheerder wordt het volgende gescoord.

  1. Kenmerk afwezigheid parkeren: [aantal wegvakken dat voldoet] / [totaal aantal wegvakken]
  2. Score kenmerk naar weglengte: [totale weglengte van de wegvakken die voldoen] / [totale weglengte]
  3. Score aandeel wegvaklengte zonder parkeren : 1 - ([de totale wegvaklengte waarlangs aan één of beide zijde parkeervakken aanwezig zijn] / [totale weglengte])

De eerste score is de hoofdscore, omdat deze ook gebruikt kan worden bij de bepaling van een totaal score van de infrastructuur. Bij de derde score krijgt enkel het deel van het wegvak waarlangs parkeervakken aanwezig zijn een negatieve beoordeling, bij de eerste en tweede score het gehele wegvak. Alle drie de scores worden onderscheiden op het totale areaal en per limiet.

#### landelijke ####
scores_landelijk_totaal <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  ungroup()

# head(scores_landelijk)  

# scores per limiet bepalen  
scores_landelijk_limiet <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # groepeer naar limiet
  group_by(Snelheidslimiet) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            #Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  relocate(Snelheidslimiet, .after = Wegbeheerder) %>%
  ungroup()

# head(scores_landelijk_limiet)

scores_landelijk <- rbind(scores_landelijk_limiet, scores_landelijk_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet)

# head(scores_landelijk)

#### provincies ####

# scores voor het totaal bepalen
scores_provincies_totaal <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "P") %>%
  # groepeer naar webeheerder
  group_by(WEGBEHNAAM) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Provincie" ,
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_provincies_totaal)

# scores per limiet bepalen  
scores_provincies_limiet <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "P") %>%
  # groepeer naar webeheerder
  group_by(WEGBEHNAAM, Snelheidslimiet) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Provincie" ,
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_provincies_limiet)

scores_provincies <- rbind(scores_provincies_limiet, scores_provincies_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet)

# head(scores_provincies)

#### gemeenten ####

# scores voor het totaal bepalen
scores_gemeenten_totaal <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "G") %>%
  # groepeer naar gemeente
  group_by(GME_NAAM) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Gemeente" ,
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = GME_NAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_gemeenten_totaal)

# scores per limiet bepalen  
scores_gemeenten_limiet <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "G") %>%
  # groepeer naar gemeente
  group_by(GME_NAAM, Snelheidslimiet) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Gemeente" ,
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = GME_NAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_gemeenten_limiet)

scores_gemeenten <- rbind(scores_gemeenten_limiet, scores_gemeenten_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet)

# head(scores_gemeenten)

#### waterschappen ####

# scores voor het totaal bepalen
scores_waterschappen_totaal <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "W") %>%
  # groepeer naar webeheerder
  group_by(WEGBEHNAAM) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Waterschap" ,
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_waterschappen_totaal)

# scores per limiet bepalen  
scores_waterschappen_limiet <- nwb_parkeervakken2 %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "W") %>%
  # groepeer naar webeheerder
  group_by(WEGBEHNAAM, Snelheidslimiet) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Waterschap" ,
            `Score kenmerk Afwezigheid parkeren` = sum(parkeren_voldoet) / n(),
            `Score kenmerk naar weglengte` = sum(ifelse(parkeren_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Score aandeel wegvaklengte zonder parkeren`= 
              1 - sum(parkeren_L_en_of_R_wegvaklengte) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid parkeren`, `Score kenmerk naar weglengte`, 
                  `Score aandeel wegvaklengte zonder parkeren`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_waterschappen_limiet)

scores_waterschappen <- rbind(scores_waterschappen_limiet, scores_waterschappen_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet)

# head(scores_waterschappen)

Scores zijn bepaald per wegbeheerder. Dat betekent dat een weg onder beheer van een waterschap niet is meegenomen bij de score van een gemeente, ook al ligt de weg binnen de gebiedsgrenzen van een betreffende gemeente.

6.2 Resultaten SPI Veilige Infrastructuur - Afwezigheid van parkeren per wegbeheerder

In deze paragraaf worden de deelscores van het kenmerk SPI Veilige Infrastructuur- Afwezigheid van parkeren getoond. De getoonde resultaten worden apart getoond in subparagrafenn op landelijk niveau en voor provinciale, gemeentelijke en waterschaps-wegbeheerders.

6.2.1 Landelijk

Hieronder worden de scores voor heel Nederland getoond.

scroltabel_gt(scores_landelijk, title = "SPI Veilige Infrastructuur - Afwezigheid van parkeren, van alle wegbeheerders samen")
SPI Veilige Infrastructuur - Afwezigheid van parkeren, van alle wegbeheerders samen
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid parkeren Score kenmerk naar weglengte Score aandeel wegvaklengte zonder parkeren Totale weglengte [km]
Totaal Totaal 50 79.4 [%] 69.4 [%] 87.9 [%] 17011.2
Totaal Totaal 60 93.6 [%] 90.9 [%] 99.2 [%] 50548.0
Totaal Totaal Totaal 85.7 [%] 85.5 [%] 96.4 [%] 67559.2

6.2.2 Waterschappen

Hieronder worden de scores van wegbeherende waterschappen getoond. Waterschappen die geen wegen onder beheer hebben van de beschouwde wegtypen zijn hierbij buiten beschouwing gelaten. De tabel heeft een scrolfunctie. De verschillende wegbeheerders en bijbehorende scores kunnen worden gevonden door gebruik te maken van deze scrolfunctie.

scroltabel_gt(scores_waterschappen, title = "SPI Veilige Infrastructuur - Afwezigheid van parkeren, van wegbeherende waterschappen")
SPI Veilige Infrastructuur - Afwezigheid van parkeren, van wegbeherende waterschappen
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid parkeren Score kenmerk naar weglengte Score aandeel wegvaklengte zonder parkeren Totale weglengte [km]
Waterschap HHS Hollands Noorderkwartier 50 87.0 [%] 63.6 [%] 97.3 [%] 5.9
Waterschap HHS Hollands Noorderkwartier 60 86.0 [%] 78.6 [%] 99.1 [%] 312.3
Waterschap HHS Hollands Noorderkwartier Totaal 86.1 [%] 78.3 [%] 99.1 [%] 318.2
Waterschap HHS Schieland en de Krimpenerwaard 50 100.0 [%] 100.0 [%] 100.0 [%] 0.0
Waterschap HHS Schieland en de Krimpenerwaard 60 87.3 [%] 78.4 [%] 98.9 [%] 96.8
Waterschap HHS Schieland en de Krimpenerwaard Totaal 87.4 [%] 78.4 [%] 98.9 [%] 96.8
Waterschap Waterschap De Hollandse Delta 50 87.6 [%] 76.9 [%] 96.9 [%] 12.8
Waterschap Waterschap De Hollandse Delta 60 90.6 [%] 84.3 [%] 98.7 [%] 1192.1
Waterschap Waterschap De Hollandse Delta Totaal 90.5 [%] 84.2 [%] 98.7 [%] 1204.9
Waterschap Waterschap Rivierenland 50 88.2 [%] 70.2 [%] 95.1 [%] 2.6
Waterschap Waterschap Rivierenland 60 91.2 [%] 84.3 [%] 99.2 [%] 459.6
Waterschap Waterschap Rivierenland Totaal 91.2 [%] 84.2 [%] 99.2 [%] 462.2
Waterschap Waterschap Scheldestromen 50 79.9 [%] 75.2 [%] 94.3 [%] 20.0
Waterschap Waterschap Scheldestromen 60 97.6 [%] 96.9 [%] 99.7 [%] 3427.2
Waterschap Waterschap Scheldestromen Totaal 97.3 [%] 96.8 [%] 99.6 [%] 3447.2
Waterschap Waterschap Vallei en Veluwe 60 100.0 [%] 100.0 [%] 100.0 [%] 0.4
Waterschap Waterschap Vallei en Veluwe Totaal 100.0 [%] 100.0 [%] 100.0 [%] 0.4
Waterschap Waterschap West Friesland 60 100.0 [%] 100.0 [%] 100.0 [%] 0.1
Waterschap Waterschap West Friesland Totaal 100.0 [%] 100.0 [%] 100.0 [%] 0.1

6.2.3 Provincies

Hieronder worden de scores van provincies getoond. De getoonde cijfers hebben enkel betrekking op wegen onder beheer van de betreffende wegbeheerder. De tabel heeft een scrolfunctie. De verschillende wegbeheerders en bijbehorende scores kunnen worden gevonden door gebruik te maken van deze scrolfunctie.

scroltabel_gt(scores_provincies, title = "SPI Veilige Infrastructuur - Afwezigheid van parkeren, van provinciale wegbeheerders")
SPI Veilige Infrastructuur - Afwezigheid van parkeren, van provinciale wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid parkeren Score kenmerk naar weglengte Score aandeel wegvaklengte zonder parkeren Totale weglengte [km]
Provincie Drenthe 50 97.3 [%] 92.9 [%] 98.9 [%] 21.3
Provincie Drenthe 60 94.8 [%] 89.0 [%] 98.0 [%] 31.0
Provincie Drenthe Totaal 96.2 [%] 90.6 [%] 98.4 [%] 52.3
Provincie Flevoland 50 84.5 [%] 74.7 [%] 90.9 [%] 4.6
Provincie Flevoland 60 95.1 [%] 85.1 [%] 99.4 [%] 23.4
Provincie Flevoland Totaal 90.7 [%] 83.4 [%] 98.0 [%] 27.9
Provincie Friesland 50 73.4 [%] 55.9 [%] 90.6 [%] 18.0
Provincie Friesland 60 92.9 [%] 85.7 [%] 99.1 [%] 133.1
Provincie Friesland Totaal 86.8 [%] 82.1 [%] 98.1 [%] 151.1
Provincie Gelderland 50 85.1 [%] 73.5 [%] 92.6 [%] 97.6
Provincie Gelderland 60 95.5 [%] 90.2 [%] 99.0 [%] 170.1
Provincie Gelderland Totaal 89.6 [%] 84.1 [%] 96.6 [%] 267.7
Provincie Groningen 50 83.7 [%] 66.5 [%] 90.4 [%] 47.9
Provincie Groningen 60 81.9 [%] 66.3 [%] 96.4 [%] 110.4
Provincie Groningen Totaal 82.8 [%] 66.4 [%] 94.6 [%] 158.4
Provincie Limburg 50 80.4 [%] 68.5 [%] 89.5 [%] 66.9
Provincie Limburg 60 95.2 [%] 97.0 [%] 98.9 [%] 6.5
Provincie Limburg Totaal 81.2 [%] 71.0 [%] 90.3 [%] 73.4
Provincie Noord-Brabant 50 94.6 [%] 91.9 [%] 97.7 [%] 32.7
Provincie Noord-Brabant 60 99.4 [%] 98.9 [%] 100.0 [%] 19.7
Provincie Noord-Brabant Totaal 96.1 [%] 94.5 [%] 98.6 [%] 52.4
Provincie Noord-Holland 50 94.8 [%] 88.1 [%] 94.8 [%] 48.6
Provincie Noord-Holland 60 93.4 [%] 76.7 [%] 98.7 [%] 145.4
Provincie Noord-Holland Totaal 94.0 [%] 79.6 [%] 97.8 [%] 194.0
Provincie Overijssel 50 77.9 [%] 49.4 [%] 81.2 [%] 48.9
Provincie Overijssel 60 94.6 [%] 92.0 [%] 99.3 [%] 188.8
Provincie Overijssel Totaal 88.7 [%] 83.3 [%] 95.5 [%] 237.7
Provincie Utrecht 50 88.8 [%] 74.3 [%] 95.3 [%] 20.8
Provincie Utrecht 60 94.5 [%] 89.4 [%] 98.9 [%] 95.8
Provincie Utrecht Totaal 92.3 [%] 86.7 [%] 98.3 [%] 116.6
Provincie Zeeland 50 87.5 [%] 61.8 [%] 97.2 [%] 6.0
Provincie Zeeland 60 95.9 [%] 96.4 [%] 99.6 [%] 113.6
Provincie Zeeland Totaal 95.0 [%] 94.7 [%] 99.4 [%] 119.5
Provincie Zuid-Holland 50 93.1 [%] 82.8 [%] 94.5 [%] 41.8
Provincie Zuid-Holland 60 93.3 [%] 81.6 [%] 98.1 [%] 202.4
Provincie Zuid-Holland Totaal 93.3 [%] 81.8 [%] 97.5 [%] 244.2

6.2.4 Gemeenten

Hieronder worden de scores van gemeenten getoond. De getoonde cijfers hebben enkel betrekking op wegen onder beheer van de betreffende wegbeheerder. De tabel heeft een scrolfunctie. De verschillende wegbeheerders en bijbehorende scores kunnen worden gevonden door gebruik te maken van deze scrolfunctie.

scroltabel_gt(scores_gemeenten, title = "SPI Veilige Infrastructuur - Afwezigheid van parkeren, van gemeentelijke wegbeheerders")
SPI Veilige Infrastructuur - Afwezigheid van parkeren, van gemeentelijke wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid parkeren Score kenmerk naar weglengte Score aandeel wegvaklengte zonder parkeren Totale weglengte [km]
Gemeente 's-Gravenhage 50 64.6 [%] 45.4 [%] 68.7 [%] 431.4
Gemeente 's-Gravenhage 60 100.0 [%] 100.0 [%] 100.0 [%] 1.0
Gemeente 's-Gravenhage Totaal 64.7 [%] 45.6 [%] 68.7 [%] 432.5
Gemeente 's-Hertogenbosch 50 88.0 [%] 76.0 [%] 90.7 [%] 152.1
Gemeente 's-Hertogenbosch 60 92.7 [%] 92.3 [%] 99.1 [%] 143.6
Gemeente 's-Hertogenbosch Totaal 89.1 [%] 83.9 [%] 94.8 [%] 295.7
Gemeente Aa en Hunze 50 86.0 [%] 71.9 [%] 95.7 [%] 42.2
Gemeente Aa en Hunze 60 93.7 [%] 90.8 [%] 99.7 [%] 277.1
Gemeente Aa en Hunze Totaal 91.1 [%] 88.3 [%] 99.1 [%] 319.4
Gemeente Aalsmeer 50 88.5 [%] 78.9 [%] 89.9 [%] 30.1
Gemeente Aalsmeer 60 95.2 [%] 97.2 [%] 99.9 [%] 5.6
Gemeente Aalsmeer Totaal 89.1 [%] 81.8 [%] 91.5 [%] 35.7
Gemeente Aalten 50 79.6 [%] 69.4 [%] 88.1 [%] 29.1
Gemeente Aalten 60 97.0 [%] 96.3 [%] 99.8 [%] 258.6
Gemeente Aalten Totaal 92.0 [%] 93.6 [%] 98.6 [%] 287.6
Gemeente Achtkarspelen 50 85.1 [%] 68.3 [%] 94.4 [%] 7.9
Gemeente Achtkarspelen 60 89.9 [%] 82.1 [%] 99.1 [%] 153.5
Gemeente Achtkarspelen Totaal 89.2 [%] 81.4 [%] 98.9 [%] 161.4
Gemeente Alblasserdam 50 76.4 [%] 66.9 [%] 87.8 [%] 20.4
Gemeente Alblasserdam 60 76.9 [%] 88.2 [%] 93.8 [%] 1.8
Gemeente Alblasserdam Totaal 76.4 [%] 68.7 [%] 88.3 [%] 22.2
Gemeente Albrandswaard 50 66.2 [%] 48.2 [%] 77.7 [%] 28.3
Gemeente Albrandswaard 60 80.4 [%] 70.2 [%] 95.8 [%] 7.7
Gemeente Albrandswaard Totaal 68.2 [%] 52.9 [%] 81.5 [%] 36.0
Gemeente Alkmaar 50 78.4 [%] 67.0 [%] 87.2 [%] 106.6
Gemeente Alkmaar 60 87.8 [%] 81.5 [%] 98.9 [%] 127.2
Gemeente Alkmaar Totaal 79.9 [%] 74.9 [%] 93.6 [%] 233.8
Gemeente Almelo 50 67.2 [%] 55.0 [%] 80.8 [%] 136.9
Gemeente Almelo 60 96.2 [%] 93.0 [%] 99.5 [%] 71.0
Gemeente Almelo Totaal 71.3 [%] 68.0 [%] 87.2 [%] 207.9
Gemeente Almere 50 95.7 [%] 92.0 [%] 98.1 [%] 124.4
Gemeente Almere 60 93.0 [%] 91.1 [%] 98.8 [%] 83.8
Gemeente Almere Totaal 95.0 [%] 91.6 [%] 98.4 [%] 208.2
Gemeente Alphen aan den Rijn 50 85.5 [%] 74.1 [%] 91.1 [%] 92.1
Gemeente Alphen aan den Rijn 60 83.6 [%] 73.3 [%] 96.9 [%] 110.1
Gemeente Alphen aan den Rijn Totaal 85.1 [%] 73.6 [%] 94.3 [%] 202.2
Gemeente Alphen-Chaam 50 63.6 [%] 55.7 [%] 86.1 [%] 2.8
Gemeente Alphen-Chaam 60 94.7 [%] 92.0 [%] 99.6 [%] 181.5
Gemeente Alphen-Chaam Totaal 93.2 [%] 91.4 [%] 99.4 [%] 184.2
Gemeente Altena 50 66.4 [%] 49.4 [%] 87.0 [%] 33.5
Gemeente Altena 60 84.9 [%] 79.5 [%] 98.7 [%] 337.8
Gemeente Altena Totaal 80.2 [%] 76.7 [%] 97.7 [%] 371.4
Gemeente Ameland 50 66.7 [%] 42.9 [%] 87.3 [%] 0.4
Gemeente Ameland 60 89.4 [%] 91.1 [%] 98.7 [%] 57.4
Gemeente Ameland Totaal 88.7 [%] 90.8 [%] 98.6 [%] 57.8
Gemeente Amersfoort 50 87.7 [%] 80.9 [%] 92.5 [%] 145.1
Gemeente Amersfoort 60 94.9 [%] 96.0 [%] 99.0 [%] 44.9
Gemeente Amersfoort Totaal 88.3 [%] 84.5 [%] 94.1 [%] 190.0
Gemeente Amstelveen 50 78.8 [%] 74.3 [%] 85.2 [%] 77.4
Gemeente Amstelveen 60 84.4 [%] 73.5 [%] 95.6 [%] 42.5
Gemeente Amstelveen Totaal 79.6 [%] 74.0 [%] 88.9 [%] 119.8
Gemeente Amsterdam 50 92.9 [%] 86.0 [%] 96.2 [%] 291.8
Gemeente Amsterdam 60 89.0 [%] 84.2 [%] 97.7 [%] 65.8
Gemeente Amsterdam Totaal 92.5 [%] 85.7 [%] 96.5 [%] 357.5
Gemeente Apeldoorn 50 86.4 [%] 79.5 [%] 92.9 [%] 144.6
Gemeente Apeldoorn 60 96.4 [%] 95.2 [%] 99.5 [%] 370.3
Gemeente Apeldoorn Totaal 90.2 [%] 90.8 [%] 97.6 [%] 514.8
Gemeente Arnhem 50 85.9 [%] 77.2 [%] 88.3 [%] 162.8
Gemeente Arnhem 60 88.2 [%] 85.1 [%] 95.8 [%] 46.4
Gemeente Arnhem Totaal 86.0 [%] 79.0 [%] 90.0 [%] 209.2
Gemeente Assen 50 84.3 [%] 74.5 [%] 92.8 [%] 88.8
Gemeente Assen 60 95.9 [%] 94.2 [%] 99.3 [%] 104.0
Gemeente Assen Totaal 88.1 [%] 85.1 [%] 96.3 [%] 192.8
Gemeente Asten 50 69.4 [%] 57.5 [%] 82.4 [%] 19.6
Gemeente Asten 60 95.8 [%] 94.3 [%] 99.6 [%] 138.9
Gemeente Asten Totaal 85.7 [%] 89.7 [%] 97.5 [%] 158.5
Gemeente Baarle-Nassau 50 68.5 [%] 54.7 [%] 82.0 [%] 7.0
Gemeente Baarle-Nassau 60 96.8 [%] 96.1 [%] 99.8 [%] 199.7
Gemeente Baarle-Nassau Totaal 94.2 [%] 94.7 [%] 99.2 [%] 206.8
Gemeente Baarn 50 89.1 [%] 83.7 [%] 94.9 [%] 14.9
Gemeente Baarn 60 88.6 [%] 86.5 [%] 98.8 [%] 28.7
Gemeente Baarn Totaal 88.8 [%] 85.6 [%] 97.5 [%] 43.6
Gemeente Barendrecht 50 78.9 [%] 70.5 [%] 88.9 [%] 46.2
Gemeente Barendrecht 60 75.0 [%] 71.5 [%] 85.9 [%] 3.7
Gemeente Barendrecht Totaal 78.6 [%] 70.6 [%] 88.7 [%] 49.9
Gemeente Barneveld 50 82.2 [%] 71.3 [%] 83.5 [%] 73.9
Gemeente Barneveld 60 96.5 [%] 95.9 [%] 99.7 [%] 301.8
Gemeente Barneveld Totaal 89.9 [%] 91.0 [%] 96.5 [%] 375.7
Gemeente Beek 50 86.6 [%] 82.9 [%] 94.4 [%] 20.1
Gemeente Beek 60 96.8 [%] 92.7 [%] 99.4 [%] 53.5
Gemeente Beek Totaal 92.3 [%] 90.1 [%] 98.0 [%] 73.7
Gemeente Beekdaelen 50 71.5 [%] 58.3 [%] 86.5 [%] 33.2
Gemeente Beekdaelen 60 91.7 [%] 89.1 [%] 98.9 [%] 74.6
Gemeente Beekdaelen Totaal 81.5 [%] 79.6 [%] 95.1 [%] 107.7
Gemeente Beesel 50 71.2 [%] 54.2 [%] 82.9 [%] 12.9
Gemeente Beesel 60 96.8 [%] 94.2 [%] 99.6 [%] 45.2
Gemeente Beesel Totaal 86.7 [%] 85.3 [%] 95.9 [%] 58.1
Gemeente Berg en Dal 50 70.4 [%] 62.0 [%] 87.5 [%] 22.5
Gemeente Berg en Dal 60 90.8 [%] 86.1 [%] 99.3 [%] 122.8
Gemeente Berg en Dal Totaal 82.0 [%] 82.4 [%] 97.5 [%] 145.3
Gemeente Bergeijk 50 76.8 [%] 63.8 [%] 89.8 [%] 21.2
Gemeente Bergeijk 60 94.6 [%] 91.0 [%] 99.7 [%] 174.4
Gemeente Bergeijk Totaal 89.1 [%] 88.1 [%] 98.6 [%] 195.6
Gemeente Bergen (L) 50 45.5 [%] 34.2 [%] 71.8 [%] 11.9
Gemeente Bergen (L) 60 96.6 [%] 96.0 [%] 99.6 [%] 151.6
Gemeente Bergen (L) Totaal 88.7 [%] 91.5 [%] 97.6 [%] 163.6
Gemeente Bergen (NH) 50 80.5 [%] 63.1 [%] 89.9 [%] 21.6
Gemeente Bergen (NH) 60 93.9 [%] 88.2 [%] 99.4 [%] 65.1
Gemeente Bergen (NH) Totaal 85.8 [%] 81.9 [%] 97.0 [%] 86.7
Gemeente Bergen op Zoom 50 71.8 [%] 63.6 [%] 85.0 [%] 78.8
Gemeente Bergen op Zoom 60 91.6 [%] 84.3 [%] 98.1 [%] 130.9
Gemeente Bergen op Zoom Totaal 78.6 [%] 76.5 [%] 93.1 [%] 209.7
Gemeente Berkelland 50 83.5 [%] 75.1 [%] 92.8 [%] 32.8
Gemeente Berkelland 60 98.3 [%] 98.2 [%] 99.9 [%] 694.9
Gemeente Berkelland Totaal 96.0 [%] 97.2 [%] 99.6 [%] 727.7
Gemeente Bernheze 50 90.7 [%] 72.2 [%] 95.9 [%] 7.9
Gemeente Bernheze 60 96.0 [%] 94.2 [%] 99.4 [%] 231.1
Gemeente Bernheze Totaal 95.4 [%] 93.5 [%] 99.3 [%] 239.0
Gemeente Best 50 89.8 [%] 83.8 [%] 91.8 [%] 35.7
Gemeente Best 60 96.6 [%] 96.2 [%] 99.3 [%] 77.7
Gemeente Best Totaal 92.5 [%] 92.3 [%] 96.9 [%] 113.4
Gemeente Beuningen 50 92.1 [%] 85.4 [%] 94.8 [%] 17.8
Gemeente Beuningen 60 91.4 [%] 86.8 [%] 99.1 [%] 81.6
Gemeente Beuningen Totaal 91.7 [%] 86.6 [%] 98.3 [%] 99.4
Gemeente Beverwijk 50 71.6 [%] 63.7 [%] 81.1 [%] 56.0
Gemeente Beverwijk 60 85.7 [%] 97.2 [%] 97.7 [%] 9.8
Gemeente Beverwijk Totaal 72.6 [%] 68.6 [%] 83.6 [%] 65.7
Gemeente Bladel 50 67.5 [%] 54.9 [%] 87.8 [%] 30.1
Gemeente Bladel 60 94.4 [%] 94.4 [%] 99.8 [%] 107.5
Gemeente Bladel Totaal 80.5 [%] 85.7 [%] 97.2 [%] 137.6
Gemeente Blaricum 50 88.5 [%] 87.3 [%] 97.8 [%] 10.8
Gemeente Blaricum 60 88.2 [%] 82.4 [%] 96.2 [%] 14.3
Gemeente Blaricum Totaal 88.4 [%] 84.5 [%] 96.9 [%] 25.0
Gemeente Bloemendaal 50 78.1 [%] 61.9 [%] 84.5 [%] 20.3
Gemeente Bloemendaal 60 91.9 [%] 75.5 [%] 98.2 [%] 7.2
Gemeente Bloemendaal Totaal 79.9 [%] 65.5 [%] 88.1 [%] 27.5
Gemeente Bodegraven-Reeuwijk 50 72.9 [%] 58.8 [%] 83.3 [%] 24.0
Gemeente Bodegraven-Reeuwijk 60 84.6 [%] 71.1 [%] 98.1 [%] 79.6
Gemeente Bodegraven-Reeuwijk Totaal 79.2 [%] 68.3 [%] 94.7 [%] 103.6
Gemeente Boekel 50 68.3 [%] 55.2 [%] 87.2 [%] 5.8
Gemeente Boekel 60 94.4 [%] 95.0 [%] 99.5 [%] 81.7
Gemeente Boekel Totaal 89.4 [%] 92.4 [%] 98.6 [%] 87.5
Gemeente Borger-Odoorn 50 76.5 [%] 58.5 [%] 83.7 [%] 71.2
Gemeente Borger-Odoorn 60 94.9 [%] 91.2 [%] 99.0 [%] 374.9
Gemeente Borger-Odoorn Totaal 88.4 [%] 86.0 [%] 96.6 [%] 446.1
Gemeente Borne 50 72.2 [%] 61.8 [%] 84.5 [%] 24.5
Gemeente Borne 60 96.6 [%] 94.0 [%] 99.4 [%] 63.8
Gemeente Borne Totaal 84.7 [%] 85.1 [%] 95.3 [%] 88.4
Gemeente Borsele 50 81.4 [%] 68.1 [%] 83.0 [%] 8.5
Gemeente Borsele 60 86.7 [%] 93.5 [%] 98.2 [%] 32.3
Gemeente Borsele Totaal 85.0 [%] 88.2 [%] 95.0 [%] 40.9
Gemeente Boxtel 50 84.9 [%] 79.6 [%] 92.0 [%] 25.3
Gemeente Boxtel 60 98.7 [%] 98.0 [%] 99.8 [%] 127.1
Gemeente Boxtel Totaal 93.5 [%] 95.0 [%] 98.5 [%] 152.4
Gemeente Breda 50 80.5 [%] 72.4 [%] 87.3 [%] 235.8
Gemeente Breda 60 94.6 [%] 93.3 [%] 98.2 [%] 173.6
Gemeente Breda Totaal 83.0 [%] 81.2 [%] 91.9 [%] 409.4
Gemeente Bronckhorst 50 86.4 [%] 80.9 [%] 94.8 [%] 23.7
Gemeente Bronckhorst 60 98.0 [%] 97.4 [%] 99.9 [%] 684.9
Gemeente Bronckhorst Totaal 96.8 [%] 96.8 [%] 99.7 [%] 708.7
Gemeente Brummen 50 83.0 [%] 81.4 [%] 92.7 [%] 6.4
Gemeente Brummen 60 94.0 [%] 96.0 [%] 99.4 [%] 166.8
Gemeente Brummen Totaal 93.0 [%] 95.5 [%] 99.1 [%] 173.3
Gemeente Brunssum 50 81.0 [%] 63.4 [%] 83.8 [%] 33.3
Gemeente Brunssum 60 92.5 [%] 92.2 [%] 98.6 [%] 14.8
Gemeente Brunssum Totaal 82.4 [%] 72.3 [%] 88.3 [%] 48.2
Gemeente Bunnik 50 76.9 [%] 61.1 [%] 85.8 [%] 8.7
Gemeente Bunnik 60 85.8 [%] 86.1 [%] 98.5 [%] 49.1
Gemeente Bunnik Totaal 82.3 [%] 82.3 [%] 96.6 [%] 57.7
Gemeente Bunschoten 50 93.5 [%] 93.4 [%] 97.7 [%] 9.1
Gemeente Bunschoten 60 85.2 [%] 82.6 [%] 98.5 [%] 34.3
Gemeente Bunschoten Totaal 91.3 [%] 84.9 [%] 98.3 [%] 43.4
Gemeente Buren 50 76.8 [%] 71.8 [%] 91.8 [%] 10.3
Gemeente Buren 60 93.7 [%] 89.7 [%] 99.3 [%] 295.3
Gemeente Buren Totaal 92.1 [%] 89.1 [%] 99.1 [%] 305.5
Gemeente Capelle aan den IJssel 50 81.8 [%] 69.0 [%] 89.4 [%] 60.6
Gemeente Capelle aan den IJssel 60 100.0 [%] 100.0 [%] 100.0 [%] 0.0
Gemeente Capelle aan den IJssel Totaal 81.8 [%] 69.0 [%] 89.5 [%] 60.6
Gemeente Castricum 50 84.1 [%] 66.0 [%] 85.8 [%] 16.9
Gemeente Castricum 60 85.9 [%] 83.1 [%] 94.6 [%] 15.9
Gemeente Castricum Totaal 84.4 [%] 74.3 [%] 90.1 [%] 32.8
Gemeente Coevorden 50 79.2 [%] 70.2 [%] 93.7 [%] 81.3
Gemeente Coevorden 60 96.8 [%] 96.3 [%] 99.8 [%] 238.3
Gemeente Coevorden Totaal 86.4 [%] 89.7 [%] 98.3 [%] 319.6
Gemeente Cranendonck 50 73.2 [%] 72.5 [%] 93.2 [%] 33.5
Gemeente Cranendonck 60 88.4 [%] 88.2 [%] 98.8 [%] 122.9
Gemeente Cranendonck Totaal 82.3 [%] 84.8 [%] 97.6 [%] 156.4
Gemeente Culemborg 50 73.1 [%] 50.1 [%] 67.6 [%] 32.6
Gemeente Culemborg 60 96.1 [%] 94.8 [%] 99.6 [%] 39.4
Gemeente Culemborg Totaal 77.8 [%] 74.6 [%] 85.1 [%] 72.1
Gemeente Dalfsen 50 89.8 [%] 79.1 [%] 96.0 [%] 22.1
Gemeente Dalfsen 60 95.5 [%] 94.3 [%] 99.7 [%] 368.0
Gemeente Dalfsen Totaal 94.5 [%] 93.5 [%] 99.5 [%] 390.1
Gemeente Dantumadiel 50 61.1 [%] 53.8 [%] 87.2 [%] 22.7
Gemeente Dantumadiel 60 91.7 [%] 87.0 [%] 99.4 [%] 119.3
Gemeente Dantumadiel Totaal 79.1 [%] 81.7 [%] 97.5 [%] 142.0
Gemeente De Bilt 50 74.0 [%] 56.4 [%] 87.7 [%] 27.6
Gemeente De Bilt 60 86.2 [%] 87.6 [%] 98.9 [%] 35.3
Gemeente De Bilt Totaal 77.2 [%] 73.9 [%] 94.0 [%] 63.0
Gemeente De Fryske Marren 50 74.8 [%] 66.2 [%] 91.2 [%] 38.6
Gemeente De Fryske Marren 60 88.2 [%] 85.9 [%] 98.7 [%] 375.2
Gemeente De Fryske Marren Totaal 84.5 [%] 84.1 [%] 98.0 [%] 413.9
Gemeente De Ronde Venen 50 79.8 [%] 71.7 [%] 89.8 [%] 34.4
Gemeente De Ronde Venen 60 91.0 [%] 83.6 [%] 99.3 [%] 131.7
Gemeente De Ronde Venen Totaal 85.5 [%] 81.1 [%] 97.4 [%] 166.1
Gemeente De Wolden 50 74.8 [%] 68.8 [%] 89.7 [%] 29.1
Gemeente De Wolden 60 94.3 [%] 90.8 [%] 99.6 [%] 364.2
Gemeente De Wolden Totaal 89.8 [%] 89.1 [%] 98.9 [%] 393.2
Gemeente Delft 50 76.5 [%] 63.7 [%] 83.2 [%] 65.4
Gemeente Delft 60 87.0 [%] 85.8 [%] 99.1 [%] 4.0
Gemeente Delft Totaal 76.8 [%] 65.0 [%] 84.1 [%] 69.4
Gemeente Den Helder 50 62.1 [%] 53.4 [%] 76.7 [%] 103.4
Gemeente Den Helder 60 84.1 [%] 76.4 [%] 98.5 [%] 17.0
Gemeente Den Helder Totaal 63.3 [%] 56.6 [%] 79.8 [%] 120.4
Gemeente Deurne 50 76.7 [%] 66.8 [%] 90.1 [%] 48.5
Gemeente Deurne 60 98.1 [%] 97.8 [%] 99.8 [%] 288.8
Gemeente Deurne Totaal 89.9 [%] 93.4 [%] 98.4 [%] 337.3
Gemeente Deventer 50 84.5 [%] 77.3 [%] 92.0 [%] 106.8
Gemeente Deventer 60 98.5 [%] 96.3 [%] 99.9 [%] 254.4
Gemeente Deventer Totaal 90.6 [%] 90.7 [%] 97.6 [%] 361.2
Gemeente Diemen 50 74.4 [%] 60.6 [%] 81.3 [%] 21.6
Gemeente Diemen 60 100.0 [%] 100.0 [%] 100.0 [%] 0.9
Gemeente Diemen Totaal 74.8 [%] 62.1 [%] 82.0 [%] 22.5
Gemeente Dijk en Waard 50 88.0 [%] 75.8 [%] 92.9 [%] 96.7
Gemeente Dijk en Waard 60 86.5 [%] 83.3 [%] 98.2 [%] 62.6
Gemeente Dijk en Waard Totaal 87.8 [%] 78.8 [%] 95.0 [%] 159.2
Gemeente Dinkelland 50 72.9 [%] 61.6 [%] 90.6 [%] 24.3
Gemeente Dinkelland 60 96.9 [%] 94.7 [%] 99.8 [%] 424.7
Gemeente Dinkelland Totaal 93.1 [%] 92.9 [%] 99.3 [%] 449.0
Gemeente Doesburg 50 84.4 [%] 73.5 [%] 94.2 [%] 8.5
Gemeente Doesburg 60 95.2 [%] 95.0 [%] 97.2 [%] 12.8
Gemeente Doesburg Totaal 87.9 [%] 86.4 [%] 96.0 [%] 21.4
Gemeente Doetinchem 50 85.1 [%] 76.5 [%] 91.8 [%] 69.0
Gemeente Doetinchem 60 96.6 [%] 94.8 [%] 99.5 [%] 157.8
Gemeente Doetinchem Totaal 90.0 [%] 89.3 [%] 97.2 [%] 226.8
Gemeente Dongen 50 85.3 [%] 76.2 [%] 93.8 [%] 28.7
Gemeente Dongen 60 94.7 [%] 93.8 [%] 99.6 [%] 34.6
Gemeente Dongen Totaal 87.9 [%] 85.8 [%] 97.0 [%] 63.4
Gemeente Dordrecht 50 75.0 [%] 68.3 [%] 83.0 [%] 104.2
Gemeente Dordrecht 60 97.7 [%] 97.8 [%] 99.8 [%] 58.8
Gemeente Dordrecht Totaal 77.6 [%] 79.0 [%] 89.1 [%] 163.0
Gemeente Drechterland 50 70.3 [%] 60.3 [%] 95.7 [%] 34.4
Gemeente Drechterland 60 87.7 [%] 82.4 [%] 99.4 [%] 67.4
Gemeente Drechterland Totaal 79.5 [%] 74.9 [%] 98.1 [%] 101.8
Gemeente Drimmelen 50 77.1 [%] 53.0 [%] 85.1 [%] 13.1
Gemeente Drimmelen 60 94.9 [%] 93.8 [%] 99.8 [%] 138.5
Gemeente Drimmelen Totaal 89.0 [%] 90.3 [%] 98.5 [%] 151.5
Gemeente Dronten 50 89.3 [%] 85.1 [%] 94.9 [%] 57.2
Gemeente Dronten 60 76.3 [%] 80.0 [%] 97.7 [%] 44.8
Gemeente Dronten Totaal 86.9 [%] 82.8 [%] 96.1 [%] 101.9
Gemeente Druten 50 86.4 [%] 71.0 [%] 92.0 [%] 9.9
Gemeente Druten 60 96.1 [%] 93.0 [%] 99.5 [%] 62.1
Gemeente Druten Totaal 92.2 [%] 90.0 [%] 98.5 [%] 72.0
Gemeente Duiven 50 98.5 [%] 96.4 [%] 98.6 [%] 27.0
Gemeente Duiven 60 95.6 [%] 92.4 [%] 99.3 [%] 53.7
Gemeente Duiven Totaal 97.5 [%] 93.7 [%] 99.1 [%] 80.8
Gemeente Echt-Susteren 50 71.6 [%] 59.4 [%] 86.9 [%] 28.7
Gemeente Echt-Susteren 60 93.6 [%] 93.5 [%] 99.4 [%] 199.0
Gemeente Echt-Susteren Totaal 86.9 [%] 89.2 [%] 97.8 [%] 227.7
Gemeente Edam-Volendam 50 76.0 [%] 63.3 [%] 85.6 [%] 22.5
Gemeente Edam-Volendam 60 90.7 [%] 90.2 [%] 93.6 [%] 2.7
Gemeente Edam-Volendam Totaal 77.6 [%] 66.2 [%] 86.5 [%] 25.2
Gemeente Ede 50 87.2 [%] 79.6 [%] 91.1 [%] 102.9
Gemeente Ede 60 96.6 [%] 96.3 [%] 99.6 [%] 427.4
Gemeente Ede Totaal 92.4 [%] 93.1 [%] 98.0 [%] 530.3
Gemeente Eemnes 50 86.4 [%] 88.9 [%] 95.2 [%] 7.2
Gemeente Eemnes 60 95.3 [%] 91.1 [%] 99.8 [%] 54.3
Gemeente Eemnes Totaal 91.0 [%] 90.8 [%] 99.2 [%] 61.5
Gemeente Eemsdelta 50 89.7 [%] 80.4 [%] 92.9 [%] 60.2
Gemeente Eemsdelta 60 93.3 [%] 91.2 [%] 99.4 [%] 346.3
Gemeente Eemsdelta Totaal 91.7 [%] 89.6 [%] 98.5 [%] 406.5
Gemeente Eersel 50 73.0 [%] 51.5 [%] 78.8 [%] 14.7
Gemeente Eersel 60 94.0 [%] 90.6 [%] 99.6 [%] 177.3
Gemeente Eersel Totaal 89.4 [%] 87.7 [%] 98.0 [%] 192.0
Gemeente Eijsden-Margraten 50 62.8 [%] 49.1 [%] 83.4 [%] 22.9
Gemeente Eijsden-Margraten 60 92.8 [%] 90.7 [%] 99.2 [%] 175.7
Gemeente Eijsden-Margraten Totaal 85.4 [%] 85.9 [%] 97.4 [%] 198.7
Gemeente Eindhoven 50 85.8 [%] 78.0 [%] 88.4 [%] 196.0
Gemeente Eindhoven 60 98.1 [%] 97.1 [%] 99.7 [%] 29.3
Gemeente Eindhoven Totaal 86.6 [%] 80.4 [%] 89.9 [%] 225.3
Gemeente Elburg 50 73.2 [%] 64.6 [%] 82.7 [%] 9.2
Gemeente Elburg 60 92.2 [%] 89.7 [%] 99.3 [%] 97.0
Gemeente Elburg Totaal 86.9 [%] 87.5 [%] 97.9 [%] 106.2
Gemeente Emmen 50 83.1 [%] 71.1 [%] 93.2 [%] 237.8
Gemeente Emmen 60 92.0 [%] 87.9 [%] 99.4 [%] 362.0
Gemeente Emmen Totaal 85.7 [%] 81.2 [%] 97.0 [%] 599.8
Gemeente Enkhuizen 50 76.1 [%] 74.7 [%] 93.5 [%] 19.4
Gemeente Enkhuizen 60 89.3 [%] 93.9 [%] 99.3 [%] 11.0
Gemeente Enkhuizen Totaal 77.8 [%] 81.7 [%] 95.6 [%] 30.5
Gemeente Enschede 50 80.5 [%] 68.6 [%] 87.8 [%] 136.9
Gemeente Enschede 60 97.1 [%] 97.2 [%] 99.6 [%] 295.7
Gemeente Enschede Totaal 87.3 [%] 88.2 [%] 95.9 [%] 432.6
Gemeente Epe 50 79.6 [%] 70.9 [%] 92.7 [%] 17.5
Gemeente Epe 60 96.1 [%] 95.3 [%] 99.6 [%] 415.6
Gemeente Epe Totaal 94.3 [%] 94.3 [%] 99.3 [%] 433.1
Gemeente Ermelo 50 87.3 [%] 68.4 [%] 91.6 [%] 19.8
Gemeente Ermelo 60 81.4 [%] 78.0 [%] 97.7 [%] 110.4
Gemeente Ermelo Totaal 83.6 [%] 76.6 [%] 96.8 [%] 130.3
Gemeente Etten-Leur 50 89.2 [%] 84.5 [%] 94.7 [%] 50.4
Gemeente Etten-Leur 60 96.7 [%] 93.8 [%] 99.7 [%] 99.2
Gemeente Etten-Leur Totaal 91.9 [%] 90.7 [%] 98.0 [%] 149.6
Gemeente Geertruidenberg 50 78.6 [%] 59.9 [%] 85.7 [%] 32.6
Gemeente Geertruidenberg 60 92.5 [%] 90.4 [%] 99.1 [%] 36.8
Gemeente Geertruidenberg Totaal 82.0 [%] 76.0 [%] 92.8 [%] 69.4
Gemeente Geldrop-Mierlo 50 89.4 [%] 81.1 [%] 93.7 [%] 25.4
Gemeente Geldrop-Mierlo 60 93.3 [%] 91.0 [%] 99.3 [%] 42.2
Gemeente Geldrop-Mierlo Totaal 90.3 [%] 87.3 [%] 97.2 [%] 67.5
Gemeente Gemert-Bakel 50 72.4 [%] 61.7 [%] 86.7 [%] 15.9
Gemeente Gemert-Bakel 60 95.2 [%] 92.6 [%] 99.5 [%] 228.4
Gemeente Gemert-Bakel Totaal 90.5 [%] 90.5 [%] 98.7 [%] 244.3
Gemeente Gennep 50 78.9 [%] 71.9 [%] 90.6 [%] 13.0
Gemeente Gennep 60 93.8 [%] 90.6 [%] 99.4 [%] 81.9
Gemeente Gennep Totaal 88.5 [%] 88.0 [%] 98.1 [%] 94.9
Gemeente Gilze en Rijen 50 71.7 [%] 59.7 [%] 88.8 [%] 27.9
Gemeente Gilze en Rijen 60 97.3 [%] 95.7 [%] 99.8 [%] 122.1
Gemeente Gilze en Rijen Totaal 85.7 [%] 89.0 [%] 97.8 [%] 150.0
Gemeente Goeree-Overflakkee 50 83.0 [%] 77.1 [%] 89.7 [%] 25.1
Gemeente Goeree-Overflakkee 60 88.5 [%] 86.4 [%] 95.5 [%] 52.1
Gemeente Goeree-Overflakkee Totaal 85.7 [%] 83.4 [%] 93.7 [%] 77.1
Gemeente Goes 50 84.2 [%] 74.6 [%] 91.9 [%] 41.8
Gemeente Goes 60 95.2 [%] 89.0 [%] 99.1 [%] 19.8
Gemeente Goes Totaal 86.1 [%] 79.2 [%] 94.2 [%] 61.6
Gemeente Goirle 50 76.2 [%] 62.1 [%] 87.5 [%] 15.9
Gemeente Goirle 60 96.5 [%] 95.3 [%] 99.8 [%] 80.3
Gemeente Goirle Totaal 86.4 [%] 89.8 [%] 97.7 [%] 96.2
Gemeente Gooise Meren 50 76.0 [%] 63.1 [%] 83.1 [%] 36.0
Gemeente Gooise Meren 60 97.0 [%] 96.6 [%] 99.0 [%] 28.9
Gemeente Gooise Meren Totaal 80.1 [%] 78.0 [%] 90.2 [%] 64.9
Gemeente Gorinchem 50 90.3 [%] 85.9 [%] 93.6 [%] 31.3
Gemeente Gorinchem 60 92.3 [%] 80.5 [%] 99.6 [%] 8.0
Gemeente Gorinchem Totaal 90.5 [%] 84.8 [%] 94.9 [%] 39.3
Gemeente Gouda 50 76.6 [%] 68.7 [%] 84.4 [%] 64.9
Gemeente Gouda 60 80.7 [%] 76.8 [%] 93.2 [%] 11.5
Gemeente Gouda Totaal 76.9 [%] 69.9 [%] 85.8 [%] 76.4
Gemeente Groningen 50 77.0 [%] 69.4 [%] 87.5 [%] 231.1
Gemeente Groningen 60 93.6 [%] 91.2 [%] 99.4 [%] 169.3
Gemeente Groningen Totaal 80.2 [%] 78.6 [%] 92.5 [%] 400.4
Gemeente Gulpen-Wittem 50 66.2 [%] 55.7 [%] 88.1 [%] 25.3
Gemeente Gulpen-Wittem 60 90.3 [%] 89.2 [%] 99.0 [%] 143.5
Gemeente Gulpen-Wittem Totaal 82.9 [%] 84.2 [%] 97.4 [%] 168.8
Gemeente Haaksbergen 50 75.3 [%] 64.7 [%] 86.2 [%] 33.0
Gemeente Haaksbergen 60 98.1 [%] 98.6 [%] 99.8 [%] 259.8
Gemeente Haaksbergen Totaal 91.5 [%] 94.8 [%] 98.3 [%] 292.8
Gemeente Haarlem 50 72.6 [%] 60.0 [%] 79.0 [%] 112.5
Gemeente Haarlem 60 80.0 [%] 70.5 [%] 97.6 [%] 3.6
Gemeente Haarlem Totaal 72.7 [%] 60.3 [%] 79.6 [%] 116.1
Gemeente Haarlemmermeer 50 86.0 [%] 72.6 [%] 90.1 [%] 194.8
Gemeente Haarlemmermeer 60 92.5 [%] 84.4 [%] 98.5 [%] 203.7
Gemeente Haarlemmermeer Totaal 87.9 [%] 78.6 [%] 94.4 [%] 398.5
Gemeente Halderberge 50 80.5 [%] 69.8 [%] 94.2 [%] 24.5
Gemeente Halderberge 60 92.4 [%] 88.8 [%] 99.1 [%] 151.7
Gemeente Halderberge Totaal 89.0 [%] 86.1 [%] 98.4 [%] 176.2
Gemeente Hardenberg 50 75.2 [%] 60.2 [%] 87.4 [%] 89.4
Gemeente Hardenberg 60 93.8 [%] 91.4 [%] 99.3 [%] 640.4
Gemeente Hardenberg Totaal 88.2 [%] 87.5 [%] 97.8 [%] 729.8
Gemeente Harderwijk 50 88.6 [%] 80.0 [%] 92.3 [%] 47.0
Gemeente Harderwijk 60 92.3 [%] 92.9 [%] 98.0 [%] 41.2
Gemeente Harderwijk Totaal 89.7 [%] 86.0 [%] 95.0 [%] 88.2
Gemeente Hardinxveld-Giessendam 50 66.7 [%] 49.5 [%] 73.9 [%] 11.9
Gemeente Hardinxveld-Giessendam 60 52.6 [%] 22.7 [%] 73.2 [%] 3.9
Gemeente Hardinxveld-Giessendam Totaal 64.9 [%] 42.9 [%] 73.8 [%] 15.7
Gemeente Harlingen 50 94.4 [%] 90.8 [%] 98.1 [%] 20.1
Gemeente Harlingen 60 91.0 [%] 86.4 [%] 98.6 [%] 25.2
Gemeente Harlingen Totaal 93.4 [%] 88.4 [%] 98.4 [%] 45.3
Gemeente Hattem 50 81.2 [%] 66.2 [%] 84.2 [%] 2.8
Gemeente Hattem 60 93.3 [%] 90.2 [%] 98.6 [%] 28.8
Gemeente Hattem Totaal 90.7 [%] 88.1 [%] 97.4 [%] 31.5
Gemeente Heemskerk 50 67.1 [%] 57.0 [%] 79.7 [%] 39.7
Gemeente Heemskerk 60 94.4 [%] 89.9 [%] 98.9 [%] 3.7
Gemeente Heemskerk Totaal 67.9 [%] 59.8 [%] 81.4 [%] 43.3
Gemeente Heemstede 50 72.8 [%] 60.4 [%] 80.2 [%] 27.0
Gemeente Heemstede 60 90.9 [%] 87.9 [%] 96.5 [%] 2.7
Gemeente Heemstede Totaal 73.3 [%] 62.9 [%] 81.6 [%] 29.7
Gemeente Heerde 50 89.3 [%] 84.1 [%] 97.9 [%] 13.4
Gemeente Heerde 60 94.8 [%] 92.8 [%] 99.5 [%] 149.8
Gemeente Heerde Totaal 93.6 [%] 92.0 [%] 99.4 [%] 163.2
Gemeente Heerenveen 50 81.4 [%] 71.8 [%] 93.2 [%] 87.6
Gemeente Heerenveen 60 91.6 [%] 91.1 [%] 99.3 [%] 259.5
Gemeente Heerenveen Totaal 86.2 [%] 86.2 [%] 97.8 [%] 347.1
Gemeente Heerlen 50 78.4 [%] 66.6 [%] 83.8 [%] 133.3
Gemeente Heerlen 60 100.0 [%] 100.0 [%] 100.0 [%] 1.6
Gemeente Heerlen Totaal 78.5 [%] 67.0 [%] 83.9 [%] 134.9
Gemeente Heeze-Leende 50 82.9 [%] 74.4 [%] 93.8 [%] 16.7
Gemeente Heeze-Leende 60 89.8 [%] 85.9 [%] 99.3 [%] 125.8
Gemeente Heeze-Leende Totaal 87.3 [%] 84.5 [%] 98.6 [%] 142.5
Gemeente Heiloo 50 81.4 [%] 66.9 [%] 88.1 [%] 19.8
Gemeente Heiloo 60 95.5 [%] 90.0 [%] 98.9 [%] 8.0
Gemeente Heiloo Totaal 82.4 [%] 73.6 [%] 91.2 [%] 27.8
Gemeente Hellendoorn 50 74.4 [%] 63.1 [%] 86.6 [%] 41.9
Gemeente Hellendoorn 60 94.0 [%] 95.8 [%] 99.5 [%] 313.0
Gemeente Hellendoorn Totaal 87.5 [%] 91.9 [%] 98.0 [%] 354.9
Gemeente Helmond 50 85.7 [%] 79.6 [%] 90.9 [%] 161.3
Gemeente Helmond 60 97.4 [%] 95.6 [%] 99.5 [%] 54.0
Gemeente Helmond Totaal 86.6 [%] 83.6 [%] 93.1 [%] 215.3
Gemeente Hendrik-Ido-Ambacht 50 76.1 [%] 68.1 [%] 86.8 [%] 27.8
Gemeente Hendrik-Ido-Ambacht 60 100.0 [%] 100.0 [%] 100.0 [%] 1.5
Gemeente Hendrik-Ido-Ambacht Totaal 76.6 [%] 69.7 [%] 87.5 [%] 29.3
Gemeente Hengelo (O) 50 78.5 [%] 69.9 [%] 87.3 [%] 122.0
Gemeente Hengelo (O) 60 97.2 [%] 97.1 [%] 99.7 [%] 108.2
Gemeente Hengelo (O) Totaal 82.5 [%] 82.7 [%] 93.1 [%] 230.2
Gemeente Het Hogeland 50 73.4 [%] 66.2 [%] 90.3 [%] 42.0
Gemeente Het Hogeland 60 92.9 [%] 88.9 [%] 99.5 [%] 367.3
Gemeente Het Hogeland Totaal 88.0 [%] 86.6 [%] 98.5 [%] 409.3
Gemeente Heumen 50 79.2 [%] 64.6 [%] 87.1 [%] 9.9
Gemeente Heumen 60 94.1 [%] 95.6 [%] 99.5 [%] 87.1
Gemeente Heumen Totaal 90.1 [%] 92.4 [%] 98.2 [%] 97.0
Gemeente Heusden 50 72.3 [%] 58.8 [%] 84.5 [%] 45.4
Gemeente Heusden 60 82.9 [%] 88.6 [%] 98.7 [%] 90.7
Gemeente Heusden Totaal 75.8 [%] 78.7 [%] 93.9 [%] 136.1
Gemeente Hillegom 50 75.1 [%] 44.8 [%] 69.6 [%] 13.3
Gemeente Hillegom 60 65.6 [%] 41.8 [%] 94.7 [%] 12.0
Gemeente Hillegom Totaal 73.9 [%] 43.3 [%] 81.5 [%] 25.3
Gemeente Hilvarenbeek 50 80.6 [%] 71.5 [%] 91.5 [%] 2.6
Gemeente Hilvarenbeek 60 95.4 [%] 95.1 [%] 99.6 [%] 188.6
Gemeente Hilvarenbeek Totaal 94.5 [%] 94.8 [%] 99.5 [%] 191.2
Gemeente Hilversum 50 74.5 [%] 66.3 [%] 84.8 [%] 85.9
Gemeente Hilversum 60 93.8 [%] 85.7 [%] 96.7 [%] 14.6
Gemeente Hilversum Totaal 75.4 [%] 69.1 [%] 86.6 [%] 100.5
Gemeente Hoeksche Waard 50 62.2 [%] 53.8 [%] 80.9 [%] 116.2
Gemeente Hoeksche Waard 60 83.2 [%] 80.0 [%] 95.2 [%] 63.0
Gemeente Hoeksche Waard Totaal 66.6 [%] 63.1 [%] 86.0 [%] 179.2
Gemeente Hof van Twente 50 86.9 [%] 78.6 [%] 93.9 [%] 29.0
Gemeente Hof van Twente 60 96.2 [%] 95.6 [%] 99.6 [%] 451.0
Gemeente Hof van Twente Totaal 94.5 [%] 94.5 [%] 99.3 [%] 480.0
Gemeente Hollands Kroon 50 81.1 [%] 61.1 [%] 91.7 [%] 47.6
Gemeente Hollands Kroon 60 88.2 [%] 79.1 [%] 99.1 [%] 462.1
Gemeente Hollands Kroon Totaal 86.2 [%] 77.4 [%] 98.4 [%] 509.7
Gemeente Hoogeveen 50 87.8 [%] 74.9 [%] 90.6 [%] 84.5
Gemeente Hoogeveen 60 92.0 [%] 85.7 [%] 99.4 [%] 188.7
Gemeente Hoogeveen Totaal 89.4 [%] 82.4 [%] 96.7 [%] 273.2
Gemeente Hoorn 50 83.6 [%] 77.3 [%] 91.4 [%] 78.3
Gemeente Hoorn 60 94.3 [%] 70.2 [%] 98.6 [%] 7.9
Gemeente Hoorn Totaal 84.3 [%] 76.7 [%] 92.0 [%] 86.2
Gemeente Horst aan de Maas 50 81.8 [%] 74.5 [%] 93.6 [%] 42.0
Gemeente Horst aan de Maas 60 92.5 [%] 90.4 [%] 99.2 [%] 457.2
Gemeente Horst aan de Maas Totaal 90.1 [%] 89.1 [%] 98.7 [%] 499.2
Gemeente Houten 50 85.8 [%] 81.2 [%] 94.4 [%] 23.4
Gemeente Houten 60 93.1 [%] 83.9 [%] 99.2 [%] 74.9
Gemeente Houten Totaal 89.2 [%] 83.3 [%] 98.1 [%] 98.3
Gemeente Huizen 50 84.7 [%] 74.5 [%] 86.7 [%] 35.0
Gemeente Huizen 60 96.0 [%] 98.4 [%] 99.2 [%] 4.4
Gemeente Huizen Totaal 85.2 [%] 77.1 [%] 88.1 [%] 39.4
Gemeente Hulst 50 65.6 [%] 58.4 [%] 80.4 [%] 45.2
Gemeente Hulst 60 89.3 [%] 88.5 [%] 97.4 [%] 19.2
Gemeente Hulst Totaal 69.2 [%] 67.4 [%] 85.5 [%] 64.4
Gemeente IJsselstein 50 66.4 [%] 57.0 [%] 81.0 [%] 27.6
Gemeente IJsselstein 60 97.1 [%] 86.8 [%] 99.6 [%] 19.3
Gemeente IJsselstein Totaal 68.9 [%] 69.3 [%] 88.7 [%] 46.9
Gemeente Kaag en Braassem 50 70.3 [%] 64.0 [%] 90.3 [%] 36.3
Gemeente Kaag en Braassem 60 85.7 [%] 74.9 [%] 97.6 [%] 66.6
Gemeente Kaag en Braassem Totaal 76.5 [%] 71.1 [%] 95.0 [%] 102.9
Gemeente Kampen 50 91.7 [%] 86.7 [%] 94.9 [%] 40.7
Gemeente Kampen 60 93.3 [%] 88.0 [%] 99.5 [%] 194.0
Gemeente Kampen Totaal 92.6 [%] 87.8 [%] 98.7 [%] 234.7
Gemeente Kapelle 50 77.8 [%] 72.9 [%] 97.3 [%] 3.8
Gemeente Kapelle 60 100.0 [%] 100.0 [%] 100.0 [%] 7.5
Gemeente Kapelle Totaal 92.3 [%] 90.9 [%] 99.1 [%] 11.3
Gemeente Katwijk 50 84.6 [%] 68.7 [%] 83.8 [%] 31.0
Gemeente Katwijk 60 89.4 [%] 87.9 [%] 99.0 [%] 15.1
Gemeente Katwijk Totaal 85.1 [%] 74.9 [%] 88.7 [%] 46.1
Gemeente Kerkrade 50 74.1 [%] 61.4 [%] 81.0 [%] 60.0
Gemeente Kerkrade 60 96.7 [%] 88.8 [%] 97.2 [%] 4.5
Gemeente Kerkrade Totaal 75.0 [%] 63.4 [%] 82.1 [%] 64.5
Gemeente Koggenland 50 71.5 [%] 59.3 [%] 93.5 [%] 39.2
Gemeente Koggenland 60 90.1 [%] 82.5 [%] 99.5 [%] 91.6
Gemeente Koggenland Totaal 80.2 [%] 75.5 [%] 97.7 [%] 130.8
Gemeente Krimpen aan den IJssel 50 58.5 [%] 47.1 [%] 76.5 [%] 21.4
Gemeente Krimpen aan den IJssel 60 93.3 [%] 85.8 [%] 98.6 [%] 1.5
Gemeente Krimpen aan den IJssel Totaal 60.3 [%] 49.8 [%] 78.0 [%] 22.9
Gemeente Krimpenerwaard 50 61.2 [%] 46.8 [%] 81.7 [%] 17.4
Gemeente Krimpenerwaard 60 82.1 [%] 84.1 [%] 97.7 [%] 24.9
Gemeente Krimpenerwaard Totaal 67.9 [%] 68.8 [%] 91.1 [%] 42.3
Gemeente Laarbeek 50 81.2 [%] 68.8 [%] 84.9 [%] 5.4
Gemeente Laarbeek 60 93.6 [%] 92.4 [%] 99.1 [%] 130.3
Gemeente Laarbeek Totaal 92.3 [%] 91.4 [%] 98.5 [%] 135.7
Gemeente Land van Cuijk 50 78.8 [%] 66.4 [%] 89.4 [%] 75.6
Gemeente Land van Cuijk 60 92.4 [%] 90.2 [%] 99.4 [%] 755.2
Gemeente Land van Cuijk Totaal 88.7 [%] 88.1 [%] 98.5 [%] 830.8
Gemeente Landgraaf 50 79.1 [%] 63.3 [%] 84.6 [%] 33.1
Gemeente Landgraaf 60 100.0 [%] 100.0 [%] 100.0 [%] 2.5
Gemeente Landgraaf Totaal 80.3 [%] 65.9 [%] 85.7 [%] 35.6
Gemeente Landsmeer 50 56.2 [%] 45.5 [%] 89.2 [%] 7.1
Gemeente Landsmeer 60 100.0 [%] 100.0 [%] 100.0 [%] 1.2
Gemeente Landsmeer Totaal 68.2 [%] 53.6 [%] 90.8 [%] 8.3
Gemeente Lansingerland 50 88.7 [%] 74.3 [%] 89.8 [%] 46.8
Gemeente Lansingerland 60 82.5 [%] 78.1 [%] 94.4 [%] 71.5
Gemeente Lansingerland Totaal 86.1 [%] 76.6 [%] 92.6 [%] 118.4
Gemeente Laren 50 88.9 [%] 90.3 [%] 96.1 [%] 4.6
Gemeente Laren 60 92.3 [%] 97.4 [%] 99.1 [%] 6.4
Gemeente Laren Totaal 90.0 [%] 94.4 [%] 97.9 [%] 11.0
Gemeente Leeuwarden 50 82.8 [%] 71.6 [%] 89.5 [%] 139.2
Gemeente Leeuwarden 60 88.6 [%] 87.8 [%] 98.6 [%] 246.0
Gemeente Leeuwarden Totaal 84.5 [%] 82.0 [%] 95.3 [%] 385.2
Gemeente Leiden 50 76.5 [%] 65.2 [%] 83.8 [%] 76.2
Gemeente Leiden 60 96.0 [%] 93.6 [%] 99.8 [%] 4.1
Gemeente Leiden Totaal 76.9 [%] 66.7 [%] 84.6 [%] 80.4
Gemeente Leiderdorp 50 81.2 [%] 69.4 [%] 91.9 [%] 17.4
Gemeente Leiderdorp 60 69.7 [%] 42.8 [%] 92.0 [%] 6.0
Gemeente Leiderdorp Totaal 79.8 [%] 62.6 [%] 91.9 [%] 23.4
Gemeente Leidschendam-Voorburg 50 72.3 [%] 60.2 [%] 79.6 [%] 53.4
Gemeente Leidschendam-Voorburg 60 82.4 [%] 87.2 [%] 96.5 [%] 32.4
Gemeente Leidschendam-Voorburg Totaal 73.8 [%] 70.4 [%] 86.0 [%] 85.8
Gemeente Lelystad 50 89.9 [%] 87.1 [%] 96.4 [%] 118.7
Gemeente Lelystad 60 91.8 [%] 89.2 [%] 97.8 [%] 24.5
Gemeente Lelystad Totaal 90.1 [%] 87.5 [%] 96.6 [%] 143.2
Gemeente Leudal 50 83.0 [%] 74.1 [%] 94.6 [%] 28.4
Gemeente Leudal 60 94.9 [%] 92.8 [%] 99.6 [%] 363.9
Gemeente Leudal Totaal 92.2 [%] 91.4 [%] 99.2 [%] 392.3
Gemeente Leusden 50 93.5 [%] 91.2 [%] 96.2 [%] 23.6
Gemeente Leusden 60 93.0 [%] 90.4 [%] 99.4 [%] 53.6
Gemeente Leusden Totaal 93.3 [%] 90.7 [%] 98.4 [%] 77.1
Gemeente Lingewaard 50 79.6 [%] 77.2 [%] 92.5 [%] 52.9
Gemeente Lingewaard 60 88.6 [%] 84.8 [%] 98.7 [%] 83.1
Gemeente Lingewaard Totaal 82.8 [%] 81.9 [%] 96.3 [%] 136.0
Gemeente Lisse 50 59.4 [%] 45.9 [%] 71.7 [%] 8.2
Gemeente Lisse 60 85.7 [%] 73.2 [%] 97.7 [%] 20.8
Gemeente Lisse Totaal 69.7 [%] 65.4 [%] 90.3 [%] 29.0
Gemeente Lochem 50 89.5 [%] 80.7 [%] 94.6 [%] 22.1
Gemeente Lochem 60 96.5 [%] 95.8 [%] 99.7 [%] 531.3
Gemeente Lochem Totaal 95.5 [%] 95.2 [%] 99.5 [%] 553.5
Gemeente Loon op Zand 50 68.8 [%] 58.4 [%] 84.2 [%] 20.6
Gemeente Loon op Zand 60 93.3 [%] 92.5 [%] 99.2 [%] 87.8
Gemeente Loon op Zand Totaal 81.3 [%] 86.0 [%] 96.3 [%] 108.4
Gemeente Lopik 50 74.3 [%] 74.8 [%] 93.4 [%] 10.2
Gemeente Lopik 60 87.2 [%] 82.7 [%] 99.0 [%] 63.7
Gemeente Lopik Totaal 83.1 [%] 81.6 [%] 98.3 [%] 73.9
Gemeente Losser 50 68.9 [%] 54.3 [%] 80.1 [%] 14.4
Gemeente Losser 60 94.8 [%] 94.0 [%] 99.6 [%] 194.4
Gemeente Losser Totaal 88.4 [%] 91.2 [%] 98.2 [%] 208.8
Gemeente Maasdriel 50 71.5 [%] 66.2 [%] 91.5 [%] 48.2
Gemeente Maasdriel 60 90.7 [%] 89.3 [%] 99.1 [%] 78.1
Gemeente Maasdriel Totaal 78.3 [%] 80.5 [%] 96.2 [%] 126.2
Gemeente Maasgouw 50 62.2 [%] 50.3 [%] 81.0 [%] 39.1
Gemeente Maasgouw 60 92.6 [%] 90.1 [%] 98.1 [%] 105.3
Gemeente Maasgouw Totaal 77.7 [%] 79.3 [%] 93.5 [%] 144.4
Gemeente Maashorst 50 85.0 [%] 78.8 [%] 93.2 [%] 51.1
Gemeente Maashorst 60 96.0 [%] 94.6 [%] 99.6 [%] 277.1
Gemeente Maashorst Totaal 91.9 [%] 92.1 [%] 98.6 [%] 328.3
Gemeente Maassluis 50 90.8 [%] 86.1 [%] 94.3 [%] 22.6
Gemeente Maassluis 60 100.0 [%] 100.0 [%] 100.0 [%] 0.5
Gemeente Maassluis Totaal 91.0 [%] 86.4 [%] 94.5 [%] 23.1
Gemeente Maastricht 50 77.6 [%] 67.4 [%] 86.2 [%] 130.2
Gemeente Maastricht 60 86.0 [%] 84.3 [%] 98.8 [%] 49.5
Gemeente Maastricht Totaal 78.5 [%] 72.0 [%] 89.7 [%] 179.8
Gemeente Medemblik 50 78.4 [%] 61.2 [%] 93.5 [%] 78.1
Gemeente Medemblik 60 96.3 [%] 94.7 [%] 99.8 [%] 125.4
Gemeente Medemblik Totaal 85.9 [%] 81.9 [%] 97.4 [%] 203.5
Gemeente Meerssen 50 87.0 [%] 72.3 [%] 91.6 [%] 16.9
Gemeente Meerssen 60 94.2 [%] 92.0 [%] 99.3 [%] 62.4
Gemeente Meerssen Totaal 90.7 [%] 87.8 [%] 97.6 [%] 79.3
Gemeente Meierijstad 50 92.8 [%] 86.3 [%] 97.9 [%] 65.5
Gemeente Meierijstad 60 98.0 [%] 97.7 [%] 99.8 [%] 482.8
Gemeente Meierijstad Totaal 96.5 [%] 96.4 [%] 99.6 [%] 548.2
Gemeente Meppel 50 79.8 [%] 73.9 [%] 90.5 [%] 46.4
Gemeente Meppel 60 98.7 [%] 97.2 [%] 100.0 [%] 70.7
Gemeente Meppel Totaal 85.4 [%] 88.0 [%] 96.2 [%] 117.2
Gemeente Middelburg 50 78.4 [%] 76.3 [%] 89.4 [%] 48.7
Gemeente Middelburg 60 86.2 [%] 82.8 [%] 94.1 [%] 12.5
Gemeente Middelburg Totaal 79.4 [%] 77.6 [%] 90.4 [%] 61.2
Gemeente Midden-Delfland 50 94.7 [%] 96.0 [%] 99.2 [%] 11.7
Gemeente Midden-Delfland 60 84.3 [%] 75.5 [%] 96.9 [%] 49.9
Gemeente Midden-Delfland Totaal 88.1 [%] 79.3 [%] 97.3 [%] 61.6
Gemeente Midden-Drenthe 50 82.4 [%] 69.9 [%] 94.6 [%] 40.3
Gemeente Midden-Drenthe 60 94.2 [%] 93.0 [%] 99.6 [%] 459.5
Gemeente Midden-Drenthe Totaal 91.0 [%] 91.1 [%] 99.2 [%] 499.8
Gemeente Midden-Groningen 50 83.0 [%] 71.3 [%] 95.2 [%] 94.0
Gemeente Midden-Groningen 60 90.2 [%] 84.0 [%] 99.4 [%] 325.2
Gemeente Midden-Groningen Totaal 86.8 [%] 81.1 [%] 98.4 [%] 419.1
Gemeente Moerdijk 50 75.5 [%] 63.8 [%] 86.7 [%] 28.6
Gemeente Moerdijk 60 85.9 [%] 79.1 [%] 97.7 [%] 288.1
Gemeente Moerdijk Totaal 83.2 [%] 77.7 [%] 96.7 [%] 316.7
Gemeente Molenlanden 50 63.4 [%] 56.5 [%] 83.2 [%] 17.2
Gemeente Molenlanden 60 69.2 [%] 65.6 [%] 93.8 [%] 10.6
Gemeente Molenlanden Totaal 66.0 [%] 60.0 [%] 87.2 [%] 27.8
Gemeente Montferland 50 88.0 [%] 80.8 [%] 92.9 [%] 25.1
Gemeente Montferland 60 94.3 [%] 92.4 [%] 99.7 [%] 231.5
Gemeente Montferland Totaal 92.8 [%] 91.2 [%] 99.0 [%] 256.6
Gemeente Montfoort 50 76.2 [%] 63.9 [%] 88.9 [%] 12.0
Gemeente Montfoort 60 91.7 [%] 91.4 [%] 99.8 [%] 23.3
Gemeente Montfoort Totaal 81.0 [%] 82.1 [%] 96.1 [%] 35.3
Gemeente Mook en Middelaar 50 91.8 [%] 89.4 [%] 98.5 [%] 10.4
Gemeente Mook en Middelaar 60 94.0 [%] 90.0 [%] 99.8 [%] 25.8
Gemeente Mook en Middelaar Totaal 93.2 [%] 89.8 [%] 99.4 [%] 36.2
Gemeente Neder-Betuwe 50 68.0 [%] 63.4 [%] 83.6 [%] 22.4
Gemeente Neder-Betuwe 60 93.1 [%] 88.2 [%] 99.2 [%] 128.8
Gemeente Neder-Betuwe Totaal 84.9 [%] 84.5 [%] 96.9 [%] 151.2
Gemeente Nederweert 50 65.4 [%] 61.1 [%] 88.6 [%] 13.3
Gemeente Nederweert 60 97.1 [%] 97.0 [%] 99.8 [%] 86.4
Gemeente Nederweert Totaal 87.7 [%] 92.2 [%] 98.3 [%] 99.7
Gemeente Nieuwegein 50 91.7 [%] 86.4 [%] 96.2 [%] 68.6
Gemeente Nieuwegein 60 92.0 [%] 92.7 [%] 99.3 [%] 13.9
Gemeente Nieuwegein Totaal 91.7 [%] 87.5 [%] 96.7 [%] 82.5
Gemeente Nieuwkoop 50 60.3 [%] 43.6 [%] 78.5 [%] 27.5
Gemeente Nieuwkoop 60 90.7 [%] 86.6 [%] 98.9 [%] 80.8
Gemeente Nieuwkoop Totaal 76.8 [%] 75.7 [%] 93.7 [%] 108.2
Gemeente Nijkerk 50 89.7 [%] 78.8 [%] 94.1 [%] 50.9
Gemeente Nijkerk 60 96.3 [%] 95.3 [%] 99.6 [%] 118.4
Gemeente Nijkerk Totaal 92.1 [%] 90.3 [%] 98.0 [%] 169.4
Gemeente Nijmegen 50 79.2 [%] 72.0 [%] 84.4 [%] 200.8
Gemeente Nijmegen 60 95.3 [%] 93.7 [%] 98.8 [%] 14.4
Gemeente Nijmegen Totaal 79.9 [%] 73.5 [%] 85.4 [%] 215.2
Gemeente Nissewaard 50 83.3 [%] 75.1 [%] 89.5 [%] 72.5
Gemeente Nissewaard 60 72.2 [%] 71.5 [%] 86.3 [%] 13.9
Gemeente Nissewaard Totaal 82.2 [%] 74.5 [%] 89.0 [%] 86.4
Gemeente Noardeast-Fryslân 50 80.7 [%] 70.6 [%] 93.1 [%] 37.6
Gemeente Noardeast-Fryslân 60 86.8 [%] 82.3 [%] 98.5 [%] 239.2
Gemeente Noardeast-Fryslân Totaal 84.4 [%] 80.7 [%] 97.7 [%] 276.7
Gemeente Noord-Beveland 50 63.6 [%] 63.8 [%] 81.4 [%] 2.5
Gemeente Noord-Beveland 60 83.7 [%] 85.7 [%] 96.7 [%] 30.6
Gemeente Noord-Beveland Totaal 80.9 [%] 84.0 [%] 95.5 [%] 33.1
Gemeente Noordenveld 50 86.1 [%] 80.7 [%] 95.5 [%] 40.0
Gemeente Noordenveld 60 95.4 [%] 94.5 [%] 99.7 [%] 257.1
Gemeente Noordenveld Totaal 92.3 [%] 92.6 [%] 99.1 [%] 297.1
Gemeente Noordoostpolder 50 74.6 [%] 70.2 [%] 89.2 [%] 46.6
Gemeente Noordoostpolder 60 75.1 [%] 51.9 [%] 98.5 [%] 236.7
Gemeente Noordoostpolder Totaal 74.8 [%] 54.9 [%] 97.0 [%] 283.3
Gemeente Noordwijk 50 75.5 [%] 64.1 [%] 83.5 [%] 27.5
Gemeente Noordwijk 60 76.9 [%] 50.0 [%] 94.0 [%] 70.2
Gemeente Noordwijk Totaal 76.1 [%] 54.0 [%] 91.0 [%] 97.7
Gemeente Nuenen, Gerwen en Nederwetten 50 86.7 [%] 82.6 [%] 92.5 [%] 16.1
Gemeente Nuenen, Gerwen en Nederwetten 60 97.6 [%] 97.3 [%] 99.7 [%] 79.6
Gemeente Nuenen, Gerwen en Nederwetten Totaal 92.8 [%] 94.8 [%] 98.5 [%] 95.7
Gemeente Nunspeet 50 94.9 [%] 86.5 [%] 96.2 [%] 17.9
Gemeente Nunspeet 60 93.9 [%] 90.5 [%] 99.3 [%] 130.5
Gemeente Nunspeet Totaal 94.3 [%] 90.0 [%] 98.9 [%] 148.4
Gemeente Oegstgeest 50 78.7 [%] 60.2 [%] 78.7 [%] 13.1
Gemeente Oegstgeest 60 70.6 [%] 43.0 [%] 78.2 [%] 2.4
Gemeente Oegstgeest Totaal 78.1 [%] 57.5 [%] 78.6 [%] 15.5
Gemeente Oirschot 50 86.5 [%] 80.3 [%] 94.5 [%] 11.7
Gemeente Oirschot 60 94.2 [%] 93.4 [%] 99.6 [%] 194.5
Gemeente Oirschot Totaal 92.4 [%] 92.6 [%] 99.3 [%] 206.2
Gemeente Oisterwijk 50 87.9 [%] 78.6 [%] 94.2 [%] 27.4
Gemeente Oisterwijk 60 93.6 [%] 91.7 [%] 99.4 [%] 184.7
Gemeente Oisterwijk Totaal 91.7 [%] 90.0 [%] 98.7 [%] 212.1
Gemeente Oldambt 50 82.6 [%] 75.4 [%] 95.9 [%] 83.3
Gemeente Oldambt 60 83.6 [%] 83.9 [%] 98.4 [%] 178.6
Gemeente Oldambt Totaal 83.0 [%] 81.2 [%] 97.6 [%] 261.9
Gemeente Oldebroek 50 75.8 [%] 48.9 [%] 83.3 [%] 15.7
Gemeente Oldebroek 60 95.4 [%] 95.9 [%] 99.5 [%] 128.1
Gemeente Oldebroek Totaal 89.5 [%] 90.8 [%] 97.8 [%] 143.7
Gemeente Oldenzaal 50 88.7 [%] 85.2 [%] 95.5 [%] 53.6
Gemeente Oldenzaal 60 95.8 [%] 94.2 [%] 99.1 [%] 28.3
Gemeente Oldenzaal Totaal 90.1 [%] 88.3 [%] 96.8 [%] 81.9
Gemeente Olst-Wijhe 50 88.7 [%] 82.8 [%] 94.4 [%] 15.6
Gemeente Olst-Wijhe 60 96.2 [%] 95.1 [%] 99.7 [%] 226.6
Gemeente Olst-Wijhe Totaal 94.7 [%] 94.3 [%] 99.4 [%] 242.2
Gemeente Ommen 50 87.9 [%] 74.1 [%] 94.5 [%] 19.1
Gemeente Ommen 60 95.6 [%] 93.8 [%] 99.6 [%] 410.7
Gemeente Ommen Totaal 94.6 [%] 92.9 [%] 99.4 [%] 429.8
Gemeente Oost Gelre 50 81.5 [%] 65.1 [%] 91.1 [%] 30.4
Gemeente Oost Gelre 60 97.2 [%] 96.5 [%] 99.7 [%] 307.7
Gemeente Oost Gelre Totaal 93.3 [%] 93.7 [%] 98.9 [%] 338.0
Gemeente Oosterhout 50 84.5 [%] 75.9 [%] 91.2 [%] 79.6
Gemeente Oosterhout 60 96.3 [%] 96.0 [%] 99.7 [%] 68.3
Gemeente Oosterhout Totaal 87.0 [%] 85.2 [%] 95.2 [%] 147.8
Gemeente Ooststellingwerf 50 79.3 [%] 67.1 [%] 92.0 [%] 12.5
Gemeente Ooststellingwerf 60 95.1 [%] 93.2 [%] 99.7 [%] 266.8
Gemeente Ooststellingwerf Totaal 92.8 [%] 92.0 [%] 99.4 [%] 279.3
Gemeente Oostzaan 50 64.3 [%] 54.5 [%] 86.3 [%] 5.8
Gemeente Oostzaan 60 92.2 [%] 94.2 [%] 97.5 [%] 7.1
Gemeente Oostzaan Totaal 82.3 [%] 76.3 [%] 92.5 [%] 12.9
Gemeente Opmeer 50 78.0 [%] 73.8 [%] 95.6 [%] 20.1
Gemeente Opmeer 60 96.6 [%] 85.2 [%] 99.6 [%] 41.1
Gemeente Opmeer Totaal 88.5 [%] 81.4 [%] 98.3 [%] 61.2
Gemeente Opsterland 50 96.6 [%] 92.9 [%] 99.9 [%] 10.4
Gemeente Opsterland 60 89.8 [%] 82.7 [%] 98.9 [%] 284.0
Gemeente Opsterland Totaal 90.4 [%] 83.0 [%] 98.9 [%] 294.4
Gemeente Oss 50 85.8 [%] 76.1 [%] 91.1 [%] 99.6
Gemeente Oss 60 97.4 [%] 96.0 [%] 99.7 [%] 351.0
Gemeente Oss Totaal 91.7 [%] 91.6 [%] 97.8 [%] 450.6
Gemeente Oude IJsselstreek 50 69.1 [%] 58.3 [%] 80.1 [%] 29.0
Gemeente Oude IJsselstreek 60 95.0 [%] 93.3 [%] 99.6 [%] 288.6
Gemeente Oude IJsselstreek Totaal 88.1 [%] 90.1 [%] 97.8 [%] 317.7
Gemeente Ouder-Amstel 50 83.2 [%] 75.1 [%] 83.4 [%] 25.7
Gemeente Ouder-Amstel 60 94.7 [%] 91.2 [%] 99.9 [%] 31.4
Gemeente Ouder-Amstel Totaal 85.4 [%] 83.9 [%] 92.4 [%] 57.1
Gemeente Oudewater 50 98.8 [%] 98.3 [%] 99.5 [%] 5.1
Gemeente Oudewater 60 91.8 [%] 75.6 [%] 99.0 [%] 34.8
Gemeente Oudewater Totaal 95.8 [%] 78.5 [%] 99.1 [%] 39.9
Gemeente Overbetuwe 50 86.3 [%] 79.7 [%] 92.9 [%] 41.6
Gemeente Overbetuwe 60 92.7 [%] 91.7 [%] 99.5 [%] 179.5
Gemeente Overbetuwe Totaal 89.7 [%] 89.4 [%] 98.2 [%] 221.1
Gemeente Papendrecht 50 86.8 [%] 76.6 [%] 92.0 [%] 28.7
Gemeente Papendrecht 60 50.0 [%] 3.8 [%] 80.3 [%] 0.2
Gemeente Papendrecht Totaal 86.7 [%] 76.2 [%] 92.0 [%] 28.9
Gemeente Peel en Maas 50 80.5 [%] 67.9 [%] 91.3 [%] 31.1
Gemeente Peel en Maas 60 96.5 [%] 95.3 [%] 99.6 [%] 421.3
Gemeente Peel en Maas Totaal 93.7 [%] 93.4 [%] 99.1 [%] 452.5
Gemeente Pekela 50 67.0 [%] 63.0 [%] 84.5 [%] 29.0
Gemeente Pekela 60 91.7 [%] 90.9 [%] 96.8 [%] 45.4
Gemeente Pekela Totaal 74.8 [%] 80.0 [%] 92.0 [%] 74.4
Gemeente Pijnacker-Nootdorp 50 94.9 [%] 89.0 [%] 96.5 [%] 27.1
Gemeente Pijnacker-Nootdorp 60 89.7 [%] 84.4 [%] 98.4 [%] 44.7
Gemeente Pijnacker-Nootdorp Totaal 93.0 [%] 86.1 [%] 97.7 [%] 71.8
Gemeente Purmerend 50 75.1 [%] 67.1 [%] 83.3 [%] 76.3
Gemeente Purmerend 60 78.0 [%] 84.3 [%] 96.4 [%] 5.6
Gemeente Purmerend Totaal 75.2 [%] 68.3 [%] 84.2 [%] 81.9
Gemeente Putten 50 87.4 [%] 80.5 [%] 94.8 [%] 17.5
Gemeente Putten 60 96.8 [%] 95.6 [%] 99.7 [%] 214.3
Gemeente Putten Totaal 94.4 [%] 94.5 [%] 99.3 [%] 231.8
Gemeente Raalte 50 84.0 [%] 72.2 [%] 90.0 [%] 23.0
Gemeente Raalte 60 97.5 [%] 96.3 [%] 99.7 [%] 416.9
Gemeente Raalte Totaal 95.8 [%] 95.1 [%] 99.2 [%] 439.9
Gemeente Reimerswaal 50 72.6 [%] 58.6 [%] 91.3 [%] 10.8
Gemeente Reimerswaal 60 85.3 [%] 83.1 [%] 95.1 [%] 17.1
Gemeente Reimerswaal Totaal 79.8 [%] 73.6 [%] 93.6 [%] 27.9
Gemeente Renkum 50 71.8 [%] 62.3 [%] 87.3 [%] 27.7
Gemeente Renkum 60 89.6 [%] 83.3 [%] 98.5 [%] 41.9
Gemeente Renkum Totaal 77.5 [%] 74.9 [%] 94.0 [%] 69.6
Gemeente Renswoude 50 62.5 [%] 51.4 [%] 68.3 [%] 3.9
Gemeente Renswoude 60 100.0 [%] 100.0 [%] 100.0 [%] 27.6
Gemeente Renswoude Totaal 86.8 [%] 94.0 [%] 96.1 [%] 31.5
Gemeente Reusel-De Mierden 50 75.9 [%] 55.3 [%] 93.1 [%] 8.3
Gemeente Reusel-De Mierden 60 89.1 [%] 89.2 [%] 99.0 [%] 160.1
Gemeente Reusel-De Mierden Totaal 87.1 [%] 87.6 [%] 98.7 [%] 168.4
Gemeente Rheden 50 65.8 [%] 59.1 [%] 81.9 [%] 41.2
Gemeente Rheden 60 92.9 [%] 91.1 [%] 98.5 [%] 65.2
Gemeente Rheden Totaal 74.8 [%] 78.7 [%] 92.1 [%] 106.5
Gemeente Rhenen 50 83.1 [%] 67.3 [%] 92.0 [%] 9.0
Gemeente Rhenen 60 95.0 [%] 93.9 [%] 99.5 [%] 51.1
Gemeente Rhenen Totaal 91.4 [%] 89.9 [%] 98.4 [%] 60.1
Gemeente Ridderkerk 50 71.9 [%] 55.9 [%] 78.1 [%] 49.3
Gemeente Ridderkerk 60 82.9 [%] 55.1 [%] 92.4 [%] 4.1
Gemeente Ridderkerk Totaal 72.6 [%] 55.9 [%] 79.2 [%] 53.4
Gemeente Rijssen-Holten 50 75.8 [%] 54.1 [%] 67.7 [%] 51.7
Gemeente Rijssen-Holten 60 97.7 [%] 97.6 [%] 99.7 [%] 271.2
Gemeente Rijssen-Holten Totaal 88.9 [%] 90.6 [%] 94.6 [%] 322.9
Gemeente Rijswijk 50 71.8 [%] 57.6 [%] 77.0 [%] 75.3
Gemeente Rijswijk 60 100.0 [%] 100.0 [%] 100.0 [%] 0.5
Gemeente Rijswijk Totaal 71.9 [%] 57.8 [%] 77.2 [%] 75.8
Gemeente Roerdalen 50 72.1 [%] 38.2 [%] 71.3 [%] 3.8
Gemeente Roerdalen 60 94.5 [%] 92.4 [%] 99.5 [%] 256.8
Gemeente Roerdalen Totaal 93.5 [%] 91.6 [%] 99.1 [%] 260.6
Gemeente Roermond 50 84.7 [%] 69.4 [%] 91.0 [%] 65.4
Gemeente Roermond 60 91.5 [%] 81.8 [%] 98.4 [%] 104.4
Gemeente Roermond Totaal 87.0 [%] 77.0 [%] 95.6 [%] 169.8
Gemeente Roosendaal 50 73.9 [%] 68.2 [%] 85.9 [%] 125.3
Gemeente Roosendaal 60 93.2 [%] 90.5 [%] 98.9 [%] 186.3
Gemeente Roosendaal Totaal 79.4 [%] 81.5 [%] 93.7 [%] 311.6
Gemeente Rotterdam 50 72.1 [%] 58.1 [%] 77.9 [%] 557.1
Gemeente Rotterdam 60 89.1 [%] 83.2 [%] 96.9 [%] 59.6
Gemeente Rotterdam Totaal 72.8 [%] 60.5 [%] 79.8 [%] 616.7
Gemeente Rozendaal 50 100.0 [%] 100.0 [%] 100.0 [%] 0.3
Gemeente Rozendaal 60 77.8 [%] 90.2 [%] 98.9 [%] 21.1
Gemeente Rozendaal Totaal 81.4 [%] 90.3 [%] 98.9 [%] 21.5
Gemeente Rucphen 50 69.3 [%] 54.0 [%] 88.3 [%] 16.2
Gemeente Rucphen 60 96.4 [%] 95.8 [%] 99.8 [%] 177.8
Gemeente Rucphen Totaal 89.5 [%] 92.3 [%] 98.8 [%] 194.1
Gemeente Schagen 50 65.8 [%] 52.9 [%] 84.9 [%] 57.4
Gemeente Schagen 60 91.4 [%] 83.2 [%] 99.4 [%] 242.6
Gemeente Schagen Totaal 79.2 [%] 77.4 [%] 96.6 [%] 300.0
Gemeente Scherpenzeel 50 88.4 [%] 48.9 [%] 91.3 [%] 3.6
Gemeente Scherpenzeel 60 93.8 [%] 98.3 [%] 99.7 [%] 23.0
Gemeente Scherpenzeel Totaal 91.7 [%] 91.7 [%] 98.6 [%] 26.5
Gemeente Schiedam 50 76.1 [%] 61.6 [%] 80.2 [%] 72.6
Gemeente Schiedam 60 100.0 [%] 100.0 [%] 100.0 [%] 3.4
Gemeente Schiedam Totaal 76.5 [%] 63.3 [%] 81.1 [%] 76.1
Gemeente Schiermonnikoog 60 89.2 [%] 90.5 [%] 98.5 [%] 9.2
Gemeente Schiermonnikoog Totaal 89.2 [%] 90.5 [%] 98.5 [%] 9.2
Gemeente Schouwen-Duiveland 50 87.1 [%] 82.3 [%] 95.6 [%] 48.9
Gemeente Schouwen-Duiveland 60 88.3 [%] 88.8 [%] 97.6 [%] 44.9
Gemeente Schouwen-Duiveland Totaal 87.4 [%] 85.4 [%] 96.6 [%] 93.8
Gemeente Simpelveld 50 72.6 [%] 65.4 [%] 88.2 [%] 9.8
Gemeente Simpelveld 60 93.3 [%] 97.6 [%] 98.3 [%] 7.5
Gemeente Simpelveld Totaal 76.9 [%] 79.4 [%] 92.6 [%] 17.3
Gemeente Sint-Michielsgestel 50 80.1 [%] 70.6 [%] 90.2 [%] 19.0
Gemeente Sint-Michielsgestel 60 97.0 [%] 96.4 [%] 99.7 [%] 159.2
Gemeente Sint-Michielsgestel Totaal 92.5 [%] 93.6 [%] 98.7 [%] 178.2
Gemeente Sittard-Geleen 50 85.7 [%] 77.1 [%] 91.7 [%] 97.1
Gemeente Sittard-Geleen 60 95.9 [%] 92.1 [%] 99.6 [%] 54.5
Gemeente Sittard-Geleen Totaal 87.4 [%] 82.5 [%] 94.5 [%] 151.6
Gemeente Sliedrecht 50 83.1 [%] 72.0 [%] 82.8 [%] 15.8
Gemeente Sliedrecht 60 100.0 [%] 100.0 [%] 100.0 [%] 0.4
Gemeente Sliedrecht Totaal 83.5 [%] 72.6 [%] 83.2 [%] 16.2
Gemeente Sluis 50 84.8 [%] 74.3 [%] 90.3 [%] 21.1
Gemeente Sluis 60 93.2 [%] 86.3 [%] 98.0 [%] 26.6
Gemeente Sluis Totaal 89.0 [%] 81.0 [%] 94.6 [%] 47.7
Gemeente Smallingerland 50 79.1 [%] 69.3 [%] 89.5 [%] 64.2
Gemeente Smallingerland 60 92.9 [%] 91.7 [%] 99.6 [%] 170.3
Gemeente Smallingerland Totaal 85.4 [%] 85.5 [%] 96.8 [%] 234.5
Gemeente Soest 50 79.2 [%] 66.3 [%] 80.4 [%] 25.6
Gemeente Soest 60 85.7 [%] 83.3 [%] 97.6 [%] 18.8
Gemeente Soest Totaal 80.2 [%] 73.5 [%] 87.7 [%] 44.4
Gemeente Someren 50 57.0 [%] 43.3 [%] 69.8 [%] 20.7
Gemeente Someren 60 98.1 [%] 97.7 [%] 99.7 [%] 147.7
Gemeente Someren Totaal 84.7 [%] 91.0 [%] 96.0 [%] 168.4
Gemeente Son en Breugel 50 84.4 [%] 66.0 [%] 92.7 [%] 26.0
Gemeente Son en Breugel 60 91.0 [%] 93.5 [%] 99.3 [%] 22.3
Gemeente Son en Breugel Totaal 86.1 [%] 78.7 [%] 95.7 [%] 48.3
Gemeente Stadskanaal 50 79.0 [%] 58.9 [%] 81.6 [%] 46.7
Gemeente Stadskanaal 60 96.2 [%] 98.2 [%] 99.9 [%] 5.2
Gemeente Stadskanaal Totaal 80.2 [%] 62.9 [%] 83.4 [%] 51.9
Gemeente Staphorst 50 91.3 [%] 87.3 [%] 98.2 [%] 39.5
Gemeente Staphorst 60 96.7 [%] 95.9 [%] 99.6 [%] 310.4
Gemeente Staphorst Totaal 95.5 [%] 94.9 [%] 99.5 [%] 349.9
Gemeente Stede Broec 50 96.0 [%] 88.1 [%] 97.4 [%] 5.9
Gemeente Stede Broec 60 93.4 [%] 97.1 [%] 98.3 [%] 16.9
Gemeente Stede Broec Totaal 95.0 [%] 94.8 [%] 98.1 [%] 22.9
Gemeente Steenbergen 50 73.8 [%] 54.7 [%] 88.7 [%] 10.7
Gemeente Steenbergen 60 91.9 [%] 88.1 [%] 99.2 [%] 260.4
Gemeente Steenbergen Totaal 89.1 [%] 86.8 [%] 98.8 [%] 271.1
Gemeente Steenwijkerland 50 81.8 [%] 65.7 [%] 94.6 [%] 38.9
Gemeente Steenwijkerland 60 91.7 [%] 87.4 [%] 99.3 [%] 374.4
Gemeente Steenwijkerland Totaal 89.1 [%] 85.3 [%] 98.8 [%] 413.3
Gemeente Stein 50 79.0 [%] 72.7 [%] 88.9 [%] 14.3
Gemeente Stein 60 94.4 [%] 94.9 [%] 98.8 [%] 39.3
Gemeente Stein Totaal 86.3 [%] 89.0 [%] 96.2 [%] 53.6
Gemeente Stichtse Vecht 50 86.6 [%] 73.7 [%] 92.0 [%] 53.8
Gemeente Stichtse Vecht 60 89.9 [%] 86.8 [%] 98.9 [%] 115.5
Gemeente Stichtse Vecht Totaal 87.9 [%] 82.6 [%] 96.7 [%] 169.2
Gemeente Súdwest-Fryslân 50 79.2 [%] 70.8 [%] 93.9 [%] 76.6
Gemeente Súdwest-Fryslân 60 90.3 [%] 85.4 [%] 99.1 [%] 607.1
Gemeente Súdwest-Fryslân Totaal 86.9 [%] 83.8 [%] 98.5 [%] 683.8
Gemeente Terneuzen 50 71.9 [%] 58.2 [%] 83.0 [%] 78.2
Gemeente Terneuzen 60 92.9 [%] 89.4 [%] 97.8 [%] 41.9
Gemeente Terneuzen Totaal 76.0 [%] 69.1 [%] 88.1 [%] 120.1
Gemeente Terschelling 50 77.2 [%] 63.4 [%] 93.9 [%] 9.0
Gemeente Terschelling 60 89.7 [%] 93.8 [%] 98.8 [%] 26.5
Gemeente Terschelling Totaal 83.4 [%] 86.0 [%] 97.6 [%] 35.5
Gemeente Texel 50 67.6 [%] 61.1 [%] 86.2 [%] 13.2
Gemeente Texel 60 88.9 [%] 86.9 [%] 98.8 [%] 212.6
Gemeente Texel Totaal 84.3 [%] 85.4 [%] 98.0 [%] 225.8
Gemeente Teylingen 50 86.7 [%] 72.3 [%] 92.7 [%] 12.4
Gemeente Teylingen 60 88.7 [%] 87.1 [%] 94.4 [%] 36.9
Gemeente Teylingen Totaal 87.9 [%] 83.4 [%] 94.0 [%] 49.3
Gemeente Tholen 50 84.8 [%] 83.7 [%] 94.4 [%] 23.1
Gemeente Tholen 60 87.8 [%] 84.8 [%] 96.5 [%] 14.8
Gemeente Tholen Totaal 85.8 [%] 84.1 [%] 95.3 [%] 37.9
Gemeente Tiel 50 88.4 [%] 79.6 [%] 92.4 [%] 36.6
Gemeente Tiel 60 93.1 [%] 86.4 [%] 99.1 [%] 44.6
Gemeente Tiel Totaal 89.8 [%] 83.3 [%] 96.1 [%] 81.1
Gemeente Tilburg 50 78.9 [%] 71.3 [%] 88.5 [%] 213.7
Gemeente Tilburg 60 95.5 [%] 93.8 [%] 99.4 [%] 190.0
Gemeente Tilburg Totaal 83.6 [%] 81.9 [%] 93.6 [%] 403.8
Gemeente Tubbergen 50 79.5 [%] 71.7 [%] 88.3 [%] 12.8
Gemeente Tubbergen 60 94.7 [%] 92.2 [%] 99.5 [%] 375.6
Gemeente Tubbergen Totaal 93.1 [%] 91.5 [%] 99.1 [%] 388.4
Gemeente Twenterand 50 69.3 [%] 54.4 [%] 81.8 [%] 57.2
Gemeente Twenterand 60 97.4 [%] 96.8 [%] 99.9 [%] 198.3
Gemeente Twenterand Totaal 84.3 [%] 87.3 [%] 95.8 [%] 255.6
Gemeente Tynaarlo 50 84.5 [%] 74.1 [%] 91.3 [%] 23.4
Gemeente Tynaarlo 60 93.8 [%] 93.1 [%] 99.6 [%] 210.7
Gemeente Tynaarlo Totaal 90.4 [%] 91.2 [%] 98.8 [%] 234.1
Gemeente Tytsjerksteradiel 50 80.3 [%] 73.4 [%] 94.7 [%] 28.5
Gemeente Tytsjerksteradiel 60 94.9 [%] 92.7 [%] 99.5 [%] 191.0
Gemeente Tytsjerksteradiel Totaal 90.2 [%] 90.2 [%] 98.9 [%] 219.5
Gemeente Uitgeest 50 79.7 [%] 68.2 [%] 89.9 [%] 7.4
Gemeente Uitgeest 60 75.4 [%] 92.8 [%] 98.0 [%] 18.3
Gemeente Uitgeest Totaal 77.3 [%] 85.7 [%] 95.7 [%] 25.6
Gemeente Uithoorn 50 87.7 [%] 79.1 [%] 95.1 [%] 28.0
Gemeente Uithoorn 60 94.2 [%] 87.0 [%] 98.5 [%] 17.5
Gemeente Uithoorn Totaal 88.7 [%] 82.2 [%] 96.4 [%] 45.5
Gemeente Urk 50 74.3 [%] 56.9 [%] 87.5 [%] 21.2
Gemeente Urk 60 96.2 [%] 92.7 [%] 97.0 [%] 8.6
Gemeente Urk Totaal 81.7 [%] 67.2 [%] 90.3 [%] 29.8
Gemeente Utrecht 50 79.3 [%] 68.6 [%] 85.2 [%] 323.1
Gemeente Utrecht 60 94.8 [%] 98.5 [%] 98.9 [%] 35.7
Gemeente Utrecht Totaal 79.9 [%] 71.6 [%] 86.5 [%] 358.8
Gemeente Utrechtse Heuvelrug 50 65.4 [%] 61.8 [%] 80.2 [%] 47.5
Gemeente Utrechtse Heuvelrug 60 89.8 [%] 91.4 [%] 98.5 [%] 169.2
Gemeente Utrechtse Heuvelrug Totaal 76.7 [%] 84.9 [%] 94.5 [%] 216.7
Gemeente Vaals 50 85.7 [%] 59.1 [%] 86.3 [%] 1.1
Gemeente Vaals 60 85.3 [%] 80.1 [%] 98.8 [%] 67.9
Gemeente Vaals Totaal 85.3 [%] 79.8 [%] 98.6 [%] 69.0
Gemeente Valkenburg aan de Geul 50 65.5 [%] 49.4 [%] 80.5 [%] 24.1
Gemeente Valkenburg aan de Geul 60 92.9 [%] 90.6 [%] 99.6 [%] 34.0
Gemeente Valkenburg aan de Geul Totaal 75.9 [%] 73.5 [%] 91.7 [%] 58.2
Gemeente Valkenswaard 50 91.5 [%] 85.5 [%] 94.4 [%] 29.5
Gemeente Valkenswaard 60 97.5 [%] 94.2 [%] 99.7 [%] 53.5
Gemeente Valkenswaard Totaal 93.3 [%] 91.1 [%] 97.8 [%] 82.9
Gemeente Veendam 50 76.3 [%] 70.6 [%] 89.8 [%] 75.0
Gemeente Veendam 60 87.2 [%] 84.4 [%] 98.6 [%] 53.2
Gemeente Veendam Totaal 78.3 [%] 76.3 [%] 93.5 [%] 128.3
Gemeente Veenendaal 50 84.5 [%] 76.9 [%] 92.6 [%] 59.4
Gemeente Veenendaal 60 95.2 [%] 93.4 [%] 99.8 [%] 4.3
Gemeente Veenendaal Totaal 84.8 [%] 78.0 [%] 93.1 [%] 63.7
Gemeente Veere 50 82.7 [%] 68.6 [%] 90.9 [%] 13.0
Gemeente Veere 60 84.3 [%] 88.8 [%] 93.6 [%] 11.4
Gemeente Veere Totaal 83.3 [%] 78.1 [%] 92.2 [%] 24.4
Gemeente Veldhoven 50 86.9 [%] 79.4 [%] 91.5 [%] 52.3
Gemeente Veldhoven 60 96.0 [%] 97.1 [%] 99.3 [%] 21.0
Gemeente Veldhoven Totaal 87.8 [%] 84.5 [%] 93.7 [%] 73.3
Gemeente Velsen 50 72.9 [%] 63.7 [%] 81.5 [%] 95.9
Gemeente Velsen 60 84.1 [%] 92.9 [%] 96.9 [%] 23.2
Gemeente Velsen Totaal 74.2 [%] 69.4 [%] 84.5 [%] 119.0
Gemeente Venlo 50 79.2 [%] 71.9 [%] 88.7 [%] 177.2
Gemeente Venlo 60 96.5 [%] 94.6 [%] 99.6 [%] 282.6
Gemeente Venlo Totaal 86.1 [%] 85.8 [%] 95.4 [%] 459.8
Gemeente Venray 50 86.7 [%] 79.2 [%] 92.9 [%] 55.2
Gemeente Venray 60 96.4 [%] 94.2 [%] 99.7 [%] 283.9
Gemeente Venray Totaal 91.6 [%] 91.7 [%] 98.6 [%] 339.1
Gemeente Vijfheerenlanden 50 82.0 [%] 69.5 [%] 91.0 [%] 54.4
Gemeente Vijfheerenlanden 60 88.8 [%] 71.9 [%] 95.0 [%] 9.8
Gemeente Vijfheerenlanden Totaal 82.8 [%] 69.9 [%] 91.6 [%] 64.1
Gemeente Vlaardingen 50 78.1 [%] 65.1 [%] 82.8 [%] 58.4
Gemeente Vlaardingen 60 59.6 [%] 81.5 [%] 88.0 [%] 5.3
Gemeente Vlaardingen Totaal 77.0 [%] 66.5 [%] 83.2 [%] 63.7
Gemeente Vlieland 50 100.0 [%] 100.0 [%] 100.0 [%] 0.1
Gemeente Vlieland 60 91.9 [%] 95.2 [%] 99.4 [%] 18.5
Gemeente Vlieland Totaal 92.2 [%] 95.3 [%] 99.4 [%] 18.6
Gemeente Vlissingen 50 71.9 [%] 58.0 [%] 78.1 [%] 29.6
Gemeente Vlissingen 60 82.6 [%] 92.8 [%] 96.9 [%] 13.9
Gemeente Vlissingen Totaal 73.4 [%] 69.2 [%] 84.2 [%] 43.5
Gemeente Voerendaal 50 60.4 [%] 40.9 [%] 73.5 [%] 8.5
Gemeente Voerendaal 60 90.2 [%] 83.7 [%] 98.9 [%] 69.2
Gemeente Voerendaal Totaal 81.6 [%] 79.0 [%] 96.1 [%] 77.8
Gemeente Voorne aan Zee 50 73.9 [%] 67.0 [%] 86.5 [%] 56.9
Gemeente Voorne aan Zee 60 75.3 [%] 85.8 [%] 95.6 [%] 24.1
Gemeente Voorne aan Zee Totaal 74.2 [%] 72.6 [%] 89.2 [%] 81.0
Gemeente Voorschoten 50 66.5 [%] 51.7 [%] 75.8 [%] 22.6
Gemeente Voorschoten 60 100.0 [%] 100.0 [%] 100.0 [%] 1.1
Gemeente Voorschoten Totaal 66.7 [%] 54.0 [%] 77.0 [%] 23.8
Gemeente Voorst 50 77.7 [%] 72.4 [%] 90.9 [%] 19.5
Gemeente Voorst 60 97.9 [%] 97.0 [%] 99.8 [%] 221.7
Gemeente Voorst Totaal 92.3 [%] 95.0 [%] 99.1 [%] 241.2
Gemeente Vught 50 83.9 [%] 78.0 [%] 87.3 [%] 16.5
Gemeente Vught 60 94.7 [%] 94.9 [%] 99.3 [%] 95.4
Gemeente Vught Totaal 90.5 [%] 92.4 [%] 97.6 [%] 112.0
Gemeente Waadhoeke 50 70.8 [%] 59.8 [%] 89.4 [%] 42.3
Gemeente Waadhoeke 60 91.6 [%] 84.3 [%] 98.8 [%] 328.5
Gemeente Waadhoeke Totaal 85.3 [%] 81.5 [%] 97.7 [%] 370.8
Gemeente Waalre 50 88.6 [%] 81.8 [%] 95.0 [%] 11.6
Gemeente Waalre 60 98.3 [%] 98.2 [%] 99.9 [%] 31.6
Gemeente Waalre Totaal 92.6 [%] 93.8 [%] 98.5 [%] 43.2
Gemeente Waalwijk 50 80.4 [%] 68.7 [%] 90.3 [%] 79.1
Gemeente Waalwijk 60 92.8 [%] 90.6 [%] 99.2 [%] 99.3
Gemeente Waalwijk Totaal 83.6 [%] 80.9 [%] 95.3 [%] 178.4
Gemeente Waddinxveen 50 81.1 [%] 73.4 [%] 90.3 [%] 24.1
Gemeente Waddinxveen 60 92.1 [%] 72.6 [%] 98.3 [%] 20.5
Gemeente Waddinxveen Totaal 83.9 [%] 73.1 [%] 94.0 [%] 44.6
Gemeente Wageningen 50 83.1 [%] 79.9 [%] 89.9 [%] 44.2
Gemeente Wageningen 60 96.3 [%] 95.8 [%] 99.8 [%] 32.7
Gemeente Wageningen Totaal 85.3 [%] 86.6 [%] 94.1 [%] 76.9
Gemeente Wassenaar 50 64.7 [%] 52.7 [%] 68.7 [%] 26.9
Gemeente Wassenaar 60 78.9 [%] 87.2 [%] 94.1 [%] 10.6
Gemeente Wassenaar Totaal 66.1 [%] 62.5 [%] 75.9 [%] 37.5
Gemeente Waterland 50 63.2 [%] 40.1 [%] 79.0 [%] 5.8
Gemeente Waterland 60 91.7 [%] 72.3 [%] 79.1 [%] 2.1
Gemeente Waterland Totaal 74.2 [%] 48.5 [%] 79.0 [%] 7.9
Gemeente Weert 50 79.5 [%] 75.2 [%] 91.1 [%] 62.5
Gemeente Weert 60 95.4 [%] 93.7 [%] 99.6 [%] 278.7
Gemeente Weert Totaal 88.8 [%] 90.3 [%] 98.1 [%] 341.2
Gemeente West Betuwe 50 76.8 [%] 64.4 [%] 90.9 [%] 45.4
Gemeente West Betuwe 60 88.7 [%] 84.1 [%] 98.8 [%] 363.0
Gemeente West Betuwe Totaal 85.4 [%] 81.9 [%] 97.9 [%] 408.4
Gemeente West Maas en Waal 50 90.9 [%] 85.0 [%] 96.9 [%] 6.9
Gemeente West Maas en Waal 60 96.0 [%] 94.9 [%] 99.7 [%] 145.3
Gemeente West Maas en Waal Totaal 95.3 [%] 94.5 [%] 99.6 [%] 152.3
Gemeente Westerkwartier 50 84.7 [%] 77.0 [%] 93.6 [%] 40.6
Gemeente Westerkwartier 60 93.1 [%] 90.4 [%] 99.3 [%] 407.2
Gemeente Westerkwartier Totaal 91.0 [%] 89.2 [%] 98.8 [%] 447.7
Gemeente Westerveld 50 87.0 [%] 66.0 [%] 97.8 [%] 3.8
Gemeente Westerveld 60 91.7 [%] 91.9 [%] 99.3 [%] 452.6
Gemeente Westerveld Totaal 91.5 [%] 91.7 [%] 99.3 [%] 456.4
Gemeente Westervoort 50 77.1 [%] 66.6 [%] 88.0 [%] 9.9
Gemeente Westervoort 60 76.5 [%] 77.8 [%] 98.2 [%] 3.4
Gemeente Westervoort Totaal 77.1 [%] 69.4 [%] 90.6 [%] 13.3
Gemeente Westerwolde 50 75.1 [%] 68.1 [%] 93.3 [%] 128.4
Gemeente Westerwolde 60 95.6 [%] 95.0 [%] 99.7 [%] 61.4
Gemeente Westerwolde Totaal 78.3 [%] 76.8 [%] 95.4 [%] 189.8
Gemeente Westland 50 70.7 [%] 62.0 [%] 82.4 [%] 80.5
Gemeente Westland 60 91.5 [%] 86.6 [%] 97.9 [%] 226.3
Gemeente Westland Totaal 82.8 [%] 80.1 [%] 93.8 [%] 306.8
Gemeente Weststellingwerf 50 68.1 [%] 60.0 [%] 80.4 [%] 27.5
Gemeente Weststellingwerf 60 93.8 [%] 86.2 [%] 99.4 [%] 273.1
Gemeente Weststellingwerf Totaal 85.7 [%] 83.8 [%] 97.6 [%] 300.6
Gemeente Wierden 50 75.8 [%] 60.0 [%] 86.2 [%] 23.2
Gemeente Wierden 60 97.7 [%] 97.7 [%] 99.8 [%] 253.8
Gemeente Wierden Totaal 92.7 [%] 94.5 [%] 98.7 [%] 276.9
Gemeente Wijchen 50 90.4 [%] 81.7 [%] 96.3 [%] 46.7
Gemeente Wijchen 60 94.2 [%] 88.8 [%] 99.4 [%] 109.8
Gemeente Wijchen Totaal 92.1 [%] 86.7 [%] 98.5 [%] 156.4
Gemeente Wijdemeren 50 61.5 [%] 50.1 [%] 84.3 [%] 54.3
Gemeente Wijdemeren 60 77.8 [%] 70.5 [%] 96.5 [%] 7.3
Gemeente Wijdemeren Totaal 62.7 [%] 52.5 [%] 85.7 [%] 61.6
Gemeente Wijk bij Duurstede 50 85.0 [%] 71.9 [%] 85.9 [%] 13.8
Gemeente Wijk bij Duurstede 60 90.3 [%] 81.4 [%] 98.4 [%] 78.9
Gemeente Wijk bij Duurstede Totaal 87.7 [%] 80.0 [%] 96.5 [%] 92.7
Gemeente Winterswijk 50 78.1 [%] 72.1 [%] 91.3 [%] 23.5
Gemeente Winterswijk 60 96.6 [%] 95.9 [%] 99.7 [%] 368.1
Gemeente Winterswijk Totaal 92.9 [%] 94.4 [%] 99.2 [%] 391.6
Gemeente Woensdrecht 50 76.7 [%] 68.6 [%] 92.7 [%] 8.2
Gemeente Woensdrecht 60 95.0 [%] 95.4 [%] 99.5 [%] 226.2
Gemeente Woensdrecht Totaal 93.3 [%] 94.5 [%] 99.2 [%] 234.4
Gemeente Woerden 50 73.1 [%] 59.8 [%] 83.8 [%] 58.2
Gemeente Woerden 60 89.4 [%] 79.0 [%] 99.0 [%] 89.0
Gemeente Woerden Totaal 77.7 [%] 71.4 [%] 93.0 [%] 147.3
Gemeente Wormerland 50 72.6 [%] 61.9 [%] 81.3 [%] 11.9
Gemeente Wormerland 60 100.0 [%] 100.0 [%] 100.0 [%] 2.0
Gemeente Wormerland Totaal 74.2 [%] 67.4 [%] 84.0 [%] 14.0
Gemeente Woudenberg 50 84.5 [%] 63.4 [%] 86.5 [%] 4.3
Gemeente Woudenberg 60 92.8 [%] 88.8 [%] 99.3 [%] 51.3
Gemeente Woudenberg Totaal 90.5 [%] 86.9 [%] 98.3 [%] 55.6
Gemeente Zaanstad 50 71.8 [%] 58.6 [%] 82.2 [%] 128.6
Gemeente Zaanstad 60 89.4 [%] 76.6 [%] 98.6 [%] 20.6
Gemeente Zaanstad Totaal 72.4 [%] 61.1 [%] 84.4 [%] 149.1
Gemeente Zaltbommel 50 82.7 [%] 73.6 [%] 93.8 [%] 47.2
Gemeente Zaltbommel 60 88.9 [%] 83.3 [%] 98.2 [%] 76.1
Gemeente Zaltbommel Totaal 85.0 [%] 79.6 [%] 96.5 [%] 123.3
Gemeente Zandvoort 50 81.0 [%] 63.8 [%] 86.6 [%] 8.3
Gemeente Zandvoort 60 66.7 [%] 28.9 [%] 98.1 [%] 1.7
Gemeente Zandvoort Totaal 80.7 [%] 58.0 [%] 88.5 [%] 9.9
Gemeente Zeewolde 50 93.8 [%] 92.8 [%] 97.7 [%] 38.7
Gemeente Zeewolde 60 90.2 [%] 76.2 [%] 98.2 [%] 77.0
Gemeente Zeewolde Totaal 92.6 [%] 81.7 [%] 98.0 [%] 115.7
Gemeente Zeist 50 89.6 [%] 81.9 [%] 92.6 [%] 31.3
Gemeente Zeist 60 89.5 [%] 82.2 [%] 97.0 [%] 42.5
Gemeente Zeist Totaal 89.6 [%] 82.0 [%] 95.1 [%] 73.8
Gemeente Zevenaar 50 86.5 [%] 81.2 [%] 94.0 [%] 38.1
Gemeente Zevenaar 60 93.6 [%] 87.9 [%] 99.1 [%] 147.6
Gemeente Zevenaar Totaal 90.4 [%] 86.5 [%] 98.0 [%] 185.7
Gemeente Zoetermeer 50 81.1 [%] 72.0 [%] 87.5 [%] 126.8
Gemeente Zoetermeer 60 91.7 [%] 85.9 [%] 99.0 [%] 3.7
Gemeente Zoetermeer Totaal 81.3 [%] 72.4 [%] 87.8 [%] 130.5
Gemeente Zoeterwoude 50 76.0 [%] 58.7 [%] 84.0 [%] 8.5
Gemeente Zoeterwoude 60 79.1 [%] 74.0 [%] 97.7 [%] 19.1
Gemeente Zoeterwoude Totaal 77.2 [%] 69.2 [%] 93.4 [%] 27.6
Gemeente Zuidplas 50 76.0 [%] 62.0 [%] 89.2 [%] 28.3
Gemeente Zuidplas 60 89.5 [%] 77.1 [%] 97.7 [%] 106.8
Gemeente Zuidplas Totaal 84.0 [%] 73.9 [%] 95.9 [%] 135.1
Gemeente Zundert 50 71.5 [%] 60.5 [%] 87.9 [%] 17.1
Gemeente Zundert 60 93.9 [%] 93.2 [%] 99.3 [%] 175.5
Gemeente Zundert Totaal 87.1 [%] 90.3 [%] 98.3 [%] 192.7
Gemeente Zutphen 50 88.9 [%] 78.7 [%] 93.9 [%] 38.8
Gemeente Zutphen 60 94.2 [%] 95.0 [%] 99.3 [%] 35.2
Gemeente Zutphen Totaal 90.0 [%] 86.5 [%] 96.4 [%] 73.9
Gemeente Zwartewaterland 50 81.1 [%] 73.3 [%] 94.1 [%] 25.4
Gemeente Zwartewaterland 60 94.8 [%] 90.6 [%] 99.6 [%] 90.8
Gemeente Zwartewaterland Totaal 88.1 [%] 86.8 [%] 98.4 [%] 116.2
Gemeente Zwijndrecht 50 63.1 [%] 45.0 [%] 73.9 [%] 54.1
Gemeente Zwijndrecht 60 65.4 [%] 68.6 [%] 79.4 [%] 2.0
Gemeente Zwijndrecht Totaal 63.2 [%] 45.8 [%] 74.1 [%] 56.1
Gemeente Zwolle 50 87.5 [%] 83.7 [%] 93.3 [%] 159.5
Gemeente Zwolle 60 93.3 [%] 93.4 [%] 99.4 [%] 159.5
Gemeente Zwolle Totaal 88.9 [%] 88.6 [%] 96.3 [%] 319.0

6.3 Benchmarks provincies per limiet categorie

In deze paragraaf worden benchmarks getoond voor provinciale wegbeheerders, afgezet tegen het landelijk niveau. De benchmarks worden getoond voor het totale areaal en voor de wegen met een limiet van 50km/uur en 60 km/uur apart.

Klik met de muis op de onderstaande tabbladen om de benchmarks van de verschillende limieten of het totaal te tonen. Klik vervolgens op de knop rechts van de grafiek om de gewenste wegbeheerder te kiezen.

Let op, er worden pas scores getoond na het maken van een eerste keuze.

# functie wrapper voor het aanroepen van plot_ly
#' De functie roept plot_ly aan voor het maken van de grafiek
#' Breedte, plaatsing en margins zijn proefondervindelijk bepaald voor alle onderdelen
#' Een dropdown menu is toegevoegd om te kunnen schakelen tussen wegbeheerders
#' Een tweede dropdown om tevens te filteren op basis van limiet lijkt complex en wordt buiten de functie gelaten. 

# functie 
figuur.benchmark <- function(scores_wegbeheerder_limiet, limiet, groepskeuzen_wegbeheerder_limiet, landelijke_score_limiet) { 
  # roep plot_ly aan en initieer de grafie voor de dropdown keuze met vaste x en y waarde
  plot_ly(scores_wegbeheerder_limiet, x = "Categorieën", y = 0, type = 'bar', # data, x as waarde, y as waarde, type barplot
          # marker stelt de grafiekkleuren vast in een vector (hier 2 waarden)
          # width fixeert de breedte van de grafiek, 900 is in pixels en ongeveer markdown pagina breedte
          marker = grafiekkleuren, width = 900) %>% #list(color = c('blue', 'purple')) 
  layout(
    # titeel initiele grafiek met object limiet
    title = list(text = paste("Kenmerkscore afwezigheid parkeren bij limiet", limiet, "voor", "te selecteren wegbeheerder",
                              "vs. landelijk.", "\n", "\n", 
                              "<b> Selecteer de wegbeheerder uit de uitklapbare keuzelijst rechts </b>"),
                 xanchor = 'center', yanchor =  'top'), # plaatsing van de titel
    #xanchor = 'center', x = 0.5 , yanchor =  'top', y = 1), # Dynamic title
    margin = list(l =50, t = 50), # marges
    xaxis = list(title = ""), # x as titel
    yaxis = list(title = "SPI deelscore [%]", range = c(0, 100)), # y as titel
    showlegend = FALSE # geen legenda
  ) %>%
  # dropdown menu voor selectie visualisatie data
  layout(
    updatemenus = list(
      list(
        active = 0,
        # Position dropdown box to the right of the graph
        xanchor = "left", # position to edge 
        x = 1.05, # position to edge 
        yanchor = "middle", # Center dropdown box vertically
        y = 0.5,   # Center dropdown box vertically
        # lapply functie voor de werking van de button 
        buttons = lapply(1:length(groepskeuzen_wegbeheerder_limiet), function(i) {
          list(
            method = "update",
            args = list(
              list(x = list(c(groepskeuzen_wegbeheerder_limiet[i], "landelijk")), 
                   y = list(c(scores_wegbeheerder_limiet$`Score kenmerk Afwezigheid parkeren`[i], landelijke_score_limiet))),  # Update x and y scores_wegbeheerder_limiet
              list(title = paste("Kenmerkscore afwezigheid parkeren bij limiet", limiet, "voor", groepskeuzen_wegbeheerder_limiet[i], "vs. landelijk")) # Dynamic title update
            ),
            label = groepskeuzen_wegbeheerder_limiet[i]
          )
        })
      )
    )
  )
}
# Calculate the average score
landelijke_score_50 <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[1]
landelijke_score_60 <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[2]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[3]

# data per provincie per limiet
scores_provincies_50 <- filter(scores_provincies, Snelheidslimiet == "50")
scores_provincies_60 <- filter(scores_provincies, Snelheidslimiet == "60")
scores_provincies_totaal <- filter(scores_provincies, Snelheidslimiet == "Totaal")

# Create the dropdown menu options
groepskeuzen_provincies_50 <- scores_provincies_50$Wegbeheerder
groepskeuzen_provincies_60 <- scores_provincies_60$Wegbeheerder
groepskeuzen_provincies_totaal <- scores_provincies_totaal$Wegbeheerder

grafiekkleuren <- list(color = c(blue_vals[3], green_vals[3]))

Benchmark 50 km/u

# maak een benchmark grafiek voor provenciale wegbeheerders met limiet 50
fig50prov <- figuur.benchmark(scores_wegbeheerder_limiet = scores_provincies_50, 
                              limiet = 50,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_provincies_50,
                              landelijke_score_limiet = landelijke_score_50)

# Display the plot
fig50prov

Benchmark 60 km/u

# maak een benchmark grafiek voor provenciale wegbeheerders met limiet 60
fig60prov <- figuur.benchmark(scores_wegbeheerder_limiet = scores_provincies_60, 
                              limiet = 60,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_provincies_60,
                              landelijke_score_limiet = landelijke_score_60)

# Display the plot
fig60prov

Benchmark Totaal

# maak een benchmark grafiek voor provenciale wegbeheerders van alle limieten
fig_totaal_prov <- figuur.benchmark(scores_wegbeheerder_limiet = scores_provincies_totaal, 
                              limiet = "totaal",
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_provincies_totaal,
                              landelijke_score_limiet = landelijke_score_totaal)
# Display the plot
fig_totaal_prov

6.4 Benchmarks gemeenten per limiet categorie

In deze paragraaf worden benchmarks getoond voor gemeentelijke wegbeheerders, afgezet tegen het landelijk niveau. De benchmarks worden getoond voor het totale areaal en voor de wegen met een limiet van 50km/uur en 60 km/uur apart.

Klik met de muis op de onderstaande tabbladen om de benchmarks van de verschillende limieten of het totaal te tonen. Klik vervolgens op de knop rechts van de grafiek om de gewenste wegbeheerder te kiezen.

Let op, er worden pas scores getoond na het maken van een eerste keuze.

# Calculate the average score
landelijke_score_50 <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[1]
landelijke_score_60 <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[2]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[3]

# data per provincie per limiet
scores_gemeenten_50 <- filter(scores_gemeenten, Snelheidslimiet == "50")
scores_gemeenten_60 <- filter(scores_gemeenten, Snelheidslimiet == "60")
scores_gemeenten_totaal <- filter(scores_gemeenten, Snelheidslimiet == "Totaal")

# Create the dropdown menu options
groepskeuzen_gemeenten_50 <- scores_gemeenten_50$Wegbeheerder
groepskeuzen_gemeenten_60 <- scores_gemeenten_60$Wegbeheerder
groepskeuzen_gemeenten_totaal <- scores_gemeenten_totaal$Wegbeheerder

grafiekkleuren <- list(color = c(blue_vals[3], green_vals[3]))

Benchmark 50 km/u

# maak een benchmark grafiek voor gemeentelijke wegbeheerders met wegen met limiet 50
fig50gem <- figuur.benchmark(scores_wegbeheerder_limiet = scores_gemeenten_50, 
                              limiet = 50,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_gemeenten_50,
                              landelijke_score_limiet = landelijke_score_50)

# Display the plot
fig50gem

Benchmark 60 km/u

# maak een benchmark grafiek voor gemeentelijke wegbeheerders met wegen met limiet 60
fig60gem <- figuur.benchmark(scores_wegbeheerder_limiet = scores_gemeenten_60, 
                              limiet = 60,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_gemeenten_60,
                              landelijke_score_limiet = landelijke_score_60)
# Display the plot
fig60gem

Benchmark Totaal

# maak een benchmark grafiek voor gemeentelijke wegbeheerders
fig_totaal_gem <- figuur.benchmark(scores_wegbeheerder_limiet = scores_gemeenten_totaal, 
                              limiet = "totaal",
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_gemeenten_totaal,
                              landelijke_score_limiet = landelijke_score_totaal)

# Display the plot
fig_totaal_gem

6.5 Benchmarks waterschappen per limiet categorie

In deze paragraaf worden benchmarks getoond voor wegbeherende waterschappen, afgezet tegen het landelijk niveau. De benchmarks worden getoond voor het totale areaal en voor de wegen met een limiet van 50km/uur en 60 km/uur apart.

Klik met de muis op de onderstaande tabbladen om de benchmarks van de verschillende limieten of het totaal te tonen. Klik vervolgens op de knop rechts van de grafiek om de gewenste wegbeheerder te kiezen.

Let op, er worden pas scores getoond na het maken van een eerste keuze.

# Calculate the average score
landelijke_score_50 <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[1]
landelijke_score_60 <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[2]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid parkeren`[3]

# data per provincie per limiet
scores_waterschappen_50 <- filter(scores_waterschappen, Snelheidslimiet == "50")
scores_waterschappen_60 <- filter(scores_waterschappen, Snelheidslimiet == "60")
scores_waterschappen_totaal <- filter(scores_waterschappen, Snelheidslimiet == "Totaal")

# Create the dropdown menu options
groepskeuzen_waterschappen_50 <- scores_waterschappen_50$Wegbeheerder
groepskeuzen_waterschappen_60 <- scores_waterschappen_60$Wegbeheerder
groepskeuzen_waterschappen_totaal <- scores_waterschappen_totaal$Wegbeheerder

grafiekkleuren <- list(color = c(blue_vals[3], green_vals[3]))

Benchmark 50 km/u

# maak een benchmark grafiek voor waterschaps-wegbeheerders met wegen met limiet 50
fig50wat <- figuur.benchmark(scores_wegbeheerder_limiet = scores_waterschappen_50, 
                              limiet = 50,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_waterschappen_50,
                              landelijke_score_limiet = landelijke_score_50)
# Display the plot
fig50wat

Benchmark 60 km/u

# maak een benchmark grafiek voor waterschaps-wegbeheerders met wegen met limiet 60
fig60wat <- figuur.benchmark(scores_wegbeheerder_limiet = scores_waterschappen_60, 
                              limiet = 60,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_waterschappen_60,
                              landelijke_score_limiet = landelijke_score_60)

# Display the plot
fig60wat

Benchmark Totaal

# maak een benchmark grafiek voor waterschaps-wegbeheerders met wegen met limiet 60
fig_totaal_wat <- figuur.benchmark(scores_wegbeheerder_limiet = scores_waterschappen_totaal, 
                              limiet = "totaal",
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_waterschappen_totaal,
                              landelijke_score_limiet = landelijke_score_totaal)
# Display the plot
fig_totaal_wat

6.6 Aandachtspunten bij de SPI Veilige Infrastructuur - kenmerk Afwezigheid parkeren

Het kenmerk geeft geen volledig beeld van de situatie van parkeren op en langs de weg.

  • Parkeervoorzieningen op wegen met limiet van 70 km/uur en hoger worden (vooralsnog) buiten beschouwing gelaten omdat het onderscheid tussen pechhavens en andere voorzieningen direct langs de weg niet kunnen worden meegenomen.
  • Parkeren op de weg wordt buiten beschouwing gelaten omdat de bebording hiervoor geen goed beeld geeft van de situatie op de weg. Toetsen aan de hand van bebording levert vooral een toetsing aan dichtheid van bebording op en veel minder een toetsing aan parkeren op de weg
  • Bermen langs de weg die geschikt zijn voor parkeren langs de weg zijn buiten beschouwing gelaten als deze niet aangeduid zijn als parkeervoorziening in de BGT. Ook als deze in de praktijk intensief als parkeervoorziening worden gebruikt.
  • De GOW30 wordt vooralsnog buiten beschouwing gelaten. Een criterium voor de classificering van deze weg ontbreekt immers vooralsnog. Ook staat het afwegingskader parkeervoorzieningen langs de weg toe bij de aanwezigheid van fietspaden, maar bij de aanwezigheid van fietsstroken enkel in specifieke vorm met aanwezigheid van een schrikstrook tussen fietsstrook en parkeervak. Deze gegevens zijn vooralsnog niet beschikbaar.
  • De ETW60 is in deze een bijzondere categorie. Volgens de basiskenmerken zijn er geen criteria met betrekking tot parkeren langs de rijbaan. Volgens de definitie SPI Veilige Infrastructuur zijn deze echter ongewenst. Parkeervakken zijn immers permanente voorzieningen die bedoeld zijn voor gebruik. In die zin lokken deze parkeren uit, waarbij een geparkeerde auto als obstakel kan worden beschouwd (niet toegestaan binnen 2,5m). Van permanente voorziening is het daarom gewenst dat die van de weg af, op eigen erf bijv, worden aangelegd.
  • Wanneer parkeervlakken niet zijn ingetekend in de BGT of wanneer fietsstroken zijn ingetekend als fietspaden kan niet altijd correct worden gedetecteerd dat er sprake is van parkeervoorzieningen naast/aan de rijbaan.
  • De aanwezigheid van parkeervoorzieningen wordt beoordeeld op wegvak/rijbaan niveau. Er vindt geen correctie plaats op de wegvaklengte naar straatlengte wanneer de straat is opgedeeld in meerdere rijbanen. Wanneer een middenberm aanwezig is en slechts aan een zijde van de middenberm parkeervakken aanwezig zijn, worden deze enkel aan één van beide rijbanen toegekend.

7 Data export wegvakken

De in het vorige hoofdstuk behandelde scores per wegbeheerder zijn bepaald op basis van scores op wegvak niveau. Van elk wegvak is bepaald of deze voldoen op het kenmerk SPI Veilige Infrastructuur - Afwezigheid parkeren, plus een aantal aanvullende kenmerken. Per wegvak zijn de volgende kenmerken vastgelegd:

# sf df om te exporteren
nwb_parkeervakken_export <- nwb_parkeervakken2 %>%
  relocate(BST_CODE, .after = GME_NAAM) %>%
  relocate(aandeel_bibeko, lengte_limiet_aandeel, .after = parkeerlengte_LenofR_aandeel) 

# names(nwb_parkeervakken_export)

# Attributen tabel in tekstformat
nwb_parkeervakken_export_attributentabel <- rbind( 
  c("Attribuut", "Omschrijving"),
  c("WVK_ID", "NWB variabele - Wegvak-ID: De unieke identificatie van een wegvak    "), 
  c("Snelheidslimiet", "De maximum snelheid of snelheidslimiet, op basis van de WKD. Wanneer het wegvak
    meerdere limieten kent, is de limiet die toegekent die het grootste aandeel van het wegvak beslaat."),
  c("parkeren_voldoet","Beoordeling of het wegvak voldoet aan het kenmerk 'Afwezigheid parkeren'. 
    1: voldoet, 0: voldoet niet"),
  c("parkeren_aanwezig","Beoordeling of ergens langs het wegvak parkeervakken aanwezig zijn: 
    Parkeervakken aanwezig / Parkeervakken afwezig"),
  c("wegvaklengte","Lengte van het wegvak in meters"),
  c("parkeerlengte_L","De som van de lengtes [m] waar parkeervakken aanwezig zijn links van het wegvak"),
  c("parkeerlengte_R","De som van de lengtes [m] waar parkeervakken aanwezig zijn rechts van het wegvak"),
  c("parkeerlengte_som","De som van de parkeervaklengte links en rechts van het wegvak"),
  c("parkeren_L_en_of_R_wegvaklengte","De som van de lengtes [m] van segmenten van het wegvak waar links
    en of rechts van het wegvak parkeervakken aanwezig zijn."),
  c("parkeren_L_en_of_R_delen","Het aantal segmenten waar links en/of rechts van het wegvak 
    parkeervakken aanwezig zijn"),
  c("parkeerlengte_LenofR_aandeel","Het aandeel van de wegvaklengte waar links en/of rechts van het 
    wegvak parkeervakken aanwezig zijn"),
  c("aandeel_bibeko","Het aandeel van het wegvak dat binnen de kom ligt"),
  c("lengte_limiet_aandeel","Het aandeel van het wegvak waarvoor de toegekende snelheidslimiet geldt"),
  c("WEGBEHSRT","NWB variabele - Wegbeheerdersoort: De categorie wegbeheerder (R, P, G, W of T)"),
  c("WEGBEHNAAM","NWB variabele - Wegbeheerdernaam: De naam van de wegbeheerder van de weg"),
  c("WEGNUMMER","NWB variabele - Wegnummer: Het wegnummer zoals deze formeel is vastgelegd"),
  c("STT_NAAM","NWB variabele - Straatnaam: De straatnaam zoals in BAG wordt gehanteerd of is vastgesteld door de wegbeheerder"),
  c("WPSNAAM","NWB variabele - Woonplaats: De naam van de woonplaats zoals in BAG gehanteerd wordt"),
  c("GME_NAAM","NWB variabele - Gemeentenaam: De naam van een gemeente zoals in BAG gehanteerd wordt"),
  c("BST_CODE","NWB variabele - Baansubsoortcode: Een subtypering van een baansoort")
  ) %>%
  as.data.frame()

# kolomnamen op basis van eerste rij
names(nwb_parkeervakken_export_attributentabel) <-nwb_parkeervakken_export_attributentabel[1,]

# verwijder eerste rij
nwb_parkeervakken_export_attributentabel <- nwb_parkeervakken_export_attributentabel[-1,]

# maak een scrol tabel van de attributen tabel
scroltabel_gt(nwb_parkeervakken_export_attributentabel)
Attribuut Omschrijving
WVK_ID NWB variabele - Wegvak-ID: De unieke identificatie van een wegvak
Snelheidslimiet De maximum snelheid of snelheidslimiet, op basis van de WKD. Wanneer het wegvak meerdere limieten kent, is de limiet die toegekent die het grootste aandeel van het wegvak beslaat.
parkeren_voldoet Beoordeling of het wegvak voldoet aan het kenmerk 'Afwezigheid parkeren'. 1: voldoet, 0: voldoet niet
parkeren_aanwezig Beoordeling of ergens langs het wegvak parkeervakken aanwezig zijn: Parkeervakken aanwezig / Parkeervakken afwezig
wegvaklengte Lengte van het wegvak in meters
parkeerlengte_L De som van de lengtes [m] waar parkeervakken aanwezig zijn links van het wegvak
parkeerlengte_R De som van de lengtes [m] waar parkeervakken aanwezig zijn rechts van het wegvak
parkeerlengte_som De som van de parkeervaklengte links en rechts van het wegvak
parkeren_L_en_of_R_wegvaklengte De som van de lengtes [m] van segmenten van het wegvak waar links en of rechts van het wegvak parkeervakken aanwezig zijn.
parkeren_L_en_of_R_delen Het aantal segmenten waar links en/of rechts van het wegvak parkeervakken aanwezig zijn
parkeerlengte_LenofR_aandeel Het aandeel van de wegvaklengte waar links en/of rechts van het wegvak parkeervakken aanwezig zijn
aandeel_bibeko Het aandeel van het wegvak dat binnen de kom ligt
lengte_limiet_aandeel Het aandeel van het wegvak waarvoor de toegekende snelheidslimiet geldt
WEGBEHSRT NWB variabele - Wegbeheerdersoort: De categorie wegbeheerder (R, P, G, W of T)
WEGBEHNAAM NWB variabele - Wegbeheerdernaam: De naam van de wegbeheerder van de weg
WEGNUMMER NWB variabele - Wegnummer: Het wegnummer zoals deze formeel is vastgelegd
STT_NAAM NWB variabele - Straatnaam: De straatnaam zoals in BAG wordt gehanteerd of is vastgesteld door de wegbeheerder
WPSNAAM NWB variabele - Woonplaats: De naam van de woonplaats zoals in BAG gehanteerd wordt
GME_NAAM NWB variabele - Gemeentenaam: De naam van een gemeente zoals in BAG gehanteerd wordt
BST_CODE NWB variabele - Baansubsoortcode: Een subtypering van een baansoort

Op basis hiervan is eenvoudig te visualiseren welke wegvakken van een wegbeheerder al dan niet voldoen aan dit kenmerk. Onderstaand geven we hiervan een voorbeeld voor wegen binnen de kom met limiet 50 van de gemeente Delft.

parkeren_delft <- nwb_parkeervakken_export %>%
  filter(WEGBEHNAAM == "Delft" & Snelheidslimiet == "50") %>%
  dplyr::rename("parkeren aanwezig als aandeel vd wegvaklengte [%]" = parkeerlengte_LenofR_aandeel)
mapview(parkeren_delft, zcol = "parkeren_aanwezig", legend = TRUE)

De kaart is interactief. Het is mogelijk om in en uit te zoomen. Wegvakken in de kaart zijn daarnaast aan te klikken. Daarmee wordt de attributen tabel van het wegvak geladen en kunnen andere scores en kenmerken van het wegvak worden bekeken. Tenslotte kan ook een andere achtergrond worden gekozen, waaronder luchtfoto’s.

Op een vergelijkbare manier kan ook aanvullende informatie worden gevisualiseerd, zoals het aandeel van het wegvak waar links en of rechts aan het wegvak geparkeerd kan worden.

mapview(parkeren_delft, zcol = "parkeren aanwezig als aandeel vd wegvaklengte [%]", legend = TRUE)

Deze data (voor heel Nederland) is geëxporteerd naar een tekstbestand (csv, scheidingsteken ‘;’, decimaalscheidingsteken ‘,’) en gis bestand (geopackage, ofwel gpkg). De export bevat alle voor deze analyse geselecteerde wegvakken in Nederland. Beide datasets zijn via een aparte downloadoptie openbaar beschikbaar. Het tekstbestand is geschikt voor het openen in bijvoorbeeld Excel. Het geopackage kan gebruikt worden in een gis viewer, bijvoorbeeld QGIS. Let op dat het decimaal scheidingsteken een ‘,’ betreft conform de Nederlandse standaard. De data in het geopackage is ‘.’ decimaalgescheiden (conform internationale standaarden).

# export naar csv, verwijder daarvoor geometry
write.table(st_drop_geometry(nwb_parkeervakken_export), here("Output", "SPI_kenmerkscore_parkeervakken.csv"),
          row.names = FALSE, sep = ";", dec = ",", quote = TRUE)

# export naar geopackage
st_write(nwb_parkeervakken_export, here("Output", "SPI_kenmerkscore_parkeervakken.gpkg"), Append = FALSE, delete_dsn = TRUE)

# let op, het script overschrijft bestaande datasets met dezelfde naam. Maak een kopie van de dataset als je deze bewerkt en wilt bewaren