1 Leeswijzer

Met deze rapportage wordt de deelscore op het kenmerk ‘Afwezigheid obstakels langs rijbanen’ 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 obstakels langs rijbanen’. 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 obstakels langs rijbanen 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.

# list required libraries
libraries_to_load <- c("here", "tidyverse", "data.table", "dtplyr", "sf", "mapview", "stringr", 
                       "this.path", "units", "kableExtra", "curl", "openxlsx2", "readr", "gt", "plotly")

# 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)
  }
  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 mappenstructuur. 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] )
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)
    )
}
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

Onderdeel van de SPI Veilige Infrastructuur is de obstakelvrije zone. Op het moment van schrijven is van een aantal belangrijke obstakelklassen data beschikbaar, echter zijn niet nog niet alle obstakels in beeld. De SPI Veilige Infrastructuur - kenmerk Afwezigheid obstakels langs rijbanen beoordeeld wegvakken aan de hand van de reeds beschikbare data.

Op wegen met een limiet van 60 en hoger zijn obstakels langs de rijbaan binnen de obstakelvrije zone 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 obstakels ontbreken of op voldoende afstand van de rijbaan staan. Deze afstand verschilt per snelheidslimiet. 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 WKD (Wegkenmerkendatabase) data voor obstakels langs de weg1. De WKD met betrekking tot obstakels is gebaseerd op een koppeling tussen het NWB en de Boombasis data, BGT (Basisregistratie Grootschalige Topografie) en de AHN (Actueel Hoogtebestand Nederland). Met deze koppelingen is de afstand tussen de rijbaan en obstakels bepaald. Obstakels zijn in dit geval:

  • Bomen, op basis van een koppeling met de boombasis data
  • BGT waterdeel objecten zoals kanalen, greppels en sloten
  • Taluds op basis van de helling bepaald aan de hand van het AHN

Er is daarbij rekening gehouden met locaties waar een geleiderails aanwezig is. Deze worden als veilig beschouwd en hierdoor afgeschermde obstakels worden dus niet als obstakel gemarkeerd. Verder is voor de segmenten in het obstakelbestand de snelheidslimiet bepaald met de WKD snelheden.

Het is nog belangrijk om te vermelden dat de obstakel-data bestaat uit wegvaksegmenten van 100 meter. Bijvoorbeeld, een NWB-wegvak van 300 meter bestaat uit 3 segmenten waarvoor de obstakelafstand bepaald is. Deze segmenten hebben een eigen ID en bevatten ook nog het WVK_ID, waarmee ze te koppelen zijn aan de NWB WVK_ID’s.

Documentatie over het NWB is te vinden bij het NDW: https://docs.ndw.nu/handleidingen/nwb/

Documentatie over de WKD is te vinden op de handleidingen pagina van het NDW: https://docs.ndw.nu/handleidingen/wkd/

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.

1 Deze dataset is op moment van schrijven nog niet openbaar beschikbaar. Vooralsnog is enkel de dataset met betrekking tot bomen als obstakels beschikbaar.

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 gedraait, 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 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 opgehaald van internet van https://downloads.rijkswaterstaatdata.nl/wkd/"))
  }
## Bestand geladen uit .RDS

4.1.2 WKD obstakels langs rijbanen

De analyse maakt gebruik van het WKD product obstakels langs rijbanen, gekoppeld aan het NWB van januari 2024. Op moment van schrijven was de dataset echter nog niet openbaar. Onderstaande code chunk is bedoeld voor wanneer dit product officieel online is en zal dan nog enige aanpassingen behoeven om te kunnen gebruiken. De hierop volgende code chunk laadt de lokaal opgeslagen, niet-openbare data die voor de huidige analyse gebruikt is.

#' Wanneer de code chunk staat op eval=FALSE, dan wordt deze niet gedraaid
#' De chunk is niet getest omdat de data over obstakels onderhands is geleverd. 
#' De chunk zal moeten worden aangepast aan de wijze waarop de data openbaar wordt beschikbaar gesteld. 

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

#' 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
Obstakels_rds_naam <- paste0("Obstakels", nwbjaar, "jan.RDS")
# nwb datum op basis van jaar
Obstakels_datum <- paste0("01-01-", nwbjaar)
# zip bestandsnaam op basis van jaar
Obstakels_zip <- paste0("Obstakels", nwbjaar, "jan.zip")

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

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

  # destination file + folder
  dest_file_Obstakelsjaarjan <- here("Data", Obstakels_zip)
  dest_folder <- here("Data", paste0("Obstakels", nwbjaar,"jan"))

  # download file
  curl_download(Obstakelsjaarjan_url, destfile = dest_file_Obstakelsjaarjan, mode = "wb")

  # unzip
  unzip(dest_file_Obstakelsjaarjan, exdir = dest_folder)

  # load the csv
  Obstakels <- read.csv2(here(dest_folder, Obstakels_datum, "wkd_012-BMN_AANT.csv"), stringsAsFactors = FALSE)

  # Save as RDS
  saveRDS(Obstakels, here("RDS", Obstakels_rds_naam))

  # clear zip
  file.remove(dest_file_Obstakelsjaarjan)
  
  # code resultaat bericht
  cat(paste("Bestand opgehaald van internet van https://downloads.rijkswaterstaatdata.nl/wkd/"))
  }
# Deze code chunk verzorgt het inladen in R van de lokaal opgeslagen wkd obstakels
Obstakels_wkd <- read.csv("Data/Datalevering_wegobstakels_sept2024/WKD_nwb_wegvakken_met_obstakels.csv")

De documentatie over het WKD product obstakels zal na publicatie te vinden zijn op de NDW handleidingen pagina.

4.2 Data preparatie

De data dient te worden geprepareerd voorafgaand aan de analyses en bepaling van het kenmerk Afwezigheid obstakels langs rijbanen van de SPI Veilige Infrastructuur. De preparatie bevat onder meer de aggregatie van obstakels per snelheidslimiet en het selecteren van de juiste wegvakken in het NWB.

4.2.1 NWB selecties

We kijken voor het kenmerk Afwezigheid obstakels langs rijbanen enkel naar rijbanen. Daarom wordt het NWB gefilterd op de zogeheten variabele Baan Subsoort Code (BST_CODE).

Afkortingen zijn te vinden in de NWB handleiding.

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(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 Voorbereiding obstakeldata

Om de dataset over obstakels gereed te maken voor de analyse is het zaak dat de verschillende typen obstakels samengevoegd worden om tot een beoordeling te komen of een wegsegment, en later een wegvak, aan de SPI voldoet. Hierbij is het allereerst van belang om te vermelden dat de obstakelvrije zone per snelheidslimiet verschilt. De standaard breedte van de obstakelvrije zone per snelheidslimiet is als volgt:

  • 60 km/u: ≥ 2,5 meter
  • 70 km/u: ≥ 4,5 meter
  • 80 km/u: ≥ 6 meter
  • 100 km/u: ≥ 10 meter

In de praktijk is veel gewerkt met een minimum maatvoering van de obstakelvrije zone, die in de huidige richtlijn is komen te vervallen. De oude minimum maatvoeringen zijn als volgt:

  • 60 km/u: ≥ 1,5 meter
  • 70 km/u: ≥ 2,5 meter
  • 80 km/u: ≥ 4,5 meter
  • 100 km/u: ≥ 8 meter

Om te toetsen of een wegvak voldoet aan de SPI Veilige Infrastructuur - Afwezigheid van obstakels langs de rijbaan, wordt enkel gekeken naar de standaard maatvoering van de obstakelvrije zone. De afwezigheid van obstakels binnen de minimale maatvoering van de obstakelvrije zone wordt in het databestand op wegvakniveau wel inzichtelijk gemaakt.

Voor taluds geldt volgens de CROW-richtlijnen dat een helling als obstakel gezien wordt wanneer deze aflopend steiler is dan 1:6 ofwel 17% en oplopend steiler dan 1:2 ofwel 50%. Hier wordt in de beoordeling of een wegvaksegment of wegvak voldoet rekening mee gehouden.

4.2.2.1 Beschrijving WKD obstakels dataset

De gebruikte WKD obstakels dataset betreft een segmenten bestand. De segmenten zijn wegstukken uit een wegvak. Elk wegvak is opgedeeld in segmenten met elk een maximale lengte van 100m. Per segment is de aanwezigheid van obstakels bepaald. Het segmentenbestand is geleverd als een shapefile en een csv. Hier is gebruik gemaakt van de csv. Beide bestanden bevatten de volgende variabelen:

attributentabel <- '
"Attribuut","Betekenis","Data.type"
"WVK_ID","NWB wegvak ID","int "
"WVK_BEGDAT","Begindatum wegvak","datum"
"NWB_VERSIE","NWB versie","datum"
"MAXSHD","Maximum snelheid/snelheidslimiet op weg in km/u","int"
"segment_id","Uniek ID van opgesplitst wegvak","tekst"
"BGT_versie","BGT versie","datum"
"Van","Startpunt segment (in meters)","int "
"Naar","Eindpunt segment (in meters)","int "
"st_af_kl_1","Aantal boomstammen tussen 0 en 1,5 meter","int "
"st_af_kl_2","Aantal boomstammen tussen 1.5 en 2.5 meter","int "
"st_af_kl_3","Aantal boomstammen tussen 2.5 en 4.5 meter","int "
"st_af_kl_4","Aantal boomstammen tussen 4.5 en 6 meter","int "
"st_af_kl_5","Aantal boomstammen tussen 6 en 8 meter","int "
"st_af_kl_6","Aantal boomstammen tussen 8 en 10 meter","int "
"st_totaal","Totaal aantal boomstammen binnen 10 meter van BGT wegdeel","int "
"st_gem_afs","Gemiddelde wegafstand van alle boomstammen in elke afstandsklasse","int"
"o_af_kl_1","Aantal ondergroei vlakken tussen 0 en 1.5 meter","int "
"o_af_kl_2","Aantal ondergroei vlakken tussen 1.5 en 2.5 meter","int "
"o_af_kl_3","Aantal ondergroei vlakken tussen 2.5 en 4.5 meter","int "
"o_af_kl_4","Aantal ondergroei vlakken tussen 4.5 en 6 meter","int "
"o_af_kl_5","Aantal ondergroei vlakken tussen 6 en 8 meter","int "
"o_af_kl_6","Aantal ondergroei vlakken tussen 8 en 10 meter","int "
"o_totaal","Totaal aantal ondergroei vlakken binnen 10 meter van BGT wegdeel","int "
"bgt_afkl_1","bgt object tussen 0 en 1,5 meter? Ja/Nee","tekst"
"bgt_afkl_2","bgt object tussen 1.5 en 2,5 meter? Ja/Nee","tekst"
"bgt_afkl_3","bgt object tussen 2.5 en 4.5 meter? Ja/Nee","tekst"
"bgt_afkl_4","bgt object tussen 4.5 en 6 meter? Ja/Nee","tekst"
"bgt_afkl_5","bgt object tussen 6 en 8 meter? Ja/Nee","tekst"
"bgt_afkl_6","bgt object tussen 8 en 10 meter? Ja/Nee","tekst"
"AHN_afkl_1","Max negatieve helling tussen 0 en 1.5 meter (%)","float"
"AHN_afkl_2","Max negatieve helling tussen 1.5 en 2.5 meter (%)","float"
"AHN_afkl_3","Max negatieve helling tussen 2.5 en 4.5 meter (%)","float"
"AHN_afkl_4","Max negatieve helling tussen 4.5 en 6 meter (%)","float"
"AHN_afkl_5","Max negatieve helling tussen 6 en 8 meter (%)","float"
"AHN_afkl_6","Max negatieve helling tussen 8 en 10 meter (%)","float"
'
wkdattributentabel_obstakels <- read.table(text = attributentabel, sep = ",", header = TRUE, quote = "\"", stringsAsFactors = FALSE)

scroltabel_gt(wkdattributentabel_obstakels, title = "Attributentabel WKD obstakels")
Attributentabel WKD obstakels
Attribuut Betekenis Data.type
WVK_ID NWB wegvak ID int
WVK_BEGDAT Begindatum wegvak datum
NWB_VERSIE NWB versie datum
MAXSHD Maximum snelheid/snelheidslimiet op weg in km/u int
segment_id Uniek ID van opgesplitst wegvak tekst
BGT_versie BGT versie datum
Van Startpunt segment (in meters) int
Naar Eindpunt segment (in meters) int
st_af_kl_1 Aantal boomstammen tussen 0 en 1,5 meter int
st_af_kl_2 Aantal boomstammen tussen 1.5 en 2.5 meter int
st_af_kl_3 Aantal boomstammen tussen 2.5 en 4.5 meter int
st_af_kl_4 Aantal boomstammen tussen 4.5 en 6 meter int
st_af_kl_5 Aantal boomstammen tussen 6 en 8 meter int
st_af_kl_6 Aantal boomstammen tussen 8 en 10 meter int
st_totaal Totaal aantal boomstammen binnen 10 meter van BGT wegdeel int
st_gem_afs Gemiddelde wegafstand van alle boomstammen in elke afstandsklasse int
o_af_kl_1 Aantal ondergroei vlakken tussen 0 en 1.5 meter int
o_af_kl_2 Aantal ondergroei vlakken tussen 1.5 en 2.5 meter int
o_af_kl_3 Aantal ondergroei vlakken tussen 2.5 en 4.5 meter int
o_af_kl_4 Aantal ondergroei vlakken tussen 4.5 en 6 meter int
o_af_kl_5 Aantal ondergroei vlakken tussen 6 en 8 meter int
o_af_kl_6 Aantal ondergroei vlakken tussen 8 en 10 meter int
o_totaal Totaal aantal ondergroei vlakken binnen 10 meter van BGT wegdeel int
bgt_afkl_1 bgt object tussen 0 en 1,5 meter? Ja/Nee tekst
bgt_afkl_2 bgt object tussen 1.5 en 2,5 meter? Ja/Nee tekst
bgt_afkl_3 bgt object tussen 2.5 en 4.5 meter? Ja/Nee tekst
bgt_afkl_4 bgt object tussen 4.5 en 6 meter? Ja/Nee tekst
bgt_afkl_5 bgt object tussen 6 en 8 meter? Ja/Nee tekst
bgt_afkl_6 bgt object tussen 8 en 10 meter? Ja/Nee tekst
AHN_afkl_1 Max negatieve helling tussen 0 en 1.5 meter (%) float
AHN_afkl_2 Max negatieve helling tussen 1.5 en 2.5 meter (%) float
AHN_afkl_3 Max negatieve helling tussen 2.5 en 4.5 meter (%) float
AHN_afkl_4 Max negatieve helling tussen 4.5 en 6 meter (%) float
AHN_afkl_5 Max negatieve helling tussen 6 en 8 meter (%) float
AHN_afkl_6 Max negatieve helling tussen 8 en 10 meter (%) float

Een uitgebreide documentatie van het bestand wordt verwacht bij oplevering op de NDW handleidingen pagina.

4.2.2.2 Herklasseren obstakelvrije zone per snelheidslimiet

De obstakeldata wordt gebruikt om van elk segment per limiet en obstakeltype te bepalen of obstakels aanwezig zijn in de standaard en minimale obstakelvrije zone. Per limiet wordt tevens getoetst of de standaard obstakelvrije zone vrij is van obstakels (voor zover beschikbaar in de data).

Voordat we deze bewerking voltooien worden de wegsegmenten met een lokale 90 km/uur-limiet eruit gehaald. Deze worden buiten beschouwing gelaten.

# Er wordt per limiet bepaald of er een van de obstakels binnen de geldende standaard obstakelvrije zone staan
nwb_obstakel_herkl_breed <- Obstakels_wkd %>% 
  filter(MAXSHD != "90") %>% 
  # vervang NA door 0 voor de verschillende talud kolommen. Met de waarde 0 wordt die kolom positief beoordeeld. 
  # Het komt voor dat een deel van de afstandsklassen van taluds een waarde heeft en een deel NA. De kolommen met waarden kunnen 
  # worden beoordeeld als we de NAs met 0 imputeren
  mutate(across(AHN_afkl_1:AHN_afkl_6, ~ replace_na(., 0))) %>%
  # Wanneer er minimaal 1 boom binnen de obstakelvrije zone staat klasse = 1, anders = 0
  mutate(
    boom_60_std = case_when(
      (st_af_kl_1 + st_af_kl_2) != 0 ~ 1,
      (st_af_kl_1 + st_af_kl_2) == 0 ~ 0),
    boom_60_min = case_when(
      st_af_kl_1 != 0 ~ 1,
      st_af_kl_1 == 0 ~ 0),
    boom_70_std = case_when(
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3) != 0 ~ 1,
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3) == 0 ~ 0),
    boom_70_min = case_when(
      (st_af_kl_1 + st_af_kl_2) != 0 ~ 1,
      (st_af_kl_1 + st_af_kl_2) == 0 ~ 0),
    boom_80_std = case_when(
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3 + st_af_kl_4) != 0 ~ 1,
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3 + st_af_kl_4) == 0 ~ 0),
    boom_80_min = case_when(
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3) != 0 ~ 1,
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3) == 0 ~ 0),
    boom_100_std = case_when(
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3 + st_af_kl_4 + st_af_kl_5 + st_af_kl_6) != 0 ~ 1,
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3 + st_af_kl_4 + st_af_kl_5 + st_af_kl_6) == 0 ~ 0),
    boom_100_min = case_when(
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3 + st_af_kl_4 + st_af_kl_5) != 0 ~ 1,
      (st_af_kl_1 + st_af_kl_2 + st_af_kl_3 + st_af_kl_4 + st_af_kl_5) == 0 ~ 0),
    # Wanneer een van de afstandsklassen binnen de obstakelvrije zone 'Ja' is, dan klasse = 1, anders = 0
    bgt_obj_60_std = case_when(
      bgt_afkl_1 == "ja" | bgt_afkl_2 == "ja" ~ 1,
      bgt_afkl_1 == "nee" & bgt_afkl_2 == "nee" ~ 0),
    bgt_obj_60_min = case_when(
      bgt_afkl_1 == "ja" ~ 1,
      bgt_afkl_1 == "nee" ~ 0),
    bgt_obj_70_std = case_when(
      bgt_afkl_1 == "ja" | bgt_afkl_2 == "ja" | 
        bgt_afkl_3 == "ja" ~ 1,
      bgt_afkl_1 == "nee" & bgt_afkl_2 == "nee" & 
        bgt_afkl_3 == "nee" ~ 0),
    bgt_obj_70_min = case_when(
      bgt_afkl_1 == "ja" | bgt_afkl_2 == "ja" ~ 1,
      bgt_afkl_1 == "nee" & bgt_afkl_2 == "nee" ~ 0),
    bgt_obj_80_std = case_when(
      bgt_afkl_1 == "ja" | bgt_afkl_2 == "ja" |
        bgt_afkl_3 == "ja" | bgt_afkl_4 == "ja" ~ 1,
      bgt_afkl_1 == "nee" & bgt_afkl_2 == "nee" &
        bgt_afkl_3 == "nee" & bgt_afkl_4 == "nee" ~ 0),
    bgt_obj_80_min = case_when(
      bgt_afkl_1 == "ja" | bgt_afkl_2 == "ja" |
        bgt_afkl_3 == "ja" ~ 1,
      bgt_afkl_1 == "nee" & bgt_afkl_2 == "nee" &
        bgt_afkl_3 == "nee" ~ 0),
    bgt_obj_100_std = case_when(
      bgt_afkl_1 == "ja" | bgt_afkl_2 == "ja" |
        bgt_afkl_3 == "ja" | bgt_afkl_4 == "ja" |
        bgt_afkl_5 == "ja" | bgt_afkl_6 == "ja" ~ 1,
      bgt_afkl_1 == "nee" & bgt_afkl_2 == "nee" &
        bgt_afkl_3 == "nee" & bgt_afkl_4 == "nee" &
        bgt_afkl_5 == "nee" & bgt_afkl_6 == "nee" ~ 0),
    bgt_obj_100_min = case_when(
      bgt_afkl_1 == "ja" | bgt_afkl_2 == "ja" |
        bgt_afkl_3 == "ja" | bgt_afkl_4 == "ja" |
        bgt_afkl_5 == "ja" ~ 1,
      bgt_afkl_1 == "nee" & bgt_afkl_2 == "nee" &
        bgt_afkl_3 == "nee" & bgt_afkl_4 == "nee" &
        bgt_afkl_5 == "nee" ~ 0),
    # Bepaal per afstandsklasse of er gevaarlijke aflopende (< -17%) of oplopende (> 50%) talud aanwezig is
    talud_obs_60_std = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 |
        AHN_afkl_2 < -17 | AHN_afkl_2 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 &
        AHN_afkl_2 >= -17 & AHN_afkl_2 <=50 ~ 0),
    talud_obs_60_min = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 ~ 0),
    talud_obs_70_std = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 |
        AHN_afkl_2 < -17 | AHN_afkl_2 > 50 | 
        AHN_afkl_3 < -17 | AHN_afkl_3 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 &
        AHN_afkl_2 >= -17 & AHN_afkl_2 <=50 &
        AHN_afkl_3 >= -17 & AHN_afkl_3 <=50 ~ 0),
    talud_obs_70_min = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 |
        AHN_afkl_2 < -17 | AHN_afkl_2 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 &
        AHN_afkl_2 >= -17 & AHN_afkl_2 <=50 ~ 0),
    talud_obs_80_std = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 |
        AHN_afkl_2 < -17 | AHN_afkl_2 > 50 | 
        AHN_afkl_3 < -17 | AHN_afkl_3 > 50 | 
        AHN_afkl_4 < -17 | AHN_afkl_4 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 &
        AHN_afkl_2 >= -17 & AHN_afkl_2 <=50 &
        AHN_afkl_3 >= -17 & AHN_afkl_3 <=50 &
        AHN_afkl_4 >= -17 & AHN_afkl_4 <=50 ~ 0),
    talud_obs_80_min = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 |
        AHN_afkl_2 < -17 | AHN_afkl_2 > 50 | 
        AHN_afkl_3 < -17 | AHN_afkl_3 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 &
        AHN_afkl_2 >= -17 & AHN_afkl_2 <= 50 &
        AHN_afkl_3 >= -17 & AHN_afkl_3 <= 50 ~ 0),
    talud_obs_100_std = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 |
        AHN_afkl_2 < -17 | AHN_afkl_2 > 50 | 
        AHN_afkl_3 < -17 | AHN_afkl_3 > 50 | 
        AHN_afkl_4 < -17 | AHN_afkl_4 > 50 | 
        AHN_afkl_5 < -17 | AHN_afkl_5 > 50 | 
        AHN_afkl_6 < -17 | AHN_afkl_6 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 &
        AHN_afkl_2 >= -17 & AHN_afkl_2 <= 50 &
        AHN_afkl_3 >= -17 & AHN_afkl_3 <= 50 &
        AHN_afkl_4 >= -17 & AHN_afkl_4 <= 50 &
        AHN_afkl_5 >= -17 & AHN_afkl_5 <= 50 &
        AHN_afkl_6 >= -17 & AHN_afkl_6 <= 50 ~ 0),
    talud_obs_100_min = case_when(
      AHN_afkl_1 < -17 | AHN_afkl_1 > 50 |
        AHN_afkl_2 < -17 | AHN_afkl_2 > 50 | 
        AHN_afkl_3 < -17 | AHN_afkl_3 > 50 | 
        AHN_afkl_4 < -17 | AHN_afkl_4 > 50 | 
        AHN_afkl_5 < -17 | AHN_afkl_5 > 50 ~ 1,
      AHN_afkl_1 >= -17 & AHN_afkl_1 <= 50 &
        AHN_afkl_2 >= -17 & AHN_afkl_2 <= 50 &
        AHN_afkl_3 >= -17 & AHN_afkl_3 <= 50 &
        AHN_afkl_4 >= -17 & AHN_afkl_4 <= 50 &
        AHN_afkl_5 >= -17 & AHN_afkl_5 <= 50 ~ 0)
  ) %>% 
  # Opschonen van tabel
  select(-c(st_totaal:AHN_afkl_6)) %>% 
  # variabelen voor segement voldoet aan standaard
  mutate(
    segment_voldoet_60_std = case_when(
      (boom_60_std + bgt_obj_60_std +talud_obs_60_std) == 0 ~ 1,
      (boom_60_std + bgt_obj_60_std +talud_obs_60_std) != 0 ~ 0),
    segment_voldoet_70_std = case_when(
      (boom_70_std + bgt_obj_70_std +talud_obs_70_std) == 0 ~ 1,
      (boom_70_std + bgt_obj_70_std +talud_obs_70_std) != 0 ~ 0),
    segment_voldoet_80_std = case_when(
      (boom_80_std + bgt_obj_80_std +talud_obs_80_std) == 0 ~ 1,
      (boom_80_std + bgt_obj_80_std +talud_obs_80_std) != 0 ~ 0),
    segment_voldoet_100_std = case_when(
      (boom_100_std + bgt_obj_100_std +talud_obs_100_std) == 0 ~ 1,
      (boom_100_std + bgt_obj_100_std +talud_obs_100_std) != 0 ~ 0)
  )

# van de bovenstaande tabel wordt het aantal kolommen gereduceerd
nwb_obstakel_herkl <- nwb_obstakel_herkl_breed %>% 
  mutate(
    # bepalen of het segment voldoet, dus geen obstakels heeft in de obstakelvrije zone zoals die geldt voor de limiet
    segment_voldoet = case_when(
      MAXSHD == "60" ~ segment_voldoet_60_std,
      MAXSHD == "70" ~ segment_voldoet_70_std,
      MAXSHD == "80" ~ segment_voldoet_80_std,
      MAXSHD == "100" ~ segment_voldoet_100_std
    ),
    # bepalen of er bomen binnen de obstakelvrije zone staan die geldt voor de limiet
    boom_ovz_segm = case_when(
      MAXSHD == "60" ~ boom_60_std,
      MAXSHD == "70" ~ boom_70_std,
      MAXSHD == "80" ~ boom_80_std,
      MAXSHD == "100" ~ boom_100_std
    ),
    # bepalen of er bgt obstakels binnen de obstakelvrije zone staan die geldt voor de limiet
    bgt_obj_ovz_segm = case_when(
      MAXSHD == "60" ~ bgt_obj_60_std,
      MAXSHD == "70" ~ bgt_obj_70_std,
      MAXSHD == "80" ~ bgt_obj_80_std,
      MAXSHD == "100" ~ bgt_obj_100_std
    ),
    # bepalen of er kritische taluds binnen de obstakelvrije zone staan die geldt voor de limiet
    talud_ovz_segm = case_when(
      MAXSHD == "60" ~ talud_obs_60_std,
      MAXSHD == "70" ~ talud_obs_70_std,
      MAXSHD == "80" ~ talud_obs_80_std,
      MAXSHD == "100" ~ talud_obs_100_std
    ),
    # bepalen of er bomen binnen de minimale afstand staan de geldt voor de limiet
    boom_min_segm = case_when(
      MAXSHD == "60" ~ boom_60_min,
      MAXSHD == "70" ~ boom_70_min,
      MAXSHD == "80" ~ boom_80_min,
      MAXSHD == "100" ~ boom_100_min
    ),
    # bepalen of er bgt objecten binnen de minimale afstand staan de geldt voor de limiet
    bgt_obj_min_segm = case_when(
      MAXSHD == "60" ~ bgt_obj_60_min,
      MAXSHD == "70" ~ bgt_obj_70_min,
      MAXSHD == "80" ~ bgt_obj_80_min,
      MAXSHD == "100" ~ bgt_obj_100_min
    ),
    # bepalen of er kritische taluds binnen de minimale afstand staan de geldt voor de limiet
    talud_min_segm = case_when(
      MAXSHD == "60" ~ talud_obs_60_min,
      MAXSHD == "70" ~ talud_obs_70_min,
      MAXSHD == "80" ~ talud_obs_80_min,
      MAXSHD == "100" ~ talud_obs_100_min
    ),
    # bepaal lengte van het segment
    lengte_segment = naar - van
  ) %>% 
  # tabel opschonen; informatie over minimale obstakelvrije zone blijft staan maar wordt later niet mee gerekend
  select(-c(boom_60_std:segment_voldoet_100_std)) %>% 
  # nieuwe naar voor het aantal stammen binnen obstakelvrije zone
  rename(
    n_bomen_0_15 = st_af_kl_1,
    n_bomen_15_25 = st_af_kl_2,
    n_bomen_25_45 = st_af_kl_3,
    n_bomen_45_6 = st_af_kl_4,
    n_bomen_6_8 = st_af_kl_5,
    n_bomen_8_10 = st_af_kl_6,
  ) %>%
  relocate(segment_voldoet, .after = naar)

5 Analyse obstakeldata

De analyse van obstakels in de obstakelvrije zone kan op twee niveaus uitgevoerd worden: 1) op wegvakniveau; en 2) op wegsegmentniveau. De tabel die gegenereerd is in de vorige paragraaf is op wegsegmentniveau gestructureerd en moet gekoppeld worden aan het NWB. Met deze dataset kan per snelheidslimiet en per wegbeheerder bepaald worden hoeveel wegsegmenten aan de SPI voldoen en wat het aandeel hiervan is in het totaal van alle wegsegmenten. Deze tabel is na de koppeling dus ‘analyseklaar’.

Voor de analyse op wegvakniveau, is het van belang dat de data van de wegsegmenten geaggregeerd worden. Er kan dan binnen een wegvak gekeken worden of alle segmenten binnen dat wegvak aan de SPI voldoen. De data moet hiervoor op basis van de WVK_ID geaggregeerd worden.

Hieronder wordt als eerste de koppeling tussen de wegsegmenten en het NWB gedaan en daarna de attributentabel van de wegsegmenten getoond. Daarna wordt de wegvakkentabel gegenereerd en wordt daarvan ook een attributentabel gemaakt.

5.1 Analysetabel wegsegmentniveau

Voor een analyse op wegsegmentniveau is het van belang dat de wegsegmenten gekoppeld worden aan de wegvakken in de NWB-data. Deze koppeling wordt gedaan op basis van een inner_join met WVK_ID als koppelvariabele.

In de analyse worden wegen onder beheer van het Rijk buiten beschouwing gelaten. De data wordt daarom na de koppeling gefilterd op wegen die niet onder het Rijk vallen

nwb_segment_obstakels <- nwb_rijbaan %>% 
  inner_join(nwb_obstakel_herkl, by = "WVK_ID") %>% 
  filter(WEGBEHSRT != "R") %>% 
  select(-c(WEGNUMMER, BST_CODE))

Dit levert de volgende tabel op (dit betreft een uitsnede). Deze tabel is te gebruiken voor de analyse op wegsegmentniveau.

# tabel uitsnede dataset voor analyse
tabel_preview(st_drop_geometry(nwb_segment_obstakels), title = "Dataset voor analyse wegsegmentniveau")
Dataset voor analyse wegsegmentniveau
WVK_ID WEGBEHSRT STT_NAAM WPSNAAM GME_NAAM WEGBEHNAAM wegvaklengte WVK_BEGDAT NWB_VERSIE MAXSHD segment_id BGT_versie van naar segment_voldoet n_bomen_0_15 n_bomen_15_25 n_bomen_25_45 n_bomen_45_6 n_bomen_6_8 n_bomen_8_10 boom_ovz_segm bgt_obj_ovz_segm talud_ovz_segm boom_min_segm bgt_obj_min_segm talud_min_segm lengte_segment
1 122182003 G Dam Yerseke Reimerswaal Reimerswaal 63.198101 1995-04-10 2024-01-01 80 122182003_0 2024-08-02 0 42 0 0 0 0 0 0 0 0 0 1 0 0 1 42
2 225346008 G Mijnsherenweg Kudelstaart Aalsmeer Aalsmeer 9.219544 1999-10-01 2024-01-01 80 225346008_0 2024-08-02 0 9 1 0 0 0 0 0 0 0 0 0 0 0 0 9
3 265179004 G Gorp Goirle Goirle Goirle 32.573721 2000-04-01 2024-01-01 60 265179004_0 2024-08-02 0 33 1 0 0 0 0 0 0 0 0 0 0 0 0 33
4 277203002 G Berkhoek Udenhout Tilburg Tilburg 184.880136 1982-01-01 2024-01-01 60 277203002_0 2024-08-02 0 100 1 0 0 0 0 0 0 0 0 0 0 0 0 100
5 277203002 G Berkhoek Udenhout Tilburg Tilburg 184.880136 1982-01-01 2024-01-01 60 277203002_1 2024-08-02 100 185 1 0 0 0 0 0 0 0 0 0 0 0 0 85
6 312145004 G de Rijtjes Westerhoven Bergeijk Bergeijk 107.694530 1999-06-01 2024-01-01 60 312145004_0 2024-08-02 0 100 1 0 0 0 0 0 0 0 0 0 0 0 0 100
7 312145004 G de Rijtjes Westerhoven Bergeijk Bergeijk 107.694530 1999-06-01 2024-01-01 60 312145004_1 2024-08-02 100 108 1 0 0 0 0 0 0 0 0 0 0 0 0 8
8..768329
768330 600947010 P Sint-Oedenrodeseweg Best Best Noord-Brabant 2.850547 2022-06-01 2024-01-01 80 600947010_0 2024-08-02 0 3 1 0 0 0 0 0 0 0 0 0 0 0 0 3

De volgende tabel is de attributentabel die een beschrijving geeft van variabelen in de analysetabel op wegsegmentniveau

tabel_wegsegmenten_obstakels_beschr <- data.frame(
  Attribuut = c(
    "WVK_ID", "WEGBEHSRT", "STT_NAAM", "WPSNAAM", "GME_NAAM", "WEGBEHNAAM",
    "wegvaklengte", "WVK_BEGDAT", "NWB_VERSIE", "MAXSHD", "segment_id", 
    "BGT_versie", "van", "naar", "segment_voldoet", "n_bomen_x_x", 
    "boom_ovz_segm", "bgt_obj_ovz_segm", "talud_ovz_segm",
    "boom_min_segm", "bgt_obj_min_segm", "talud_min_segm", "lengte_segment"
    ),
  Omschrijving = c(
    "Het unieke nummer voor een Wegvak.", 
    "Het type wegbeheerder met G: Gemeente, W: Waterschap, P: Provincie en T: Particulier",
    "Straatnaam", "Naam van de plaats waarin het wegvak ligt", 
    "Naam van de gemeente waarin de plaats ligt", "Naam van de wegbeheerder", 
    "Lengte van het wegvak", 
    "De eerste datum waarop deze vorm en inhoud van betreffende Wegvak geldig is.",
    "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.", 
    "De snelheidslimiet op dit wegsegment",  
    "Het unieke nummer van dit segment, wat begint met het WVK_ID gevogld door een oplopend getal", 
    "Dit is de datum waarop de waarde in het BGT-bestand voor het laatst is geüpdatet. Het gaat hier om de brondata waarop het WKD-bestand is gebaseerd.", 
    "Beginpunt van het wegsegment binnen het wegvak, in meters.", 
    "Eindpunt van het wegsegment binnen het wegvak, in meters.", 
    "Geeft aan of het segment voldoet aan de SPI voor obstakels langs rijbanen; dus of er binnen de obstakelvrije zone die geldt voor de limiet van dit segment obstakels aanwezig zijn",
    "Het aantal bomen binnen de betreffende afstandsklasse.",
    "Indicatie of er binnen de standaard obstakelvrije zone van deze snelheidslimiet bomen staan.", 
    "Indicatie of er binnen de standaard obstakelvrije zone van deze snelheidslimiet BGT-obstakels (greppels en sloten) liggen.", 
    "Indicatie of er binnen de standaard obstakelvrije zone van deze snelheidslimiet taluds aanwezig zijn.", 
    "Indicatie of er binnen de minimale obstakelvrije zone van deze snelheidslimiet bomen staan", 
    "Indicatie of er binnen de minimale obstakelvrije zone van deze snelheidslimiet BGT-obstakels (greppels en sloten) liggen.", 
    "Indicatie of er binnen de minimale obstakelvrije zone van deze snelheidslimiet taluds aanwezig zijn.",
    "Lengte in meters van het segment."
    )
)

# Print the table
scroltabel_gt(tabel_wegsegmenten_obstakels_beschr, title = "Variabelen WKD obstakels data wegsegmentniveau")
Variabelen WKD obstakels data wegsegmentniveau
Attribuut Omschrijving
WVK_ID Het unieke nummer voor een Wegvak.
WEGBEHSRT Het type wegbeheerder met G: Gemeente, W: Waterschap, P: Provincie en T: Particulier
STT_NAAM Straatnaam
WPSNAAM Naam van de plaats waarin het wegvak ligt
GME_NAAM Naam van de gemeente waarin de plaats ligt
WEGBEHNAAM Naam van de wegbeheerder
wegvaklengte Lengte van het wegvak
WVK_BEGDAT De eerste datum waarop deze vorm en inhoud van betreffende Wegvak geldig is.
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.
MAXSHD De snelheidslimiet op dit wegsegment
segment_id Het unieke nummer van dit segment, wat begint met het WVK_ID gevogld door een oplopend getal
BGT_versie Dit is de datum waarop de waarde in het BGT-bestand voor het laatst is geüpdatet. Het gaat hier om de brondata waarop het WKD-bestand is gebaseerd.
van Beginpunt van het wegsegment binnen het wegvak, in meters.
naar Eindpunt van het wegsegment binnen het wegvak, in meters.
segment_voldoet Geeft aan of het segment voldoet aan de SPI voor obstakels langs rijbanen; dus of er binnen de obstakelvrije zone die geldt voor de limiet van dit segment obstakels aanwezig zijn
n_bomen_x_x Het aantal bomen binnen de betreffende afstandsklasse.
boom_ovz_segm Indicatie of er binnen de standaard obstakelvrije zone van deze snelheidslimiet bomen staan.
bgt_obj_ovz_segm Indicatie of er binnen de standaard obstakelvrije zone van deze snelheidslimiet BGT-obstakels (greppels en sloten) liggen.
talud_ovz_segm Indicatie of er binnen de standaard obstakelvrije zone van deze snelheidslimiet taluds aanwezig zijn.
boom_min_segm Indicatie of er binnen de minimale obstakelvrije zone van deze snelheidslimiet bomen staan
bgt_obj_min_segm Indicatie of er binnen de minimale obstakelvrije zone van deze snelheidslimiet BGT-obstakels (greppels en sloten) liggen.
talud_min_segm Indicatie of er binnen de minimale obstakelvrije zone van deze snelheidslimiet taluds aanwezig zijn.
lengte_segment Lengte in meters van het segment.

5.2 Analysetabel wegvakniveau

Naast de analyse op wegsegmentniveau wordt er een analyse op wegvakniveau uitgevoerd. Hiervoor wordt de data van de wegsegmenten geaggregeerd. In de eerste stap wordt geaggregeerd per wegvak en per snelheidslimiet. Dit wordt gedaan omdat er binnen een wegvak meerdere snelheidslimieten aanwezig kunnen zijn. Als volgt wordt deze data geaggregeerd naar wegvakniveau. Hierbij blijft de informatie over de snelheidslimieten per wegvak inzichtelijk, maar kan de analyse op wegvakniveau gedaan worden.

# creeer een wvk df met enkel administratieve attribuut info per wvk 
wvk_attribuutinformatie <- select(st_drop_geometry(nwb_segment_obstakels), WVK_ID, WEGBEHSRT, STT_NAAM,
                                  WPSNAAM, GME_NAAM, WEGBEHNAAM, wegvaklengte) %>%
  distinct() %>%
  as.data.frame()
# Eerst wordt een tabel gemaakt waarin WVK_ID nog uitgesplitst is naar snelheidslimiet
nwb_wvk_limiet_obstakel <- nwb_segment_obstakels %>% 
  st_drop_geometry() %>% 
  # schoon df type
  as.data.frame() %>%
  # init dtplyr voor snelle processing
  lazy_dt() %>%
  # groepeer naar wvkid en limiet
  group_by(WVK_ID, MAXSHD) %>% 
  summarise(
    # aantale segmenten per wegvak, per snelheidslimiet binnen een wegvak
    n_segmenten = n(),
    # bepaling hoeveel segmenten binnen wegvak en limiet voldoen
    n_segmenten_voldoet = sum(segment_voldoet),
    # aantal segmenten binnen wegvak en limiet dat niet voldoet aan obstakelvrije zone door bomen
    n_segmenten_voldoet_niet_bomen = sum(boom_ovz_segm),
    # aantal segmenten binnen wegvak en limiet dat niet voldoet aan obstakelvrije zone door BGT objecten
    n_segmenten_voldoet_niet_bgt_obj = sum(bgt_obj_ovz_segm),
    # aantal segmenten binnen wegvak en limiet dat niet voldoet aan obstakelvrije zone door kritische taluds
    n_segmenten_voldoet_niet_talud = sum(talud_ovz_segm),
    # aantal bomen per obstakelvrije zone per wegvak en per limiet
    n_bomen_0_15 = sum(n_bomen_0_15),
    n_bomen_15_25 = sum(n_bomen_15_25),
    n_bomen_25_45 = sum(n_bomen_25_45),
    n_bomen_45_6 = sum(n_bomen_45_6),
    n_bomen_6_8 = sum(n_bomen_6_8),
    n_bomen_8_10 = sum(n_bomen_8_10),
    # tel de lengtes van alle segmenten per limiet op om later maatgevende limiet te bepalen
    lengte_limiet = sum(lengte_segment)
    ) %>% 
  # bepalen of wegvak limiet voldoet
  mutate(
    wvk_limiet_voldoet = case_when(
      n_segmenten == n_segmenten_voldoet ~ 1,
      n_segmenten != n_segmenten_voldoet ~ 0
    )
  ) %>%
  # als laatste wordt nog de informatie over wegbeheerders en straatnamen etc. aan de wegvakken gekoppeld
  left_join(wvk_attribuutinformatie, "WVK_ID") %>% 
  ungroup() %>%
  # beeindig dtplyr
  as.data.frame()

# Vervolgens komt er een tabel met 1 rij per WVK_ID waarbinnen bekend is welke limieten er zijn en of de segmenten binnen dat limiet voldoen en daarmee het hele wegvak voldoet. Tevens wordt de maatgevende limiet bepaald voor wegvakken met meerdere limieten dmv de lengte van de segmenten per limiet. 
nwb_wvk_obstakels <- nwb_wvk_limiet_obstakel %>% 
    # init dtplyr voor snelle processing
  lazy_dt() %>%
  # check per limiet of aan de voorwaarde wordt voldaan
  mutate(
    # bepalen per limiet of wegvak voldoet om info te behouden
    limiet_60_voldoet = case_when(
      MAXSHD == "60" & wvk_limiet_voldoet == 1 ~ 1,
      MAXSHD == "60" & wvk_limiet_voldoet != 1 ~ 0
    ),
    limiet_70_voldoet = case_when(
      MAXSHD == "70" & wvk_limiet_voldoet == 1 ~ 1,
      MAXSHD == "70" & wvk_limiet_voldoet != 1 ~ 0
    ),
    limiet_80_voldoet = case_when(
      MAXSHD == "80" & wvk_limiet_voldoet == 1 ~ 1,
      MAXSHD == "80" & wvk_limiet_voldoet != 1 ~ 0
    ),
    limiet_100_voldoet = case_when(
      MAXSHD == "100" & wvk_limiet_voldoet == 1 ~ 1,
      MAXSHD == "100" & wvk_limiet_voldoet != 1 ~ 0
    )) %>%
  # groepeer naar wvk
  dplyr::group_by(WVK_ID) %>%
  # maatgevende limiet bepalen op lengte van limiet
  mutate(limiet_maatgevend = MAXSHD[which.max(lengte_limiet)]) %>% 
  # tabel reduceren naar wegvakniveau waarbij limiet info behouden wordt
  dplyr::group_by(WVK_ID, limiet_maatgevend) %>% 
  summarise(
    n_segmenten = sum(n_segmenten),
    limiet_60_voldoet = ifelse(any(!is.na(limiet_60_voldoet)), sum(limiet_60_voldoet, na.rm = T), NA),
    limiet_70_voldoet = ifelse(any(!is.na(limiet_70_voldoet)), sum(limiet_70_voldoet, na.rm = T), NA),
    limiet_80_voldoet = ifelse(any(!is.na(limiet_80_voldoet)), sum(limiet_80_voldoet, na.rm = T), NA),
    limiet_100_voldoet = ifelse(any(!is.na(limiet_100_voldoet)), sum(limiet_100_voldoet, na.rm = T), NA),
    aantal_limieten = n(),
    # aantal segmenten binnen wegvak dat niet voldoet aan obstakelvrije zone door bomen
    n_segmenten_voldoet_niet_bomen = sum(n_segmenten_voldoet_niet_bomen),
    # aantal segmenten binnen wegvak dat niet voldoet aan obstakelvrije zone door BGT objecten
    n_segmenten_voldoet_niet_bgt_obj = sum(n_segmenten_voldoet_niet_bgt_obj),
    # aantal segmenten binnen wegvak dat niet voldoet aan obstakelvrije zone door kritische taluds
    n_segmenten_voldoet_niet_talud = sum(n_segmenten_voldoet_niet_talud),
    # aantal bomen per obstakelvrije zone per wegvak
    n_bomen_0_15 = sum(n_bomen_0_15),
    n_bomen_15_25 = sum(n_bomen_15_25),
    n_bomen_25_45 = sum(n_bomen_25_45),
    n_bomen_45_6 = sum(n_bomen_45_6),
    n_bomen_6_8 = sum(n_bomen_6_8),
    n_bomen_8_10 = sum(n_bomen_8_10)
  ) %>% 
  dplyr::ungroup() %>%
  # bepalen of hele wegvak voldoet op basis van limiet info
  mutate(wvk_voldoet = if_all(limiet_60_voldoet:limiet_100_voldoet, ~ na.as.true(.) == 1)
  ) %>%
  # beeindig dtplyr
  as.data.frame() %>% 
  # opnieuw toevoegen informatie over wegbeheerder etc.
  left_join(wvk_attribuutinformatie, "WVK_ID")

Dit levert de volgende tabel op (dit betreft een uitsnede). Deze tabel is te gebruiken voor de analyse op wegvakniveau.

# tabel uitsnede dataset voor analyse
tabel_preview(filter(nwb_wvk_obstakels, aantal_limieten == 2, wegvaklengte > 100), title = "Voorbeeld uitsnede dataset voor analyse wegvakniveau, gefilterd op wegvakken van teninste 100m en met 2 verschillende limieten")
Voorbeeld uitsnede dataset voor analyse wegvakniveau, gefilterd op wegvakken van teninste 100m en met 2 verschillende limieten
WVK_ID limiet_maatgevend n_segmenten limiet_60_voldoet limiet_70_voldoet limiet_80_voldoet limiet_100_voldoet aantal_limieten n_segmenten_voldoet_niet_bomen n_segmenten_voldoet_niet_bgt_obj n_segmenten_voldoet_niet_talud n_bomen_0_15 n_bomen_15_25 n_bomen_25_45 n_bomen_45_6 n_bomen_6_8 n_bomen_8_10 wvk_voldoet WEGBEHSRT STT_NAAM WPSNAAM GME_NAAM WEGBEHNAAM wegvaklengte
1 43186001 80 4 1 NA 0 NA 2 0 3 2 0 0 0 0 6 2 FALSE P Westkapelseweg Zoutelande Veere Zeeland 333.0358
2 55143001 80 15 0 NA 0 NA 2 2 0 11 1 5 9 12 41 78 FALSE W Turkeijeweg Waterlandkerkje Sluis Waterschap Scheldestromen 1425.3892
3 60175061 80 15 NA 0 0 NA 2 4 0 5 0 0 3 8 30 142 FALSE P Nieuwe Vlissingseweg Vlissingen Vlissingen Zeeland 1370.8171
4 62177056 80 3 1 NA 0 NA 2 1 2 2 1 8 7 1 20 9 FALSE W Torenweg Oost-Souburg Vlissingen Waterschap Scheldestromen 174.7822
5 63141007 60 3 0 NA 0 NA 2 2 1 2 0 6 12 5 9 6 FALSE W Watervlietseweg IJzendijke Sluis Waterschap Scheldestromen 235.5509
6 75183003 60 9 1 NA 0 NA 2 3 0 0 0 0 21 89 22 29 FALSE P Langeweg Arnemuiden Middelburg Zeeland 812.7427
7 84170005 60 4 0 NA 0 NA 2 3 0 2 10 17 27 10 19 11 FALSE W 's-Heerenhoeksedijk 's-Heerenhoek Borsele Waterschap Scheldestromen 384.4365
8..891
892 601145821 70 9 NA 0 NA 0 2 3 7 5 0 0 6 21 21 39 FALSE P Noordwijk-Binnen Zuid Noordwijk Noordwijk Zuid-Holland 788.0889

De volgende tabel is de bijbehorende attributentabel die de variabelen in de wegkvaktabel beschrijft.

tabel_wegvakken_obstakels_beschr <- data.frame(
  Attribuut = c(
    "WVK_ID", "limiet_maatgevend", "n_segmenten",
    "limiet_x_voldoet", "aantal_limieten", 
    "n_segmenten_voldoet_niet_bomen", "n_segmenten_voldoet_niet_bgt_obj",
    "n_segmenten_voldoet_niet_talud", "n_bomen_x_x","wvk_voldoet",
    "WEGBEHSRT", "STT_NAAM", "WPSNAAM", "GME_NAAM", "WEGBEHNAAM", "wegvaklengte"
    ),
  Omschrijving = c(
    "Het unieke nummer voor een Wegvak.",
    "De maatgevende snelheidslimiet. Wanneer binnen een wegvak meerdere snelheidslimieten bestaan, is de maatgevende limiet degene met de meeste lengte binnen dat wegvak.",
    "Het aantal segmenten binnen een wegvak",
    "Geeft aan of binnen een wegvak het gedeelte met een limiet van x km/uur voldoet aan de SPI. Geeft de waarde NA wanneer de limiet niet op het wegvak voorkomt.",
    "Geeft aan hoeveel limieten er binnen een wegvak aanwezig zijn.",
    "Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.",
    "Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van BGT objecten binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.",
    "Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen kritische taluds de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.",
    "Het aantal bomen in de betreffende klasse van obstakelvrije zone",
    "Laat zien of het gehele wegvak aan de SPI voldoet, dus in het geval van meerdere limieten of alle limieten voldoen.",
    "Het type wegbeheerder met G: Gemeente, W: Waterschap, P: Provincie en T: Particulier.",
    "Straatnaam", "Naam van de plaats waarin het wegvak ligt.", 
    "Naam van de gemeente waarin de plaats ligt", "Naam van de wegbeheerder.", 
    "Lengte van het wegvak."
    )
)

scroltabel_gt(tabel_wegvakken_obstakels_beschr, title = "Variabelen WKD obstakels data wegvakniveau")
Variabelen WKD obstakels data wegvakniveau
Attribuut Omschrijving
WVK_ID Het unieke nummer voor een Wegvak.
limiet_maatgevend De maatgevende snelheidslimiet. Wanneer binnen een wegvak meerdere snelheidslimieten bestaan, is de maatgevende limiet degene met de meeste lengte binnen dat wegvak.
n_segmenten Het aantal segmenten binnen een wegvak
limiet_x_voldoet Geeft aan of binnen een wegvak het gedeelte met een limiet van x km/uur voldoet aan de SPI. Geeft de waarde NA wanneer de limiet niet op het wegvak voorkomt.
aantal_limieten Geeft aan hoeveel limieten er binnen een wegvak aanwezig zijn.
n_segmenten_voldoet_niet_bomen Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.
n_segmenten_voldoet_niet_bgt_obj Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van BGT objecten binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.
n_segmenten_voldoet_niet_talud Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen kritische taluds de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.
n_bomen_x_x Het aantal bomen in de betreffende klasse van obstakelvrije zone
wvk_voldoet Laat zien of het gehele wegvak aan de SPI voldoet, dus in het geval van meerdere limieten of alle limieten voldoen.
WEGBEHSRT Het type wegbeheerder met G: Gemeente, W: Waterschap, P: Provincie en T: Particulier.
STT_NAAM Straatnaam
WPSNAAM Naam van de plaats waarin het wegvak ligt.
GME_NAAM Naam van de gemeente waarin de plaats ligt
WEGBEHNAAM Naam van de wegbeheerder.
wegvaklengte Lengte van het wegvak.

6 Scores en Benchmark SPI Veilige Infrastructuur - kenmerk afwezigheid obstakels langs rijbanen

De SPI Veilige Infrastructuur bevat het kenmerk “Afwezigheid obstakels langs rijbanen”. Voor wegen met een limiet van 60 km/uur en hoger is een obstakelvrije zone bepaald, een ruimte langs de weg waarin geen obstakels mogen staan. Per snelheidslimiet verschilt de aanbevolen breedte van de obstakelvrije zone. Deze zijn als volgt:

  • 60 km/uur-limiet: ≥ 2,5 meter
  • 70 km-uur-limiet: ≥ 4,5 meter
  • 80 km/uur-limiet: ≥ 6 meter
  • 100 km/uur-limiet: ≥ 10 meter

Hierbij zijn de volgende obstakel typen meegenomen:

  • Bomen
  • Watergangen zoals kanalen, greppels en sloten
  • Steile taluds

Dit betreft niet alle type obstakels, maar enkel die obstakels waarvan grootschalig data kon worden verzameld (zie vorige hoofdstukken voor een verantwoording). Tenslotte zijn wegen die onder het beheer van het Rijk vallen buiten beschouwing gelaten.

6.1 Bepaling scores per wegbeheerder

In het vorige hoofdstuk zijn wegsegmenten beoordeeld ten aanzien van het SPI kenmerk Afwezigheid van obstakels langs rijbanen en deze beoordeling is geaggregeerd naar wegvakniveau. De obstakelvrije zone van een wegsegment is beoordeeld voor de snelheidslimiet die geldt op dat segment. Voor de wegvakken geldt dat deze voldoen wanneer alle segmenten binnen dat wegvak voldoen voor de snelheidslimiet die geldt op de segmenten. Elk wegvak heeft een maatgevende snelheidslimiet, die in het geval van meerdere limieten binnen een wegvak bepaald wordt op basis van de grootste lengte binnen dat wegvak. Bijvoorbeeld, wanneer er een 70- en 100-limiet binnen een wegvak zijn en de 70-limiet geldt op 250 meter en de 100-limiet op 100 meter, dan is de maatgevende limiet 70 km/uur. De beoordeling vindt wel nog steeds plaats op wegsegmentniveau en de obstakelvrije zones die gelden voor de limieten op de wegsegmenten. Wanneer er dus minimaal een segment binnen een wegvak niet voldoet, dan wordt het hele wegvak afgekeurd.

De beoordeling op wegsegment- en wegvakniveau wordt vertaald naar een score op netwerkniveau per wegbeheerder. Daarbij wordt gekeken naar het aandeel van de wegvakken en wegsegmenten dat als voldoende wordt beoordeeld. Per wegbeheerder wordt het volgende gescoord.

  1. Kenmerk afwezigheid obstakels: [aantal wegvakken dat voldoet] / [totaal aantal wegvakken]
  2. Score kenmerk naar weglengte: [totale weglengte van de wegvakken die voldoen] / [totale weglengte]
  3. Score aandeel wegsegmenten zonder obstakels: [aantal wegsegmenten dat voldoet] / [totaal aantal wegsegmenten]

De eerste score is de hoofdscore, omdat deze ook gebruikt kan worden bij de bepaling van een totaal score van de infrastructuur. Alle drie de scores worden onderscheiden op het totale areaal en per limiet.

#### landelijk ####
# wegvakniveau
scores_landelijk_totaal_wvk <- nwb_wvk_obstakels %>%
  st_drop_geometry() %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid obstakels - wegvakniveau` = sum(wvk_voldoet) / n(),
            `Score kenmerk naar weglengte - wegvakniveau` = sum(ifelse(wvk_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1),
            ) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                ~ round(., 1))) %>%
  ungroup()

# wegsegmentniveau
scores_landelijk_totaal_segm <- nwb_segment_obstakels %>%
  st_drop_geometry() %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  ungroup()

# combineer resultaten wegvak en segment
scores_landelijk_totaal <- merge(scores_landelijk_totaal_wvk, scores_landelijk_totaal_segm)


# scores per limiet bepalen - wegvakniveau
scores_landelijk_limiet_wvk <- nwb_wvk_obstakels %>% 
  st_drop_geometry() %>% 
  # groepeer naar limiet
  group_by(limiet_maatgevend) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            #Snelheidslimiet = limiet_maatgevend,
            `Score kenmerk Afwezigheid obstakels - wegvakniveau` = sum(wvk_voldoet) / n(),
            `Score kenmerk naar weglengte - wegvakniveau` = sum(ifelse(wvk_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                ~ round(., 1))) %>%
  relocate(limiet_maatgevend, .after = Wegbeheerder) %>%
  rename(Snelheidslimiet = limiet_maatgevend) %>% 
  ungroup()

# scores per limiet bepalen - wegsegmentniveau
scores_landelijk_limiet_segm <- nwb_segment_obstakels %>% 
  st_drop_geometry() %>% 
  # groepeer naar limiet
  group_by(MAXSHD) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            `Score kenmerk Afwezigheid obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  relocate(MAXSHD, .after = Wegbeheerder) %>%
  rename(Snelheidslimiet = MAXSHD) %>% 
  ungroup()

# combineer resultaten wegvak en segment
scores_landelijk_limiet <- merge(scores_landelijk_limiet_wvk, scores_landelijk_limiet_segm)

# head(scores_landelijk_limiet)

# combineer alle landelijke scores
scores_landelijk <- bind_rows(scores_landelijk_limiet, scores_landelijk_totaal) %>%
  # Limiet als factor om arrange in de juiste volgorde te krijgen
  mutate(Snelheidslimiet = factor(Snelheidslimiet, 
                                  levels = c("60", "70", "80", "100", "Totaal"))) %>% 
  arrange(Wegbeheerder, Snelheidslimiet)

# head(scores_landelijk)

#### provincies ####

# scores voor het totaal bepalen - wegvakniveau
scores_provincies_totaal_wvk <- nwb_wvk_obstakels %>%
  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 obstakels - wegvakniveau` = sum(wvk_voldoet) / n(),
            `Score kenmerk naar weglengte - wegvakniveau` = sum(ifelse(wvk_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                  ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                  ~ round(., 1))) %>%
  rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# wegsegmentniveau
scores_provincies_totaal_segm <- nwb_segment_obstakels %>%
  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 obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# combineer resultaten wegvak en segment
scores_provincies_totaal <- merge(scores_provincies_totaal_wvk, scores_provincies_totaal_segm)

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

# scores per limiet bepalen - wegsegmentniveau
scores_provincies_limiet_segm <- nwb_segment_obstakels %>% 
  st_drop_geometry() %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "P") %>%
  # groepeer naar webeheerder
  group_by(WEGBEHNAAM, MAXSHD) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Provincie" ,
            `Score kenmerk Afwezigheid obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  relocate(MAXSHD, .after = WEGBEHNAAM) %>%
  rename(
    Wegbeheerder = WEGBEHNAAM,
    Snelheidslimiet = MAXSHD
    ) %>% 
  ungroup()

# combineer resultaten wegvak en segment
scores_provincies_limiet <- merge(scores_provincies_limiet_wvk, scores_provincies_limiet_segm) 

# head(scores_provincies_limiet)

# combineer alle provincie scores
scores_provincies <- bind_rows(scores_provincies_limiet, scores_provincies_totaal) %>%
  # Limiet als factor om arrange in de juiste volgorde te krijgen
  mutate(Snelheidslimiet = factor(Snelheidslimiet, 
                                  levels = c("60", "70", "80", "100", "Totaal"))) %>% 
  arrange(Wegbeheerder, Snelheidslimiet)


#### gemeenten ####

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

# wegsegmentniveau
scores_gemeenten_totaal_segm <- nwb_segment_obstakels %>%
  st_drop_geometry() %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "G") %>%
  # groepeer naar webeheerder
  group_by(GME_NAAM) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Gemeente" ,
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  rename(Wegbeheerder = GME_NAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# combineer resultaten wegvak en segment
scores_gemeenten_totaal <- merge(scores_gemeenten_totaal_wvk, scores_gemeenten_totaal_segm)

# scores per limiet bepalen - wegvakniveau 
scores_gemeenten_limiet_wvk <- nwb_wvk_obstakels %>%
  st_drop_geometry() %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "G") %>%
  # groepeer naar webeheerder
  group_by(GME_NAAM, limiet_maatgevend) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Gemeente" ,
            `Score kenmerk Afwezigheid obstakels - wegvakniveau` = sum(wvk_voldoet) / n(),
            `Score kenmerk naar weglengte - wegvakniveau` = sum(ifelse(wvk_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                ~ round(., 1))) %>%
  rename(
    Wegbeheerder = GME_NAAM,
    Snelheidslimiet = limiet_maatgevend
    ) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# scores per limiet bepalen - wegsegmentniveau
scores_gemeenten_limiet_segm <- nwb_segment_obstakels %>% 
  st_drop_geometry() %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "G") %>%
  # groepeer naar webeheerder
  group_by(GME_NAAM, MAXSHD) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Gemeente" ,
            `Score kenmerk Afwezigheid obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  relocate(MAXSHD, .after = GME_NAAM) %>%
  rename(
    Wegbeheerder = GME_NAAM,
    Snelheidslimiet = MAXSHD
    ) %>% 
  ungroup()

# combineer resultaten wegvak en segment
scores_gemeenten_limiet <- merge(scores_gemeenten_limiet_wvk, scores_gemeenten_limiet_segm)

# head(scores_provincies_limiet)

# combineer alle gemeente scores
scores_gemeenten <- bind_rows(scores_gemeenten_limiet, scores_gemeenten_totaal) %>%
  # Limiet als factor om arrange in de juiste volgorde te krijgen
  mutate(Snelheidslimiet = factor(Snelheidslimiet, 
                                  levels = c("60", "70", "80", "100", "Totaal"))) %>% 
  arrange(Wegbeheerder, Snelheidslimiet)

#### waterschappen ####

# scores voor het totaal bepalen - wegvakniveau
scores_waterschappen_totaal_wvk <- nwb_wvk_obstakels %>%
  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 obstakels - wegvakniveau` = sum(wvk_voldoet) / n(),
            `Score kenmerk naar weglengte - wegvakniveau` = sum(ifelse(wvk_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                  ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid obstakels - wegvakniveau`, `Score kenmerk naar weglengte - wegvakniveau`), 
                  ~ round(., 1))) %>%
  rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# wegsegmentniveau
scores_waterschappen_totaal_segm <- nwb_segment_obstakels %>%
  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 obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# combineer resultaten wegvak en segment
scores_waterschappen_totaal <- merge(scores_waterschappen_totaal_wvk, scores_waterschappen_totaal_segm)

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

# scores per limiet bepalen - wegsegmentniveau
scores_waterschappen_limiet_segm <- nwb_segment_obstakels %>% 
  st_drop_geometry() %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "W") %>%
  # groepeer naar webeheerder
  group_by(WEGBEHNAAM, MAXSHD) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Waterschap" ,
            `Score kenmerk Afwezigheid obstakels - wegsegmentniveau` = sum(segment_voldoet) / n(),
            `Aantal segmenten` = n()
            ) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ set_units(. * 100, "%"))) %>%
  mutate(across(`Score kenmerk Afwezigheid obstakels - wegsegmentniveau`, ~ round(., 1))) %>%
  relocate(MAXSHD, .after = WEGBEHNAAM) %>%
  rename(
    Wegbeheerder = WEGBEHNAAM,
    Snelheidslimiet = MAXSHD
    ) %>% 
  ungroup()

# combineer resultaten wegvak en segment
scores_waterschappen_limiet <- merge(scores_waterschappen_limiet_wvk, scores_waterschappen_limiet_segm)

# head(scores_waterschappen_limiet)

# combineer alle waterschap scores
scores_waterschappen <- bind_rows(scores_waterschappen_limiet, scores_waterschappen_totaal) %>%
  # Limiet als factor om arrange in de juiste volgorde te krijgen
  mutate(Snelheidslimiet = factor(Snelheidslimiet, 
                                  levels = c("60", "70", "80", "100", "Totaal"))) %>% 
  arrange(Wegbeheerder, Snelheidslimiet)

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 obstakels langs rijbanen per wegbeheerder

In deze paragraaf worden de deelscores van de SPI Veilige Infrastructuur- Afwezigheid van obstakels langs rijbanen getoond. De getoonde resultaten worden apart getoond in subparagrafen op landelijk niveau en voor waterschapswegbeheerders, provinciale wegbeheerders en gemeentelijke wegbeheerders.

6.2.1 Landelijk

Hieronder worden de scores voor heel Nederland getoond.

scroltabel_gt(scores_landelijk, 
  title = "SPI Veilige Infrastructuur - Afwezigheid van obstakels langs rijbanen, van alle wegbeheerders samen")
SPI Veilige Infrastructuur - Afwezigheid van obstakels langs rijbanen, van alle wegbeheerders samen
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid obstakels - wegvakniveau Score kenmerk naar weglengte - wegvakniveau Totale weglengte [km] Score kenmerk Afwezigheid obstakels - wegsegmentniveau Aantal segmenten
Totaal Totaal 60 36.4 [%] 10.7 [%] 51389.3 34.4 [%] 589595
Totaal Totaal 70 60.1 [%] 19.0 [%] 940.5 56.9 [%] 12612
Totaal Totaal 80 53.4 [%] 12.1 [%] 12463.7 39.2 [%] 152522
Totaal Totaal 100 27.6 [%] 6.6 [%] 1264.7 32.1 [%] 13601
Totaal Totaal Totaal 40.9 [%] 11.0 [%] 66058.2 35.6 [%] 768330

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 obstakels langs rijbanen, van waterschaps-wegbeheerders")
SPI Veilige Infrastructuur - Afwezigheid van obstakels langs rijbanen, van waterschaps-wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid obstakels - wegvakniveau Score kenmerk naar weglengte - wegvakniveau Totale weglengte [km] Score kenmerk Afwezigheid obstakels - wegsegmentniveau Aantal segmenten
Waterschap HHS Hollands Noorderkwartier 60 19.4 [%] 3.7 [%] 328.5 23.6 [%] 3381
Waterschap HHS Hollands Noorderkwartier 80 44.4 [%] 5.4 [%] 5.4 32.9 [%] 70
Waterschap HHS Hollands Noorderkwartier Totaal 20.7 [%] 3.8 [%] 333.9 23.8 [%] 3451
Waterschap HHS Schieland en de Krimpenerwaard 60 29.7 [%] 1.8 [%] 97.5 11.9 [%] 1069
Waterschap HHS Schieland en de Krimpenerwaard 80 70.6 [%] 6.3 [%] 4.8 26.3 [%] 57
Waterschap HHS Schieland en de Krimpenerwaard Totaal 33.0 [%] 2.0 [%] 102.3 12.6 [%] 1126
Waterschap Waterschap De Hollandse Delta 60 31.2 [%] 7.6 [%] 1198.2 31.5 [%] 13796
Waterschap Waterschap De Hollandse Delta 70 100.0 [%] 100.0 [%] 0.4 100.0 [%] 7
Waterschap Waterschap De Hollandse Delta 80 54.4 [%] 18.7 [%] 110.6 46.8 [%] 1422
Waterschap Waterschap De Hollandse Delta 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Waterschap Waterschap De Hollandse Delta Totaal 34.4 [%] 8.5 [%] 1309.2 33.0 [%] 15226
Waterschap Waterschap Rivierenland 60 25.3 [%] 2.7 [%] 461.2 20.9 [%] 5167
Waterschap Waterschap Rivierenland 80 56.3 [%] 8.0 [%] 26.3 40.0 [%] 340
Waterschap Waterschap Rivierenland 100 50.0 [%] 3.1 [%] 0.2 66.7 [%] 3
Waterschap Waterschap Rivierenland Totaal 28.6 [%] 3.0 [%] 487.7 22.1 [%] 5510
Waterschap Waterschap Scheldestromen 60 27.6 [%] 6.6 [%] 3442.6 28.3 [%] 39084
Waterschap Waterschap Scheldestromen 70 100.0 [%] 100.0 [%] 0.2 100.0 [%] 3
Waterschap Waterschap Scheldestromen 80 37.9 [%] 9.0 [%] 189.9 32.2 [%] 2235
Waterschap Waterschap Scheldestromen 100 66.7 [%] 6.4 [%] 0.4 33.3 [%] 6
Waterschap Waterschap Scheldestromen Totaal 28.3 [%] 6.7 [%] 3633.2 28.5 [%] 41328
Waterschap Waterschap Vallei en Veluwe 60 0.0 [%] 0.0 [%] 0.4 0.0 [%] 4
Waterschap Waterschap Vallei en Veluwe Totaal 0.0 [%] 0.0 [%] 0.4 0.0 [%] 4
Waterschap Waterschap West Friesland 60 100.0 [%] 100.0 [%] 0.1 100.0 [%] 1
Waterschap Waterschap West Friesland Totaal 100.0 [%] 100.0 [%] 0.1 100.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 obstakels langs rijbanen, van provinciale wegbeheerders")
SPI Veilige Infrastructuur - Afwezigheid van obstakels langs rijbanen, van provinciale wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid obstakels - wegvakniveau Score kenmerk naar weglengte - wegvakniveau Totale weglengte [km] Score kenmerk Afwezigheid obstakels - wegsegmentniveau Aantal segmenten
Provincie Drenthe 60 50.0 [%] 12.3 [%] 31.1 37.7 [%] 523
Provincie Drenthe 70 26.9 [%] 3.3 [%] 22.0 45.5 [%] 255
Provincie Drenthe 80 56.8 [%] 7.8 [%] 323.2 31.5 [%] 3931
Provincie Drenthe 100 21.8 [%] 1.9 [%] 157.4 17.8 [%] 1726
Provincie Drenthe Totaal 49.7 [%] 6.2 [%] 533.7 28.9 [%] 6435
Provincie Flevoland 60 67.5 [%] 15.4 [%] 23.6 73.3 [%] 292
Provincie Flevoland 70 68.6 [%] 30.0 [%] 5.6 61.3 [%] 80
Provincie Flevoland 80 60.6 [%] 9.1 [%] 461.1 35.5 [%] 5435
Provincie Flevoland 100 35.2 [%] 1.4 [%] 139.7 21.3 [%] 1410
Provincie Flevoland Totaal 59.0 [%] 7.8 [%] 630.0 34.5 [%] 7217
Provincie Friesland 60 41.4 [%] 7.7 [%] 133.3 32.6 [%] 1585
Provincie Friesland 70 76.5 [%] 35.7 [%] 27.2 65.0 [%] 429
Provincie Friesland 80 55.3 [%] 9.9 [%] 341.0 34.1 [%] 4233
Provincie Friesland 100 20.9 [%] 4.6 [%] 207.3 26.8 [%] 2195
Provincie Friesland Totaal 49.6 [%] 8.9 [%] 708.9 33.5 [%] 8442
Provincie Gelderland 60 52.8 [%] 10.2 [%] 172.4 34.7 [%] 2196
Provincie Gelderland 70 76.7 [%] 35.6 [%] 14.3 72.5 [%] 247
Provincie Gelderland 80 58.3 [%] 13.2 [%] 1097.8 43.0 [%] 14303
Provincie Gelderland 100 27.8 [%] 7.7 [%] 108.6 43.5 [%] 1161
Provincie Gelderland Totaal 57.2 [%] 12.6 [%] 1393.2 42.4 [%] 17907
Provincie Groningen 60 55.6 [%] 19.2 [%] 116.2 43.3 [%] 1448
Provincie Groningen 70 42.2 [%] 25.5 [%] 47.7 58.7 [%] 569
Provincie Groningen 80 54.2 [%] 12.8 [%] 282.6 35.0 [%] 3422
Provincie Groningen 100 21.3 [%] 4.9 [%] 122.4 18.3 [%] 1343
Provincie Groningen Totaal 49.1 [%] 13.4 [%] 568.9 35.5 [%] 6782
Provincie Limburg 60 76.7 [%] 36.9 [%] 6.7 63.8 [%] 94
Provincie Limburg 70 63.0 [%] 31.5 [%] 3.7 48.3 [%] 58
Provincie Limburg 80 57.1 [%] 15.7 [%] 459.0 46.6 [%] 5982
Provincie Limburg 100 29.1 [%] 15.9 [%] 103.7 57.8 [%] 1133
Provincie Limburg Totaal 55.3 [%] 16.1 [%] 573.0 48.6 [%] 7267
Provincie Noord-Brabant 60 84.9 [%] 50.2 [%] 20.1 75.8 [%] 327
Provincie Noord-Brabant 70 66.0 [%] 26.0 [%] 8.0 71.9 [%] 114
Provincie Noord-Brabant 80 61.9 [%] 15.4 [%] 616.3 50.9 [%] 8034
Provincie Noord-Brabant 100 21.0 [%] 5.5 [%] 44.2 42.0 [%] 486
Provincie Noord-Brabant Totaal 62.2 [%] 15.9 [%] 688.5 51.6 [%] 8961
Provincie Noord-Holland 60 62.2 [%] 17.6 [%] 127.1 46.3 [%] 1591
Provincie Noord-Holland 70 64.5 [%] 24.4 [%] 55.5 62.8 [%] 761
Provincie Noord-Holland 80 61.6 [%] 14.8 [%] 572.7 45.3 [%] 7164
Provincie Noord-Holland 100 25.7 [%] 10.5 [%] 89.0 43.4 [%] 918
Provincie Noord-Holland Totaal 60.4 [%] 15.4 [%] 844.4 46.5 [%] 10434
Provincie Overijssel 60 50.1 [%] 10.1 [%] 188.9 38.6 [%] 2468
Provincie Overijssel 70 73.7 [%] 47.3 [%] 10.9 76.8 [%] 185
Provincie Overijssel 80 49.2 [%] 11.6 [%] 625.4 38.0 [%] 7652
Provincie Overijssel 100 37.5 [%] 4.0 [%] 38.7 29.5 [%] 447
Provincie Overijssel Totaal 49.7 [%] 11.4 [%] 863.8 38.4 [%] 10752
Provincie Utrecht 60 65.0 [%] 29.2 [%] 97.3 55.9 [%] 1235
Provincie Utrecht 70 75.0 [%] 48.4 [%] 2.5 89.5 [%] 38
Provincie Utrecht 80 63.3 [%] 19.3 [%] 313.4 48.9 [%] 4205
Provincie Utrecht 100 46.7 [%] 6.9 [%] 13.1 35.5 [%] 141
Provincie Utrecht Totaal 63.5 [%] 21.3 [%] 426.3 50.4 [%] 5619
Provincie Zeeland 60 66.3 [%] 20.6 [%] 113.2 58.1 [%] 1462
Provincie Zeeland 70 82.8 [%] 44.8 [%] 6.6 76.2 [%] 130
Provincie Zeeland 80 63.4 [%] 12.5 [%] 341.6 40.6 [%] 4387
Provincie Zeeland 100 30.0 [%] 6.1 [%] 134.5 27.5 [%] 1454
Provincie Zeeland Totaal 61.4 [%] 12.9 [%] 595.9 42.1 [%] 7433
Provincie Zuid-Holland 60 68.9 [%] 24.1 [%] 201.2 56.1 [%] 2713
Provincie Zuid-Holland 70 51.5 [%] 17.2 [%] 9.3 45.6 [%] 103
Provincie Zuid-Holland 80 66.3 [%] 17.3 [%] 558.4 53.2 [%] 7110
Provincie Zuid-Holland 100 15.8 [%] 6.6 [%] 13.7 47.0 [%] 149
Provincie Zuid-Holland Totaal 66.5 [%] 18.9 [%] 782.6 53.8 [%] 10075

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 obstakels langs rijbanen, van gemeentelijke wegbeheerders")
SPI Veilige Infrastructuur - Afwezigheid van obstakels langs rijbanen, van gemeentelijke wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid obstakels - wegvakniveau Score kenmerk naar weglengte - wegvakniveau Totale weglengte [km] Score kenmerk Afwezigheid obstakels - wegsegmentniveau Aantal segmenten
Gemeente 's-Gravenhage 60 92.3 [%] 96.9 [%] 1.1 92.9 [%] 28
Gemeente 's-Gravenhage 70 38.9 [%] 16.3 [%] 14.4 64.8 [%] 162
Gemeente 's-Gravenhage 80 83.3 [%] 93.3 [%] 0.1 83.3 [%] 6
Gemeente 's-Gravenhage 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 2
Gemeente 's-Gravenhage Totaal 64.3 [%] 22.7 [%] 15.7 69.7 [%] 198
Gemeente 's-Hertogenbosch 60 41.4 [%] 11.0 [%] 148.8 35.2 [%] 1740
Gemeente 's-Hertogenbosch 70 58.3 [%] 6.3 [%] 3.4 58.2 [%] 55
Gemeente 's-Hertogenbosch 80 46.0 [%] 7.5 [%] 25.0 38.9 [%] 280
Gemeente 's-Hertogenbosch 100 0.0 [%] 0.0 [%] 0.1 0.0 [%] 2
Gemeente 's-Hertogenbosch Totaal 42.3 [%] 10.4 [%] 177.2 36.3 [%] 2077
Gemeente Aa en Hunze 60 32.2 [%] 9.4 [%] 287.0 35.0 [%] 3063
Gemeente Aa en Hunze 70 80.0 [%] 72.2 [%] 0.8 91.7 [%] 12
Gemeente Aa en Hunze 80 20.9 [%] 3.2 [%] 95.0 16.6 [%] 988
Gemeente Aa en Hunze Totaal 30.1 [%] 8.0 [%] 382.8 30.7 [%] 4063
Gemeente Aalsmeer 60 59.1 [%] 24.1 [%] 6.0 57.4 [%] 68
Gemeente Aalsmeer 80 75.0 [%] 7.8 [%] 2.4 70.0 [%] 20
Gemeente Aalsmeer Totaal 65.8 [%] 19.4 [%] 8.5 60.2 [%] 88
Gemeente Aalten 60 26.9 [%] 9.4 [%] 259.5 27.5 [%] 2998
Gemeente Aalten 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 2
Gemeente Aalten 80 66.7 [%] 24.7 [%] 1.7 48.0 [%] 25
Gemeente Aalten Totaal 27.6 [%] 9.5 [%] 261.2 27.7 [%] 3025
Gemeente Achtkarspelen 60 37.6 [%] 10.4 [%] 154.9 32.6 [%] 1800
Gemeente Achtkarspelen 70 0.0 [%] 0.0 [%] 0.6 25.0 [%] 4
Gemeente Achtkarspelen 80 46.8 [%] 9.2 [%] 19.0 34.8 [%] 207
Gemeente Achtkarspelen Totaal 39.0 [%] 10.3 [%] 174.5 32.8 [%] 2011
Gemeente Alblasserdam 60 69.2 [%] 65.4 [%] 1.8 69.2 [%] 26
Gemeente Alblasserdam 80 77.5 [%] 41.8 [%] 2.4 78.8 [%] 52
Gemeente Alblasserdam Totaal 75.5 [%] 52.0 [%] 4.2 75.6 [%] 78
Gemeente Albrandswaard 60 66.0 [%] 55.0 [%] 7.9 73.6 [%] 106
Gemeente Albrandswaard 80 83.3 [%] 31.8 [%] 2.5 71.1 [%] 45
Gemeente Albrandswaard Totaal 72.7 [%] 49.4 [%] 10.4 72.8 [%] 151
Gemeente Alkmaar 60 37.2 [%] 6.6 [%] 129.8 34.9 [%] 1424
Gemeente Alkmaar 70 74.2 [%] 24.5 [%] 5.1 81.7 [%] 71
Gemeente Alkmaar 80 75.7 [%] 30.7 [%] 3.7 63.2 [%] 57
Gemeente Alkmaar Totaal 44.9 [%] 7.8 [%] 138.5 38.1 [%] 1552
Gemeente Almelo 60 36.6 [%] 13.4 [%] 74.2 41.2 [%] 865
Gemeente Almelo 70 60.7 [%] 29.5 [%] 17.8 63.2 [%] 269
Gemeente Almelo 80 47.0 [%] 11.4 [%] 53.0 44.5 [%] 658
Gemeente Almelo 100 20.0 [%] 0.8 [%] 2.7 13.3 [%] 30
Gemeente Almelo Totaal 45.4 [%] 14.4 [%] 147.7 45.2 [%] 1822
Gemeente Almere 60 69.9 [%] 47.3 [%] 84.9 76.1 [%] 1061
Gemeente Almere 80 54.5 [%] 17.2 [%] 9.7 37.5 [%] 120
Gemeente Almere Totaal 68.4 [%] 44.2 [%] 94.6 72.1 [%] 1181
Gemeente Alphen aan den Rijn 60 42.6 [%] 12.6 [%] 112.8 37.7 [%] 1267
Gemeente Alphen aan den Rijn 70 72.2 [%] 52.2 [%] 8.0 73.9 [%] 115
Gemeente Alphen aan den Rijn 80 66.7 [%] 30.1 [%] 0.8 54.5 [%] 11
Gemeente Alphen aan den Rijn Totaal 47.0 [%] 15.3 [%] 121.6 40.8 [%] 1393
Gemeente Alphen-Chaam 60 31.6 [%] 11.1 [%] 181.5 31.9 [%] 2059
Gemeente Alphen-Chaam 80 52.6 [%] 4.8 [%] 2.7 42.5 [%] 40
Gemeente Alphen-Chaam Totaal 32.5 [%] 11.0 [%] 184.2 32.1 [%] 2099
Gemeente Altena 60 31.5 [%] 8.9 [%] 343.6 35.1 [%] 3725
Gemeente Altena 80 67.1 [%] 16.3 [%] 11.2 60.3 [%] 156
Gemeente Altena Totaal 34.7 [%] 9.1 [%] 354.8 36.1 [%] 3881
Gemeente Ameland 60 55.3 [%] 33.6 [%] 57.9 84.3 [%] 688
Gemeente Ameland 80 57.1 [%] 50.7 [%] 11.0 92.9 [%] 112
Gemeente Ameland Totaal 55.5 [%] 36.3 [%] 68.8 85.5 [%] 800
Gemeente Amersfoort 60 44.9 [%] 9.5 [%] 44.9 35.3 [%] 555
Gemeente Amersfoort 70 65.3 [%] 8.0 [%] 16.4 55.2 [%] 232
Gemeente Amersfoort 80 59.0 [%] 24.2 [%] 13.8 47.9 [%] 167
Gemeente Amersfoort Totaal 53.7 [%] 11.9 [%] 75.1 42.3 [%] 954
Gemeente Amstelveen 60 43.2 [%] 12.3 [%] 43.2 35.2 [%] 514
Gemeente Amstelveen 80 74.2 [%] 45.0 [%] 3.8 74.5 [%] 55
Gemeente Amstelveen Totaal 47.8 [%] 14.9 [%] 47.1 39.0 [%] 569
Gemeente Amsterdam 60 71.5 [%] 29.2 [%] 66.2 53.0 [%] 826
Gemeente Amsterdam 70 48.1 [%] 14.1 [%] 42.2 53.2 [%] 528
Gemeente Amsterdam 80 48.3 [%] 12.2 [%] 4.2 40.4 [%] 57
Gemeente Amsterdam 100 90.9 [%] 66.0 [%] 0.4 90.9 [%] 22
Gemeente Amsterdam Totaal 63.3 [%] 23.1 [%] 113.1 53.2 [%] 1433
Gemeente Apeldoorn 60 32.0 [%] 8.8 [%] 382.2 30.1 [%] 4361
Gemeente Apeldoorn 80 52.9 [%] 10.7 [%] 26.6 39.1 [%] 322
Gemeente Apeldoorn Totaal 34.3 [%] 8.9 [%] 408.8 30.7 [%] 4683
Gemeente Arnhem 60 48.0 [%] 16.7 [%] 47.1 45.9 [%] 567
Gemeente Arnhem 70 36.0 [%] 9.4 [%] 8.4 52.7 [%] 91
Gemeente Arnhem 80 62.2 [%] 32.2 [%] 9.0 56.2 [%] 112
Gemeente Arnhem 100 33.3 [%] 1.0 [%] 0.6 14.3 [%] 7
Gemeente Arnhem Totaal 50.5 [%] 17.7 [%] 65.1 47.9 [%] 777
Gemeente Assen 60 53.7 [%] 18.6 [%] 104.2 44.5 [%] 1268
Gemeente Assen 70 61.6 [%] 18.6 [%] 17.0 59.2 [%] 238
Gemeente Assen 80 67.5 [%] 19.4 [%] 9.2 51.8 [%] 139
Gemeente Assen Totaal 56.9 [%] 18.6 [%] 130.5 47.2 [%] 1645
Gemeente Asten 60 27.5 [%] 4.2 [%] 141.4 24.1 [%] 1595
Gemeente Asten 80 65.6 [%] 15.7 [%] 8.4 51.7 [%] 120
Gemeente Asten Totaal 33.0 [%] 4.9 [%] 149.9 26.1 [%] 1715
Gemeente Baarle-Nassau 60 23.3 [%] 7.0 [%] 202.0 27.2 [%] 2290
Gemeente Baarle-Nassau 80 100.0 [%] 100.0 [%] 0.0 100.0 [%] 2
Gemeente Baarle-Nassau Totaal 23.6 [%] 7.0 [%] 202.0 27.3 [%] 2292
Gemeente Baarn 60 35.8 [%] 10.1 [%] 28.8 39.4 [%] 345
Gemeente Baarn 80 58.8 [%] 19.6 [%] 3.8 42.2 [%] 45
Gemeente Baarn Totaal 39.0 [%] 11.2 [%] 32.7 39.7 [%] 390
Gemeente Barendrecht 60 81.2 [%] 62.6 [%] 3.7 81.8 [%] 66
Gemeente Barendrecht 70 53.6 [%] 12.5 [%] 15.1 45.0 [%] 200
Gemeente Barendrecht 80 50.0 [%] 20.4 [%] 0.8 40.0 [%] 10
Gemeente Barendrecht Totaal 63.2 [%] 22.3 [%] 19.7 53.6 [%] 276
Gemeente Barneveld 60 34.2 [%] 10.6 [%] 308.7 29.7 [%] 3511
Gemeente Barneveld 80 53.6 [%] 15.9 [%] 31.4 47.2 [%] 411
Gemeente Barneveld Totaal 37.4 [%] 11.1 [%] 340.1 31.5 [%] 3922
Gemeente Beek 60 34.2 [%] 15.7 [%] 54.6 48.4 [%] 659
Gemeente Beek 80 34.2 [%] 14.5 [%] 9.8 30.3 [%] 109
Gemeente Beek Totaal 34.2 [%] 15.5 [%] 64.4 45.8 [%] 768
Gemeente Beekdaelen 60 39.5 [%] 16.5 [%] 81.4 48.1 [%] 928
Gemeente Beekdaelen 80 39.2 [%] 11.8 [%] 42.5 42.7 [%] 482
Gemeente Beekdaelen 100 0.0 [%] 0.0 [%] 0.4 0.0 [%] 5
Gemeente Beekdaelen Totaal 39.2 [%] 14.9 [%] 124.3 46.1 [%] 1415
Gemeente Beesel 60 36.1 [%] 7.7 [%] 45.4 31.9 [%] 558
Gemeente Beesel 80 38.0 [%] 17.7 [%] 52.0 39.3 [%] 641
Gemeente Beesel Totaal 37.1 [%] 13.0 [%] 97.4 35.9 [%] 1199
Gemeente Berg en Dal 60 33.2 [%] 12.4 [%] 125.0 37.8 [%] 1409
Gemeente Berg en Dal 80 43.2 [%] 9.3 [%] 11.0 31.0 [%] 126
Gemeente Berg en Dal Totaal 34.2 [%] 12.1 [%] 136.1 37.3 [%] 1535
Gemeente Bergeijk 60 26.6 [%] 6.0 [%] 175.5 31.7 [%] 1997
Gemeente Bergeijk 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Bergeijk 80 21.9 [%] 2.5 [%] 10.5 24.4 [%] 119
Gemeente Bergeijk Totaal 26.5 [%] 5.8 [%] 186.1 31.3 [%] 2117
Gemeente Bergen (L) 60 29.6 [%] 9.6 [%] 152.1 33.3 [%] 1740
Gemeente Bergen (L) 70 25.0 [%] 0.9 [%] 0.8 30.0 [%] 10
Gemeente Bergen (L) 80 32.1 [%] 3.7 [%] 47.1 27.1 [%] 539
Gemeente Bergen (L) Totaal 30.1 [%] 8.2 [%] 200.0 31.8 [%] 2289
Gemeente Bergen (NH) 60 25.3 [%] 5.0 [%] 67.1 18.3 [%] 738
Gemeente Bergen (NH) 80 55.6 [%] 11.1 [%] 4.5 54.5 [%] 55
Gemeente Bergen (NH) Totaal 28.2 [%] 5.3 [%] 71.6 20.8 [%] 793
Gemeente Bergen op Zoom 60 38.2 [%] 14.0 [%] 133.2 35.2 [%] 1589
Gemeente Bergen op Zoom 70 62.5 [%] 6.6 [%] 4.3 53.3 [%] 60
Gemeente Bergen op Zoom 80 49.3 [%] 6.8 [%] 16.3 39.5 [%] 205
Gemeente Bergen op Zoom Totaal 40.4 [%] 13.0 [%] 153.8 36.3 [%] 1854
Gemeente Berkelland 60 21.7 [%] 5.0 [%] 699.0 22.4 [%] 7960
Gemeente Berkelland 80 39.5 [%] 8.7 [%] 15.8 34.8 [%] 207
Gemeente Berkelland Totaal 22.5 [%] 5.0 [%] 714.8 22.7 [%] 8167
Gemeente Bernheze 60 25.9 [%] 7.3 [%] 237.3 29.8 [%] 2723
Gemeente Bernheze 80 75.0 [%] 26.4 [%] 4.7 65.7 [%] 70
Gemeente Bernheze Totaal 28.3 [%] 7.7 [%] 242.0 30.7 [%] 2793
Gemeente Best 60 33.1 [%] 11.5 [%] 77.8 33.1 [%] 952
Gemeente Best 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Best 80 63.8 [%] 17.2 [%] 10.7 43.1 [%] 137
Gemeente Best 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 2
Gemeente Best Totaal 38.7 [%] 12.2 [%] 88.5 34.5 [%] 1092
Gemeente Beuningen 60 41.0 [%] 10.8 [%] 86.1 35.3 [%] 980
Gemeente Beuningen 80 64.9 [%] 16.1 [%] 5.8 53.3 [%] 90
Gemeente Beuningen Totaal 44.9 [%] 11.1 [%] 91.9 36.8 [%] 1070
Gemeente Beverwijk 60 52.0 [%] 19.6 [%] 9.8 48.8 [%] 125
Gemeente Beverwijk 80 59.3 [%] 6.7 [%] 4.7 46.7 [%] 60
Gemeente Beverwijk Totaal 54.5 [%] 15.4 [%] 14.5 48.1 [%] 185
Gemeente Bladel 60 30.9 [%] 4.3 [%] 109.0 25.2 [%] 1217
Gemeente Bladel 80 25.0 [%] 10.2 [%] 1.2 31.2 [%] 16
Gemeente Bladel Totaal 30.7 [%] 4.4 [%] 110.2 25.3 [%] 1233
Gemeente Blaricum 60 70.1 [%] 32.6 [%] 14.0 61.2 [%] 183
Gemeente Blaricum 80 75.0 [%] 33.5 [%] 0.2 60.0 [%] 5
Gemeente Blaricum Totaal 70.4 [%] 32.6 [%] 14.2 61.2 [%] 188
Gemeente Bloemendaal 60 50.0 [%] 11.1 [%] 7.3 36.5 [%] 96
Gemeente Bloemendaal Totaal 50.0 [%] 11.1 [%] 7.3 36.5 [%] 96
Gemeente Bodegraven-Reeuwijk 60 44.7 [%] 8.9 [%] 81.6 26.9 [%] 952
Gemeente Bodegraven-Reeuwijk 80 76.0 [%] 17.7 [%] 4.9 39.7 [%] 63
Gemeente Bodegraven-Reeuwijk Totaal 47.4 [%] 9.4 [%] 86.5 27.7 [%] 1015
Gemeente Boekel 60 33.8 [%] 14.2 [%] 82.7 33.9 [%] 967
Gemeente Boekel 80 100.0 [%] 100.0 [%] 0.4 100.0 [%] 8
Gemeente Boekel Totaal 35.7 [%] 14.6 [%] 83.1 34.5 [%] 975
Gemeente Borger-Odoorn 60 26.8 [%] 7.1 [%] 381.3 34.0 [%] 4162
Gemeente Borger-Odoorn 70 50.0 [%] 2.9 [%] 1.2 63.6 [%] 11
Gemeente Borger-Odoorn 80 22.7 [%] 0.9 [%] 30.3 30.7 [%] 332
Gemeente Borger-Odoorn Totaal 26.6 [%] 6.7 [%] 412.8 33.9 [%] 4505
Gemeente Borne 60 35.8 [%] 11.3 [%] 64.5 33.0 [%] 801
Gemeente Borne 80 57.1 [%] 17.1 [%] 6.5 41.7 [%] 103
Gemeente Borne Totaal 39.2 [%] 11.8 [%] 71.1 34.0 [%] 904
Gemeente Borsele 60 78.9 [%] 75.8 [%] 33.5 84.4 [%] 448
Gemeente Borsele 80 56.2 [%] 11.7 [%] 2.0 46.4 [%] 28
Gemeente Borsele Totaal 77.4 [%] 72.2 [%] 35.5 82.1 [%] 476
Gemeente Boxtel 60 31.2 [%] 9.9 [%] 132.5 29.0 [%] 1547
Gemeente Boxtel 80 64.2 [%] 9.8 [%] 7.0 58.4 [%] 113
Gemeente Boxtel 100 0.0 [%] 0.0 [%] 0.0 0.0 [%] 1
Gemeente Boxtel Totaal 35.2 [%] 9.9 [%] 139.5 30.9 [%] 1661
Gemeente Breda 60 29.7 [%] 7.6 [%] 174.4 28.2 [%] 2047
Gemeente Breda 70 64.6 [%] 22.6 [%] 36.5 60.4 [%] 497
Gemeente Breda 80 36.0 [%] 4.7 [%] 12.5 23.3 [%] 150
Gemeente Breda 100 0.0 [%] 0.0 [%] 0.1 0.0 [%] 1
Gemeente Breda Totaal 38.8 [%] 9.9 [%] 223.5 33.9 [%] 2695
Gemeente Bronckhorst 60 24.4 [%] 5.4 [%] 692.0 22.1 [%] 7858
Gemeente Bronckhorst 80 52.6 [%] 19.6 [%] 13.2 44.2 [%] 156
Gemeente Bronckhorst Totaal 25.3 [%] 5.7 [%] 705.2 22.5 [%] 8014
Gemeente Brummen 60 24.8 [%] 6.0 [%] 169.7 24.9 [%] 1921
Gemeente Brummen 80 41.4 [%] 5.0 [%] 8.2 26.0 [%] 100
Gemeente Brummen Totaal 25.8 [%] 6.0 [%] 177.9 25.0 [%] 2021
Gemeente Brunssum 60 72.1 [%] 31.2 [%] 14.9 66.7 [%] 186
Gemeente Brunssum 80 60.7 [%] 16.1 [%] 3.7 52.7 [%] 55
Gemeente Brunssum Totaal 68.8 [%] 28.2 [%] 18.6 63.5 [%] 241
Gemeente Bunnik 60 50.6 [%] 15.6 [%] 49.7 39.9 [%] 587
Gemeente Bunnik 80 46.4 [%] 13.9 [%] 3.6 43.1 [%] 51
Gemeente Bunnik 100 0.0 [%] 0.0 [%] 0.0 0.0 [%] 1
Gemeente Bunnik Totaal 49.8 [%] 15.5 [%] 53.3 40.1 [%] 639
Gemeente Bunschoten 60 17.2 [%] 4.4 [%] 35.0 28.1 [%] 370
Gemeente Bunschoten 80 66.7 [%] 6.4 [%] 1.5 26.3 [%] 19
Gemeente Bunschoten Totaal 21.4 [%] 4.5 [%] 36.6 28.0 [%] 389
Gemeente Buren 60 32.2 [%] 6.6 [%] 304.8 23.2 [%] 3395
Gemeente Buren 80 40.0 [%] 2.2 [%] 0.9 33.3 [%] 12
Gemeente Buren Totaal 32.3 [%] 6.6 [%] 305.7 23.3 [%] 3407
Gemeente Capelle aan den IJssel 60 100.0 [%] 100.0 [%] 0.0 100.0 [%] 2
Gemeente Capelle aan den IJssel 70 45.8 [%] 9.9 [%] 3.6 47.1 [%] 51
Gemeente Capelle aan den IJssel 80 0.0 [%] 0.0 [%] 0.8 12.5 [%] 8
Gemeente Capelle aan den IJssel Totaal 48.1 [%] 8.9 [%] 4.4 44.3 [%] 61
Gemeente Castricum 60 41.5 [%] 5.2 [%] 16.2 35.9 [%] 192
Gemeente Castricum 80 87.5 [%] 66.6 [%] 0.3 87.5 [%] 8
Gemeente Castricum Totaal 46.6 [%] 6.2 [%] 16.4 38.0 [%] 200
Gemeente Coevorden 60 25.8 [%] 7.9 [%] 244.0 31.0 [%] 2656
Gemeente Coevorden 70 50.0 [%] 10.6 [%] 0.1 66.7 [%] 3
Gemeente Coevorden 80 23.6 [%] 5.4 [%] 317.8 25.1 [%] 3455
Gemeente Coevorden Totaal 24.6 [%] 6.5 [%] 562.0 27.7 [%] 6114
Gemeente Cranendonck 60 34.1 [%] 9.1 [%] 125.7 31.8 [%] 1451
Gemeente Cranendonck 80 46.6 [%] 8.2 [%] 15.7 37.4 [%] 198
Gemeente Cranendonck Totaal 35.9 [%] 9.0 [%] 141.4 32.4 [%] 1649
Gemeente Culemborg 60 37.3 [%] 5.7 [%] 39.4 24.4 [%] 451
Gemeente Culemborg 80 45.5 [%] 37.2 [%] 2.0 52.6 [%] 19
Gemeente Culemborg Totaal 38.1 [%] 7.2 [%] 41.4 25.5 [%] 470
Gemeente Dalfsen 60 27.2 [%] 6.5 [%] 371.3 24.4 [%] 4169
Gemeente Dalfsen 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Dalfsen 80 52.6 [%] 17.5 [%] 20.3 50.7 [%] 229
Gemeente Dalfsen Totaal 28.8 [%] 7.1 [%] 391.6 25.8 [%] 4399
Gemeente Dantumadiel 60 39.1 [%] 18.9 [%] 121.5 47.0 [%] 1322
Gemeente Dantumadiel 80 48.1 [%] 12.5 [%] 11.5 37.9 [%] 145
Gemeente Dantumadiel Totaal 40.5 [%] 18.4 [%] 133.0 46.1 [%] 1467
Gemeente De Bilt 60 33.6 [%] 5.7 [%] 37.5 30.1 [%] 422
Gemeente De Bilt 80 45.7 [%] 44.1 [%] 6.8 47.9 [%] 71
Gemeente De Bilt Totaal 36.2 [%] 11.6 [%] 44.2 32.7 [%] 493
Gemeente De Fryske Marren 60 34.1 [%] 11.0 [%] 382.3 48.0 [%] 4188
Gemeente De Fryske Marren 70 50.0 [%] 32.7 [%] 0.2 50.0 [%] 4
Gemeente De Fryske Marren 80 39.9 [%] 4.3 [%] 64.1 36.3 [%] 758
Gemeente De Fryske Marren 100 100.0 [%] 100.0 [%] 0.1 100.0 [%] 2
Gemeente De Fryske Marren Totaal 35.4 [%] 10.1 [%] 446.7 46.3 [%] 4952
Gemeente De Ronde Venen 60 44.9 [%] 6.4 [%] 132.5 25.2 [%] 1491
Gemeente De Ronde Venen 80 51.5 [%] 11.7 [%] 9.2 34.4 [%] 96
Gemeente De Ronde Venen Totaal 45.6 [%] 6.8 [%] 141.6 25.8 [%] 1587
Gemeente De Wolden 60 29.3 [%] 5.5 [%] 368.8 25.9 [%] 4095
Gemeente De Wolden 80 30.3 [%] 6.7 [%] 28.5 22.0 [%] 322
Gemeente De Wolden Totaal 29.4 [%] 5.6 [%] 397.3 25.6 [%] 4417
Gemeente Delft 60 50.0 [%] 30.7 [%] 4.4 47.4 [%] 57
Gemeente Delft 70 25.0 [%] 2.0 [%] 3.9 46.3 [%] 41
Gemeente Delft 80 33.3 [%] 4.7 [%] 3.7 27.1 [%] 48
Gemeente Delft 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Delft Totaal 41.2 [%] 13.5 [%] 12.0 40.8 [%] 147
Gemeente Den Helder 60 62.9 [%] 14.2 [%] 17.6 53.4 [%] 204
Gemeente Den Helder 70 0.0 [%] 0.0 [%] 3.1 50.0 [%] 30
Gemeente Den Helder 80 73.3 [%] 22.6 [%] 2.3 54.5 [%] 33
Gemeente Den Helder Totaal 61.8 [%] 13.1 [%] 23.0 53.2 [%] 267
Gemeente Deurne 60 25.9 [%] 9.2 [%] 291.9 31.5 [%] 3383
Gemeente Deurne 80 41.5 [%] 6.8 [%] 28.6 33.9 [%] 363
Gemeente Deurne Totaal 28.0 [%] 9.0 [%] 320.5 31.8 [%] 3746
Gemeente Deventer 60 39.1 [%] 9.2 [%] 257.8 31.3 [%] 3021
Gemeente Deventer 80 67.1 [%] 28.4 [%] 7.9 60.0 [%] 125
Gemeente Deventer Totaal 41.4 [%] 9.8 [%] 265.7 32.5 [%] 3146
Gemeente Diemen 60 50.0 [%] 7.3 [%] 0.9 71.4 [%] 14
Gemeente Diemen 70 56.2 [%] 22.5 [%] 13.2 54.6 [%] 174
Gemeente Diemen 100 0.0 [%] 0.0 [%] 0.1 50.0 [%] 2
Gemeente Diemen Totaal 55.0 [%] 21.3 [%] 14.3 55.8 [%] 190
Gemeente Dijk en Waard 60 44.1 [%] 7.7 [%] 64.0 37.3 [%] 754
Gemeente Dijk en Waard 70 40.0 [%] 1.4 [%] 1.2 40.0 [%] 15
Gemeente Dijk en Waard 80 63.3 [%] 28.9 [%] 7.6 54.3 [%] 94
Gemeente Dijk en Waard Totaal 47.9 [%] 9.8 [%] 72.8 39.2 [%] 863
Gemeente Dinkelland 60 23.5 [%] 3.6 [%] 431.2 19.1 [%] 4889
Gemeente Dinkelland 70 72.2 [%] 5.4 [%] 7.3 38.6 [%] 101
Gemeente Dinkelland 80 51.7 [%] 12.9 [%] 4.0 30.5 [%] 59
Gemeente Dinkelland Totaal 25.5 [%] 3.8 [%] 442.5 19.7 [%] 5049
Gemeente Doesburg 60 28.6 [%] 2.1 [%] 12.8 35.3 [%] 153
Gemeente Doesburg 80 100.0 [%] 100.0 [%] 0.3 100.0 [%] 3
Gemeente Doesburg Totaal 33.3 [%] 4.2 [%] 13.1 36.5 [%] 156
Gemeente Doetinchem 60 33.3 [%] 10.0 [%] 159.5 30.2 [%] 1862
Gemeente Doetinchem 70 66.7 [%] 29.7 [%] 1.7 53.6 [%] 28
Gemeente Doetinchem 80 27.0 [%] 3.1 [%] 9.7 29.2 [%] 113
Gemeente Doetinchem Totaal 34.0 [%] 9.8 [%] 170.9 30.5 [%] 2003
Gemeente Dongen 60 34.5 [%] 4.9 [%] 36.4 34.2 [%] 407
Gemeente Dongen 80 60.0 [%] 14.3 [%] 10.2 39.8 [%] 123
Gemeente Dongen Totaal 42.0 [%] 7.0 [%] 46.6 35.5 [%] 530
Gemeente Dordrecht 60 32.4 [%] 11.8 [%] 60.6 38.3 [%] 686
Gemeente Dordrecht 80 40.0 [%] 3.7 [%] 2.1 32.1 [%] 28
Gemeente Dordrecht Totaal 32.8 [%] 11.5 [%] 62.7 38.1 [%] 714
Gemeente Drechterland 60 28.7 [%] 7.0 [%] 72.1 32.9 [%] 757
Gemeente Drechterland 80 68.4 [%] 67.0 [%] 3.0 57.7 [%] 26
Gemeente Drechterland Totaal 32.8 [%] 9.4 [%] 75.0 33.7 [%] 783
Gemeente Drimmelen 60 37.4 [%] 9.6 [%] 141.8 34.3 [%] 1541
Gemeente Drimmelen 80 60.6 [%] 12.9 [%] 9.9 51.0 [%] 149
Gemeente Drimmelen Totaal 41.6 [%] 9.8 [%] 151.7 35.7 [%] 1690
Gemeente Dronten 60 67.5 [%] 29.9 [%] 44.9 85.2 [%] 508
Gemeente Dronten 80 35.6 [%] 5.2 [%] 235.9 30.5 [%] 2518
Gemeente Dronten Totaal 44.4 [%] 9.2 [%] 280.8 39.7 [%] 3026
Gemeente Druten 60 46.7 [%] 10.9 [%] 65.8 35.0 [%] 774
Gemeente Druten 80 44.4 [%] 10.1 [%] 4.9 38.5 [%] 65
Gemeente Druten Totaal 46.5 [%] 10.8 [%] 70.7 35.3 [%] 839
Gemeente Duiven 60 37.9 [%] 8.3 [%] 55.0 27.2 [%] 644
Gemeente Duiven 80 74.7 [%] 46.7 [%] 7.9 73.2 [%] 123
Gemeente Duiven Totaal 49.1 [%] 13.1 [%] 62.9 34.6 [%] 767
Gemeente Echt-Susteren 60 35.4 [%] 11.1 [%] 202.9 38.3 [%] 2360
Gemeente Echt-Susteren 80 61.0 [%] 23.8 [%] 9.0 56.5 [%] 138
Gemeente Echt-Susteren 100 100.0 [%] 100.0 [%] 0.1 100.0 [%] 2
Gemeente Echt-Susteren Totaal 38.3 [%] 11.7 [%] 212.0 39.4 [%] 2500
Gemeente Edam-Volendam 60 69.6 [%] 37.7 [%] 3.0 68.5 [%] 54
Gemeente Edam-Volendam 80 100.0 [%] 100.0 [%] 0.3 100.0 [%] 4
Gemeente Edam-Volendam Totaal 70.8 [%] 43.1 [%] 3.3 70.7 [%] 58
Gemeente Ede 60 35.3 [%] 10.7 [%] 429.2 32.4 [%] 5064
Gemeente Ede 70 0.0 [%] 0.0 [%] 2.1 11.8 [%] 17
Gemeente Ede 80 50.4 [%] 15.5 [%] 21.1 37.8 [%] 288
Gemeente Ede Totaal 36.6 [%] 10.8 [%] 452.4 32.7 [%] 5369
Gemeente Eemnes 60 33.3 [%] 8.2 [%] 55.5 37.7 [%] 597
Gemeente Eemnes 80 66.7 [%] 5.4 [%] 1.1 52.9 [%] 17
Gemeente Eemnes 100 0.0 [%] 0.0 [%] 0.4 0.0 [%] 5
Gemeente Eemnes Totaal 34.8 [%] 8.1 [%] 57.1 37.8 [%] 619
Gemeente Eemsdelta 60 31.9 [%] 9.8 [%] 355.1 33.3 [%] 3823
Gemeente Eemsdelta 80 57.7 [%] 17.5 [%] 3.6 49.0 [%] 49
Gemeente Eemsdelta Totaal 32.7 [%] 9.9 [%] 358.7 33.5 [%] 3872
Gemeente Eersel 60 37.8 [%] 10.3 [%] 178.6 38.2 [%] 2121
Gemeente Eersel 80 76.5 [%] 33.1 [%] 1.4 65.4 [%] 26
Gemeente Eersel Totaal 38.7 [%] 10.5 [%] 180.0 38.6 [%] 2147
Gemeente Eijsden-Margraten 60 27.2 [%] 10.1 [%] 183.2 36.0 [%] 2092
Gemeente Eijsden-Margraten 80 27.5 [%] 3.2 [%] 8.5 24.8 [%] 105
Gemeente Eijsden-Margraten 100 50.0 [%] 15.0 [%] 0.1 33.3 [%] 3
Gemeente Eijsden-Margraten Totaal 27.2 [%] 9.8 [%] 191.8 35.5 [%] 2200
Gemeente Eindhoven 60 56.6 [%] 21.2 [%] 28.9 55.2 [%] 386
Gemeente Eindhoven 70 64.3 [%] 20.1 [%] 47.4 57.2 [%] 676
Gemeente Eindhoven 80 59.5 [%] 21.7 [%] 23.1 52.9 [%] 314
Gemeente Eindhoven Totaal 61.2 [%] 20.8 [%] 99.3 55.7 [%] 1376
Gemeente Elburg 60 31.4 [%] 10.7 [%] 102.3 32.9 [%] 1156
Gemeente Elburg 80 100.0 [%] 100.0 [%] 0.2 100.0 [%] 6
Gemeente Elburg Totaal 32.6 [%] 10.8 [%] 102.5 33.2 [%] 1162
Gemeente Emmen 60 29.8 [%] 7.9 [%] 373.1 44.3 [%] 3995
Gemeente Emmen 70 66.7 [%] 18.4 [%] 1.0 52.9 [%] 17
Gemeente Emmen 80 46.5 [%] 9.1 [%] 63.5 33.6 [%] 715
Gemeente Emmen Totaal 33.6 [%] 8.1 [%] 437.6 42.7 [%] 4727
Gemeente Enkhuizen 60 30.0 [%] 3.9 [%] 12.9 43.4 [%] 129
Gemeente Enkhuizen 80 100.0 [%] 100.0 [%] 0.3 100.0 [%] 4
Gemeente Enkhuizen Totaal 38.2 [%] 5.8 [%] 13.1 45.1 [%] 133
Gemeente Enschede 60 28.6 [%] 8.4 [%] 303.8 28.6 [%] 3560
Gemeente Enschede 70 57.1 [%] 9.8 [%] 3.9 43.6 [%] 39
Gemeente Enschede 80 53.1 [%] 20.1 [%] 25.1 42.6 [%] 329
Gemeente Enschede 100 40.0 [%] 6.8 [%] 7.7 20.2 [%] 84
Gemeente Enschede Totaal 31.8 [%] 9.2 [%] 340.4 29.7 [%] 4012
Gemeente Epe 60 28.0 [%] 8.7 [%] 420.6 30.6 [%] 4917
Gemeente Epe 80 59.2 [%] 22.0 [%] 5.0 46.7 [%] 75
Gemeente Epe Totaal 29.1 [%] 8.8 [%] 425.5 30.8 [%] 4992
Gemeente Ermelo 60 42.9 [%] 14.1 [%] 110.9 37.2 [%] 1345
Gemeente Ermelo 70 66.7 [%] 6.3 [%] 0.5 37.5 [%] 8
Gemeente Ermelo 80 43.3 [%] 4.7 [%] 10.0 24.1 [%] 116
Gemeente Ermelo Totaal 43.1 [%] 13.3 [%] 121.5 36.2 [%] 1469
Gemeente Etten-Leur 60 35.4 [%] 11.7 [%] 99.5 29.2 [%] 1159
Gemeente Etten-Leur 80 57.1 [%] 9.4 [%] 1.7 50.0 [%] 22
Gemeente Etten-Leur Totaal 36.3 [%] 11.7 [%] 101.2 29.6 [%] 1181
Gemeente Geertruidenberg 60 50.7 [%] 21.3 [%] 39.3 45.8 [%] 450
Gemeente Geertruidenberg 80 57.7 [%] 20.0 [%] 5.2 52.3 [%] 65
Gemeente Geertruidenberg Totaal 51.8 [%] 21.1 [%] 44.5 46.6 [%] 515
Gemeente Geldrop-Mierlo 60 31.4 [%] 14.3 [%] 42.4 33.9 [%] 496
Gemeente Geldrop-Mierlo 80 68.6 [%] 33.7 [%] 3.8 66.1 [%] 56
Gemeente Geldrop-Mierlo Totaal 39.0 [%] 15.9 [%] 46.2 37.1 [%] 552
Gemeente Gemert-Bakel 60 36.3 [%] 9.0 [%] 230.6 30.9 [%] 2726
Gemeente Gemert-Bakel 80 38.3 [%] 5.5 [%] 38.2 36.0 [%] 486
Gemeente Gemert-Bakel Totaal 36.7 [%] 8.5 [%] 268.8 31.7 [%] 3212
Gemeente Gennep 60 29.9 [%] 10.7 [%] 83.5 36.6 [%] 961
Gemeente Gennep 80 33.0 [%] 6.5 [%] 43.1 31.5 [%] 531
Gemeente Gennep Totaal 31.2 [%] 9.2 [%] 126.6 34.8 [%] 1492
Gemeente Gilze en Rijen 60 38.8 [%] 13.7 [%] 123.4 37.8 [%] 1440
Gemeente Gilze en Rijen 80 70.0 [%] 43.4 [%] 1.3 56.2 [%] 16
Gemeente Gilze en Rijen Totaal 39.6 [%] 14.0 [%] 124.7 38.0 [%] 1456
Gemeente Goeree-Overflakkee 60 56.1 [%] 29.6 [%] 55.8 58.0 [%] 686
Gemeente Goeree-Overflakkee 80 55.6 [%] 6.6 [%] 3.5 44.2 [%] 52
Gemeente Goeree-Overflakkee Totaal 56.0 [%] 28.3 [%] 59.3 57.0 [%] 738
Gemeente Goes 60 64.0 [%] 36.3 [%] 22.0 57.3 [%] 262
Gemeente Goes 70 100.0 [%] 100.0 [%] 0.1 100.0 [%] 1
Gemeente Goes 80 57.1 [%] 13.6 [%] 3.0 63.3 [%] 49
Gemeente Goes Totaal 62.9 [%] 33.9 [%] 25.1 58.3 [%] 312
Gemeente Goirle 60 38.6 [%] 21.0 [%] 81.4 38.3 [%] 918
Gemeente Goirle 80 62.5 [%] 9.1 [%] 9.2 54.2 [%] 118
Gemeente Goirle Totaal 42.5 [%] 19.8 [%] 90.7 40.2 [%] 1036
Gemeente Gooise Meren 60 66.2 [%] 24.3 [%] 29.5 64.6 [%] 367
Gemeente Gooise Meren 80 55.8 [%] 17.9 [%] 9.4 47.5 [%] 120
Gemeente Gooise Meren Totaal 63.7 [%] 22.7 [%] 39.0 60.4 [%] 487
Gemeente Gorinchem 60 34.5 [%] 5.3 [%] 8.3 31.6 [%] 98
Gemeente Gorinchem 80 66.7 [%] 25.6 [%] 1.6 50.0 [%] 22
Gemeente Gorinchem Totaal 42.1 [%] 8.5 [%] 9.9 35.0 [%] 120
Gemeente Gouda 60 56.5 [%] 27.0 [%] 11.8 50.6 [%] 164
Gemeente Gouda 80 77.8 [%] 73.3 [%] 0.2 77.8 [%] 9
Gemeente Gouda Totaal 58.5 [%] 27.8 [%] 12.0 52.0 [%] 173
Gemeente Groningen 60 48.5 [%] 15.3 [%] 174.4 38.7 [%] 2044
Gemeente Groningen 70 55.2 [%] 12.0 [%] 7.8 44.8 [%] 96
Gemeente Groningen 80 66.7 [%] 6.1 [%] 3.1 37.2 [%] 43
Gemeente Groningen Totaal 49.2 [%] 15.0 [%] 185.3 38.9 [%] 2183
Gemeente Gulpen-Wittem 60 26.0 [%] 10.5 [%] 148.0 29.7 [%] 1713
Gemeente Gulpen-Wittem 80 24.7 [%] 4.4 [%] 20.1 20.9 [%] 230
Gemeente Gulpen-Wittem Totaal 25.8 [%] 9.7 [%] 168.2 28.7 [%] 1943
Gemeente Haaksbergen 60 27.0 [%] 6.3 [%] 261.1 24.0 [%] 3067
Gemeente Haaksbergen 70 62.5 [%] 20.5 [%] 6.4 57.6 [%] 92
Gemeente Haaksbergen 80 36.4 [%] 8.9 [%] 11.5 31.3 [%] 134
Gemeente Haaksbergen Totaal 29.3 [%] 6.7 [%] 278.9 25.2 [%] 3293
Gemeente Haarlem 60 15.4 [%] 8.7 [%] 4.5 38.1 [%] 42
Gemeente Haarlem 70 89.5 [%] 21.4 [%] 1.4 82.8 [%] 29
Gemeente Haarlem 80 0.0 [%] 0.0 [%] 0.0 0.0 [%] 1
Gemeente Haarlem Totaal 57.6 [%] 11.7 [%] 5.9 55.6 [%] 72
Gemeente Haarlemmermeer 60 56.5 [%] 21.2 [%] 210.9 53.2 [%] 2422
Gemeente Haarlemmermeer 70 57.9 [%] 13.3 [%] 8.8 60.9 [%] 110
Gemeente Haarlemmermeer 80 66.7 [%] 23.9 [%] 31.0 60.1 [%] 404
Gemeente Haarlemmermeer 100 63.6 [%] 68.4 [%] 1.1 72.2 [%] 18
Gemeente Haarlemmermeer Totaal 58.5 [%] 21.4 [%] 251.9 54.6 [%] 2954
Gemeente Halderberge 60 30.1 [%] 6.3 [%] 155.4 27.0 [%] 1783
Gemeente Halderberge 70 73.3 [%] 21.2 [%] 1.8 75.9 [%] 29
Gemeente Halderberge 80 52.8 [%] 7.8 [%] 12.3 35.8 [%] 148
Gemeente Halderberge 100 0.0 [%] 0.0 [%] 2.0 61.9 [%] 21
Gemeente Halderberge Totaal 33.4 [%] 6.5 [%] 171.5 28.7 [%] 1981
Gemeente Hardenberg 60 30.9 [%] 9.3 [%] 648.1 29.6 [%] 7305
Gemeente Hardenberg 70 50.0 [%] 30.7 [%] 1.5 50.0 [%] 20
Gemeente Hardenberg 80 44.8 [%] 11.7 [%] 16.9 45.3 [%] 203
Gemeente Hardenberg Totaal 31.5 [%] 9.4 [%] 666.5 30.0 [%] 7528
Gemeente Harderwijk 60 42.5 [%] 18.3 [%] 43.4 45.7 [%] 556
Gemeente Harderwijk 80 61.1 [%] 55.9 [%] 15.9 63.9 [%] 194
Gemeente Harderwijk Totaal 47.5 [%] 28.3 [%] 59.3 50.4 [%] 750
Gemeente Hardinxveld-Giessendam 60 30.0 [%] 8.4 [%] 4.0 33.3 [%] 48
Gemeente Hardinxveld-Giessendam 80 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Hardinxveld-Giessendam Totaal 33.3 [%] 8.6 [%] 4.0 34.7 [%] 49
Gemeente Harlingen 60 41.4 [%] 21.1 [%] 25.6 50.9 [%] 285
Gemeente Harlingen 80 80.0 [%] 32.3 [%] 3.6 66.0 [%] 50
Gemeente Harlingen Totaal 50.0 [%] 22.5 [%] 29.2 53.1 [%] 335
Gemeente Hattem 60 46.4 [%] 15.2 [%] 29.7 38.5 [%] 361
Gemeente Hattem 80 61.1 [%] 28.7 [%] 3.4 40.9 [%] 44
Gemeente Hattem Totaal 48.3 [%] 16.6 [%] 33.2 38.8 [%] 405
Gemeente Heemskerk 60 22.2 [%] 1.5 [%] 3.7 30.4 [%] 46
Gemeente Heemskerk 80 60.0 [%] 3.6 [%] 0.7 27.3 [%] 11
Gemeente Heemskerk Totaal 30.4 [%] 1.8 [%] 4.4 29.8 [%] 57
Gemeente Heemstede 60 38.5 [%] 35.2 [%] 3.7 50.0 [%] 34
Gemeente Heemstede 80 0.0 [%] 0.0 [%] 0.4 25.0 [%] 4
Gemeente Heemstede Totaal 33.3 [%] 31.7 [%] 4.2 47.4 [%] 38
Gemeente Heerde 60 38.3 [%] 14.1 [%] 154.9 33.6 [%] 1769
Gemeente Heerde 80 50.0 [%] 13.6 [%] 6.9 40.4 [%] 89
Gemeente Heerde Totaal 39.2 [%] 14.1 [%] 161.8 33.9 [%] 1858
Gemeente Heerenveen 60 41.4 [%] 17.0 [%] 264.6 42.8 [%] 2990
Gemeente Heerenveen 80 29.3 [%] 4.5 [%] 14.5 20.0 [%] 165
Gemeente Heerenveen Totaal 40.7 [%] 16.4 [%] 279.1 41.6 [%] 3155
Gemeente Heerlen 60 64.3 [%] 65.4 [%] 2.8 69.6 [%] 23
Gemeente Heerlen 70 60.0 [%] 14.6 [%] 14.0 59.1 [%] 181
Gemeente Heerlen 80 60.0 [%] 21.1 [%] 10.3 47.6 [%] 145
Gemeente Heerlen 100 57.1 [%] 43.3 [%] 0.2 57.1 [%] 7
Gemeente Heerlen Totaal 60.2 [%] 22.5 [%] 27.3 55.1 [%] 356
Gemeente Heeze-Leende 60 34.8 [%] 9.7 [%] 128.1 33.9 [%] 1414
Gemeente Heeze-Leende 70 0.0 [%] 0.0 [%] 0.1 0.0 [%] 1
Gemeente Heeze-Leende 80 45.8 [%] 4.7 [%] 8.0 48.4 [%] 93
Gemeente Heeze-Leende Totaal 35.5 [%] 9.4 [%] 136.1 34.8 [%] 1508
Gemeente Heiloo 60 29.2 [%] 5.8 [%] 8.6 25.8 [%] 97
Gemeente Heiloo 80 50.0 [%] 17.6 [%] 0.9 20.0 [%] 10
Gemeente Heiloo Totaal 30.8 [%] 6.9 [%] 9.4 25.2 [%] 107
Gemeente Hellendoorn 60 29.6 [%] 5.2 [%] 314.8 28.4 [%] 3627
Gemeente Hellendoorn 80 46.5 [%] 8.2 [%] 23.9 34.8 [%] 313
Gemeente Hellendoorn Totaal 31.7 [%] 5.4 [%] 338.7 28.9 [%] 3940
Gemeente Helmond 60 34.0 [%] 7.8 [%] 54.9 40.1 [%] 643
Gemeente Helmond 70 63.3 [%] 6.3 [%] 10.8 51.1 [%] 133
Gemeente Helmond 80 59.0 [%] 21.0 [%] 19.7 54.7 [%] 274
Gemeente Helmond 100 20.0 [%] 0.6 [%] 3.9 5.1 [%] 39
Gemeente Helmond Totaal 46.6 [%] 10.2 [%] 89.3 43.9 [%] 1089
Gemeente Hendrik-Ido-Ambacht 60 11.1 [%] 1.0 [%] 1.5 31.6 [%] 19
Gemeente Hendrik-Ido-Ambacht Totaal 11.1 [%] 1.0 [%] 1.5 31.6 [%] 19
Gemeente Hengelo (O) 60 33.6 [%] 11.6 [%] 109.0 30.2 [%] 1326
Gemeente Hengelo (O) 80 64.8 [%] 26.8 [%] 5.3 58.6 [%] 87
Gemeente Hengelo (O) Totaal 37.1 [%] 12.3 [%] 114.3 31.9 [%] 1413
Gemeente Het Hogeland 60 43.9 [%] 16.9 [%] 375.9 42.7 [%] 4123
Gemeente Het Hogeland 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Het Hogeland 80 23.0 [%] 4.7 [%] 186.1 19.4 [%] 1965
Gemeente Het Hogeland Totaal 38.1 [%] 12.8 [%] 562.0 35.2 [%] 6089
Gemeente Heumen 60 38.4 [%] 20.5 [%] 88.8 41.4 [%] 1037
Gemeente Heumen 80 16.7 [%] 0.2 [%] 1.9 9.1 [%] 22
Gemeente Heumen Totaal 37.9 [%] 20.1 [%] 90.7 40.7 [%] 1059
Gemeente Heusden 60 31.8 [%] 6.7 [%] 95.7 33.8 [%] 1046
Gemeente Heusden 70 73.3 [%] 25.5 [%] 4.1 53.6 [%] 56
Gemeente Heusden 80 46.9 [%] 9.4 [%] 15.5 38.3 [%] 206
Gemeente Heusden Totaal 38.8 [%] 7.7 [%] 115.3 35.4 [%] 1308
Gemeente Hillegom 60 20.6 [%] 3.2 [%] 12.7 26.5 [%] 136
Gemeente Hillegom Totaal 20.6 [%] 3.2 [%] 12.7 26.5 [%] 136
Gemeente Hilvarenbeek 60 28.9 [%] 8.9 [%] 190.9 33.8 [%] 2150
Gemeente Hilvarenbeek 70 100.0 [%] 100.0 [%] 0.1 100.0 [%] 4
Gemeente Hilvarenbeek 80 83.0 [%] 47.1 [%] 3.0 73.3 [%] 60
Gemeente Hilvarenbeek 100 0.0 [%] 0.0 [%] 0.2 0.0 [%] 3
Gemeente Hilvarenbeek Totaal 33.6 [%] 9.5 [%] 194.3 35.0 [%] 2217
Gemeente Hilversum 60 60.0 [%] 25.8 [%] 12.0 57.7 [%] 156
Gemeente Hilversum 80 57.9 [%] 30.2 [%] 4.3 47.4 [%] 57
Gemeente Hilversum Totaal 59.2 [%] 27.0 [%] 16.3 54.9 [%] 213
Gemeente Hoeksche Waard 60 64.2 [%] 34.7 [%] 65.9 58.0 [%] 836
Gemeente Hoeksche Waard 80 41.7 [%] 10.1 [%] 4.1 40.4 [%] 52
Gemeente Hoeksche Waard Totaal 62.8 [%] 33.3 [%] 70.0 57.0 [%] 888
Gemeente Hof van Twente 60 28.8 [%] 7.2 [%] 454.9 26.0 [%] 5206
Gemeente Hof van Twente 80 52.9 [%] 13.8 [%] 7.1 42.4 [%] 99
Gemeente Hof van Twente Totaal 29.7 [%] 7.3 [%] 462.0 26.3 [%] 5305
Gemeente Hollands Kroon 60 36.9 [%] 9.7 [%] 469.8 50.5 [%] 5042
Gemeente Hollands Kroon 80 52.1 [%] 8.2 [%] 29.0 41.1 [%] 331
Gemeente Hollands Kroon Totaal 38.5 [%] 9.6 [%] 498.8 49.9 [%] 5373
Gemeente Hoogeveen 60 32.3 [%] 10.0 [%] 192.2 32.3 [%] 2175
Gemeente Hoogeveen 70 57.1 [%] 28.2 [%] 3.2 55.3 [%] 38
Gemeente Hoogeveen 80 77.3 [%] 43.1 [%] 1.3 70.4 [%] 27
Gemeente Hoogeveen Totaal 34.5 [%] 10.5 [%] 196.7 33.1 [%] 2240
Gemeente Hoorn 60 77.1 [%] 32.8 [%] 7.9 55.0 [%] 120
Gemeente Hoorn 70 67.5 [%] 17.1 [%] 9.4 59.6 [%] 156
Gemeente Hoorn 80 82.5 [%] 52.7 [%] 3.0 76.9 [%] 52
Gemeente Hoorn 100 100.0 [%] 100.0 [%] 0.1 100.0 [%] 2
Gemeente Hoorn Totaal 74.4 [%] 28.8 [%] 20.4 60.9 [%] 330
Gemeente Horst aan de Maas 60 29.0 [%] 7.2 [%] 461.6 31.9 [%] 5387
Gemeente Horst aan de Maas 80 35.6 [%] 7.1 [%] 37.6 33.0 [%] 463
Gemeente Horst aan de Maas Totaal 29.6 [%] 7.2 [%] 499.2 31.9 [%] 5850
Gemeente Houten 60 33.3 [%] 7.3 [%] 76.9 25.6 [%] 855
Gemeente Houten 70 67.1 [%] 29.8 [%] 27.8 60.9 [%] 432
Gemeente Houten 80 68.8 [%] 17.1 [%] 2.4 40.6 [%] 32
Gemeente Houten Totaal 52.2 [%] 13.4 [%] 107.1 37.5 [%] 1319
Gemeente Huizen 60 77.8 [%] 59.2 [%] 4.7 74.2 [%] 62
Gemeente Huizen 80 58.3 [%] 42.8 [%] 1.1 72.2 [%] 18
Gemeente Huizen Totaal 71.8 [%] 55.9 [%] 5.8 73.8 [%] 80
Gemeente Hulst 60 60.5 [%] 33.9 [%] 21.2 61.2 [%] 242
Gemeente Hulst 80 80.5 [%] 57.2 [%] 2.1 79.6 [%] 49
Gemeente Hulst Totaal 67.2 [%] 36.0 [%] 23.3 64.3 [%] 291
Gemeente IJsselstein 60 25.0 [%] 11.2 [%] 21.5 14.5 [%] 207
Gemeente IJsselstein 70 33.3 [%] 9.6 [%] 1.1 76.9 [%] 13
Gemeente IJsselstein 80 18.2 [%] 2.9 [%] 2.2 20.0 [%] 25
Gemeente IJsselstein Totaal 24.0 [%] 10.4 [%] 24.8 18.4 [%] 245
Gemeente Kaag en Braassem 60 49.6 [%] 16.5 [%] 69.9 40.2 [%] 800
Gemeente Kaag en Braassem 80 65.4 [%] 20.2 [%] 8.0 41.7 [%] 103
Gemeente Kaag en Braassem 100 100.0 [%] 100.0 [%] 1.5 100.0 [%] 16
Gemeente Kaag en Braassem Totaal 52.6 [%] 18.5 [%] 79.4 41.5 [%] 919
Gemeente Kampen 60 44.6 [%] 8.8 [%] 196.5 32.7 [%] 2225
Gemeente Kampen 80 76.0 [%] 35.2 [%] 3.7 59.6 [%] 47
Gemeente Kampen Totaal 46.0 [%] 9.3 [%] 200.2 33.3 [%] 2272
Gemeente Kapelle 60 56.4 [%] 42.0 [%] 8.5 61.7 [%] 107
Gemeente Kapelle 80 63.6 [%] 32.1 [%] 1.1 58.8 [%] 17
Gemeente Kapelle Totaal 57.6 [%] 40.8 [%] 9.6 61.3 [%] 124
Gemeente Katwijk 60 57.4 [%] 25.9 [%] 15.3 53.7 [%] 190
Gemeente Katwijk 80 75.0 [%] 25.0 [%] 1.0 45.5 [%] 11
Gemeente Katwijk Totaal 58.3 [%] 25.9 [%] 16.3 53.2 [%] 201
Gemeente Kerkrade 60 56.7 [%] 27.1 [%] 4.5 64.5 [%] 62
Gemeente Kerkrade 70 61.3 [%] 12.6 [%] 3.0 53.7 [%] 54
Gemeente Kerkrade 80 56.8 [%] 29.0 [%] 6.2 41.0 [%] 78
Gemeente Kerkrade Totaal 58.2 [%] 24.8 [%] 13.7 52.1 [%] 194
Gemeente Koggenland 60 23.3 [%] 4.1 [%] 97.1 29.8 [%] 949
Gemeente Koggenland 70 71.4 [%] 20.0 [%] 0.6 81.8 [%] 11
Gemeente Koggenland 80 75.8 [%] 30.7 [%] 3.7 51.0 [%] 51
Gemeente Koggenland 100 100.0 [%] 100.0 [%] 0.1 100.0 [%] 2
Gemeente Koggenland Totaal 34.0 [%] 5.2 [%] 101.5 31.6 [%] 1013
Gemeente Krimpen aan den IJssel 60 73.3 [%] 71.5 [%] 1.6 79.2 [%] 24
Gemeente Krimpen aan den IJssel Totaal 73.3 [%] 71.5 [%] 1.6 79.2 [%] 24
Gemeente Krimpenerwaard 60 47.8 [%] 20.7 [%] 25.7 33.8 [%] 302
Gemeente Krimpenerwaard 80 88.9 [%] 36.5 [%] 0.9 88.9 [%] 9
Gemeente Krimpenerwaard Totaal 51.5 [%] 21.2 [%] 26.6 35.4 [%] 311
Gemeente Laarbeek 60 30.4 [%] 6.7 [%] 130.8 27.8 [%] 1515
Gemeente Laarbeek 80 28.6 [%] 12.3 [%] 8.7 36.6 [%] 93
Gemeente Laarbeek Totaal 30.3 [%] 7.0 [%] 139.5 28.3 [%] 1608
Gemeente Land van Cuijk 60 25.9 [%] 7.2 [%] 774.4 32.1 [%] 8766
Gemeente Land van Cuijk 70 50.0 [%] 50.0 [%] 0.4 60.0 [%] 5
Gemeente Land van Cuijk 80 49.6 [%] 10.7 [%] 41.7 43.0 [%] 558
Gemeente Land van Cuijk Totaal 28.1 [%] 7.4 [%] 816.6 32.7 [%] 9329
Gemeente Landgraaf 60 64.0 [%] 16.4 [%] 2.5 58.1 [%] 43
Gemeente Landgraaf 70 69.2 [%] 9.4 [%] 3.7 53.5 [%] 43
Gemeente Landgraaf 80 79.1 [%] 42.9 [%] 5.3 72.2 [%] 72
Gemeente Landgraaf Totaal 72.8 [%] 26.4 [%] 11.5 63.3 [%] 158
Gemeente Landsmeer 60 14.3 [%] 0.5 [%] 2.1 15.8 [%] 19
Gemeente Landsmeer 80 35.7 [%] 26.4 [%] 1.7 60.0 [%] 25
Gemeente Landsmeer Totaal 28.6 [%] 12.1 [%] 3.8 40.9 [%] 44
Gemeente Lansingerland 60 50.9 [%] 17.8 [%] 70.0 52.7 [%] 897
Gemeente Lansingerland 80 57.9 [%] 32.0 [%] 4.8 39.1 [%] 46
Gemeente Lansingerland Totaal 51.3 [%] 18.7 [%] 74.8 52.1 [%] 943
Gemeente Laren 60 56.5 [%] 44.7 [%] 5.5 69.1 [%] 68
Gemeente Laren 80 78.9 [%] 33.5 [%] 2.8 53.8 [%] 39
Gemeente Laren Totaal 66.7 [%] 40.9 [%] 8.4 63.6 [%] 107
Gemeente Leeuwarden 60 42.9 [%] 15.6 [%] 252.0 42.7 [%] 2843
Gemeente Leeuwarden 70 50.0 [%] 23.8 [%] 11.0 64.8 [%] 122
Gemeente Leeuwarden 80 43.2 [%] 9.3 [%] 33.5 31.4 [%] 388
Gemeente Leeuwarden Totaal 43.3 [%] 15.2 [%] 296.6 42.2 [%] 3353
Gemeente Leiden 60 54.2 [%] 39.3 [%] 4.0 68.6 [%] 51
Gemeente Leiden 80 50.0 [%] 37.4 [%] 0.1 50.0 [%] 2
Gemeente Leiden Totaal 53.8 [%] 39.2 [%] 4.2 67.9 [%] 53
Gemeente Leiderdorp 60 58.8 [%] 16.4 [%] 6.9 46.5 [%] 86
Gemeente Leiderdorp 80 85.7 [%] 59.7 [%] 0.2 85.7 [%] 7
Gemeente Leiderdorp Totaal 63.4 [%] 17.9 [%] 7.1 49.5 [%] 93
Gemeente Leidschendam-Voorburg 60 47.7 [%] 18.1 [%] 32.8 40.2 [%] 403
Gemeente Leidschendam-Voorburg 70 85.7 [%] 84.1 [%] 0.4 88.9 [%] 9
Gemeente Leidschendam-Voorburg 80 66.7 [%] 71.5 [%] 1.4 76.5 [%] 17
Gemeente Leidschendam-Voorburg Totaal 51.0 [%] 21.1 [%] 34.6 42.7 [%] 429
Gemeente Lelystad 60 68.6 [%] 39.0 [%] 28.1 74.4 [%] 297
Gemeente Lelystad 70 22.1 [%] 10.3 [%] 34.1 43.9 [%] 387
Gemeente Lelystad 80 31.4 [%] 8.8 [%] 135.9 33.0 [%] 1487
Gemeente Lelystad 100 100.0 [%] 100.0 [%] 0.1 100.0 [%] 1
Gemeente Lelystad Totaal 36.0 [%] 13.3 [%] 198.1 40.6 [%] 2172
Gemeente Leudal 60 26.0 [%] 7.2 [%] 369.9 31.1 [%] 4176
Gemeente Leudal 80 36.2 [%] 6.2 [%] 30.0 30.7 [%] 378
Gemeente Leudal Totaal 27.2 [%] 7.2 [%] 399.9 31.0 [%] 4554
Gemeente Leusden 60 43.1 [%] 11.3 [%] 54.1 30.2 [%] 630
Gemeente Leusden 80 43.8 [%] 15.2 [%] 1.9 37.0 [%] 27
Gemeente Leusden Totaal 43.2 [%] 11.4 [%] 55.9 30.4 [%] 657
Gemeente Lingewaard 60 37.4 [%] 12.9 [%] 85.1 35.1 [%] 994
Gemeente Lingewaard 80 44.6 [%] 10.8 [%] 41.9 27.6 [%] 526
Gemeente Lingewaard Totaal 40.2 [%] 12.2 [%] 127.0 32.5 [%] 1520
Gemeente Lisse 60 52.2 [%] 13.7 [%] 20.9 39.7 [%] 262
Gemeente Lisse Totaal 52.2 [%] 13.7 [%] 20.9 39.7 [%] 262
Gemeente Lochem 60 25.9 [%] 6.1 [%] 533.5 25.3 [%] 6125
Gemeente Lochem 80 90.0 [%] 62.0 [%] 1.7 66.7 [%] 21
Gemeente Lochem Totaal 26.4 [%] 6.3 [%] 535.2 25.4 [%] 6146
Gemeente Loon op Zand 60 40.5 [%] 14.5 [%] 90.3 38.1 [%] 1032
Gemeente Loon op Zand 80 80.9 [%] 33.3 [%] 6.3 64.8 [%] 108
Gemeente Loon op Zand Totaal 48.5 [%] 15.7 [%] 96.6 40.6 [%] 1140
Gemeente Lopik 60 27.5 [%] 4.0 [%] 66.4 16.6 [%] 719
Gemeente Lopik 80 14.3 [%] 0.6 [%] 2.6 7.7 [%] 26
Gemeente Lopik Totaal 26.9 [%] 3.8 [%] 68.9 16.2 [%] 745
Gemeente Losser 60 21.5 [%] 6.5 [%] 197.3 29.5 [%] 2249
Gemeente Losser 80 50.0 [%] 41.5 [%] 0.8 66.7 [%] 12
Gemeente Losser Totaal 21.8 [%] 6.6 [%] 198.2 29.7 [%] 2261
Gemeente Maasdriel 60 31.2 [%] 5.9 [%] 80.5 22.4 [%] 897
Gemeente Maasdriel 70 0.0 [%] 0.0 [%] 0.3 75.0 [%] 4
Gemeente Maasdriel 80 44.3 [%] 5.0 [%] 48.7 21.7 [%] 561
Gemeente Maasdriel Totaal 36.7 [%] 5.5 [%] 129.5 22.3 [%] 1462
Gemeente Maasgouw 60 47.6 [%] 33.9 [%] 105.9 55.0 [%] 1319
Gemeente Maasgouw 80 41.4 [%] 9.9 [%] 34.7 43.3 [%] 434
Gemeente Maasgouw Totaal 46.1 [%] 28.0 [%] 140.5 52.1 [%] 1753
Gemeente Maashorst 60 36.4 [%] 12.4 [%] 282.4 38.9 [%] 3371
Gemeente Maashorst 80 59.4 [%] 14.1 [%] 19.9 53.4 [%] 264
Gemeente Maashorst Totaal 39.0 [%] 12.5 [%] 302.3 40.0 [%] 3635
Gemeente Maassluis 60 50.0 [%] 23.0 [%] 0.5 50.0 [%] 10
Gemeente Maassluis 80 44.4 [%] 14.3 [%] 1.5 27.8 [%] 18
Gemeente Maassluis Totaal 47.1 [%] 16.6 [%] 2.0 35.7 [%] 28
Gemeente Maastricht 60 34.2 [%] 17.1 [%] 50.9 44.7 [%] 586
Gemeente Maastricht 70 55.6 [%] 33.9 [%] 6.1 66.2 [%] 77
Gemeente Maastricht 80 54.2 [%] 12.7 [%] 4.6 44.1 [%] 59
Gemeente Maastricht 100 0.0 [%] 0.0 [%] 0.0 0.0 [%] 1
Gemeente Maastricht Totaal 38.6 [%] 18.4 [%] 61.6 46.9 [%] 723
Gemeente Medemblik 60 35.1 [%] 5.9 [%] 130.7 34.9 [%] 1425
Gemeente Medemblik 80 63.3 [%] 12.3 [%] 8.2 41.8 [%] 141
Gemeente Medemblik Totaal 39.4 [%] 6.3 [%] 138.9 35.5 [%] 1566
Gemeente Meerssen 60 35.8 [%] 11.3 [%] 65.6 39.3 [%] 764
Gemeente Meerssen 80 63.3 [%] 18.9 [%] 2.9 53.2 [%] 47
Gemeente Meerssen Totaal 38.6 [%] 11.7 [%] 68.5 40.1 [%] 811
Gemeente Meierijstad 60 22.8 [%] 7.0 [%] 487.3 27.1 [%] 5696
Gemeente Meierijstad 70 74.4 [%] 19.9 [%] 13.5 65.9 [%] 220
Gemeente Meierijstad 80 48.1 [%] 9.2 [%] 15.9 37.3 [%] 204
Gemeente Meierijstad Totaal 27.4 [%] 7.4 [%] 516.7 28.9 [%] 6120
Gemeente Meppel 60 33.8 [%] 5.6 [%] 71.1 31.1 [%] 792
Gemeente Meppel 80 40.5 [%] 3.6 [%] 13.0 37.8 [%] 148
Gemeente Meppel 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Meppel Totaal 35.4 [%] 5.3 [%] 84.1 32.2 [%] 941
Gemeente Middelburg 60 67.9 [%] 52.2 [%] 12.6 72.7 [%] 165
Gemeente Middelburg 70 69.6 [%] 19.8 [%] 3.4 49.0 [%] 49
Gemeente Middelburg 80 66.7 [%] 43.1 [%] 2.0 73.3 [%] 15
Gemeente Middelburg Totaal 68.1 [%] 45.1 [%] 18.0 67.7 [%] 229
Gemeente Midden-Delfland 60 44.3 [%] 15.5 [%] 49.8 39.3 [%] 601
Gemeente Midden-Delfland 80 38.5 [%] 6.5 [%] 1.6 31.8 [%] 22
Gemeente Midden-Delfland Totaal 44.0 [%] 15.2 [%] 51.3 39.0 [%] 623
Gemeente Midden-Drenthe 60 24.3 [%] 5.7 [%] 465.3 27.1 [%] 5062
Gemeente Midden-Drenthe 80 27.9 [%] 2.3 [%] 77.8 21.9 [%] 842
Gemeente Midden-Drenthe Totaal 24.9 [%] 5.2 [%] 543.1 26.4 [%] 5904
Gemeente Midden-Groningen 60 38.1 [%] 15.3 [%] 333.8 50.7 [%] 3572
Gemeente Midden-Groningen 70 0.0 [%] 0.0 [%] 0.2 0.0 [%] 2
Gemeente Midden-Groningen 80 38.8 [%] 7.4 [%] 25.5 35.4 [%] 291
Gemeente Midden-Groningen Totaal 38.1 [%] 14.7 [%] 359.4 49.5 [%] 3865
Gemeente Moerdijk 60 43.7 [%] 11.0 [%] 289.5 42.4 [%] 3343
Gemeente Moerdijk 80 70.5 [%] 25.4 [%] 20.9 64.3 [%] 336
Gemeente Moerdijk 100 50.0 [%] 0.7 [%] 2.0 28.6 [%] 21
Gemeente Moerdijk Totaal 48.9 [%] 11.9 [%] 312.4 44.3 [%] 3700
Gemeente Molenlanden 60 49.2 [%] 31.8 [%] 13.3 42.7 [%] 171
Gemeente Molenlanden 80 50.0 [%] 11.1 [%] 0.4 44.4 [%] 9
Gemeente Molenlanden Totaal 49.2 [%] 31.2 [%] 13.6 42.8 [%] 180
Gemeente Montferland 60 39.0 [%] 15.9 [%] 233.4 40.3 [%] 2687
Gemeente Montferland 80 71.4 [%] 30.6 [%] 11.0 61.7 [%] 175
Gemeente Montferland Totaal 43.1 [%] 16.5 [%] 244.5 41.6 [%] 2862
Gemeente Montfoort 60 44.0 [%] 7.0 [%] 24.1 15.8 [%] 247
Gemeente Montfoort 80 100.0 [%] 100.0 [%] 0.0 100.0 [%] 5
Gemeente Montfoort Totaal 48.1 [%] 7.2 [%] 24.2 17.5 [%] 252
Gemeente Mook en Middelaar 60 40.0 [%] 26.3 [%] 27.4 63.8 [%] 309
Gemeente Mook en Middelaar 80 0.0 [%] 0.0 [%] 0.1 0.0 [%] 1
Gemeente Mook en Middelaar Totaal 39.6 [%] 26.3 [%] 27.5 63.5 [%] 310
Gemeente Neder-Betuwe 60 26.7 [%] 4.7 [%] 133.1 21.2 [%] 1487
Gemeente Neder-Betuwe 80 65.2 [%] 15.1 [%] 13.8 44.8 [%] 194
Gemeente Neder-Betuwe Totaal 34.3 [%] 5.6 [%] 146.9 23.9 [%] 1681
Gemeente Nederweert 60 18.9 [%] 4.1 [%] 88.3 22.1 [%] 1006
Gemeente Nederweert 80 18.3 [%] 2.9 [%] 207.3 19.9 [%] 2337
Gemeente Nederweert Totaal 18.5 [%] 3.3 [%] 295.6 20.6 [%] 3343
Gemeente Nieuwegein 60 29.6 [%] 14.5 [%] 14.9 28.4 [%] 169
Gemeente Nieuwegein 70 62.8 [%] 18.9 [%] 12.2 54.2 [%] 168
Gemeente Nieuwegein 80 68.8 [%] 27.5 [%] 3.4 75.5 [%] 53
Gemeente Nieuwegein Totaal 53.0 [%] 17.7 [%] 30.5 45.9 [%] 390
Gemeente Nieuwkoop 60 57.9 [%] 17.3 [%] 83.2 56.2 [%] 928
Gemeente Nieuwkoop 80 53.3 [%] 20.9 [%] 5.6 55.6 [%] 63
Gemeente Nieuwkoop Totaal 57.6 [%] 17.5 [%] 88.7 56.2 [%] 991
Gemeente Nijkerk 60 35.6 [%] 9.6 [%] 119.6 29.9 [%] 1347
Gemeente Nijkerk 80 57.1 [%] 4.6 [%] 2.6 28.6 [%] 35
Gemeente Nijkerk Totaal 36.5 [%] 9.5 [%] 122.1 29.9 [%] 1382
Gemeente Nijmegen 60 64.3 [%] 41.0 [%] 15.5 57.3 [%] 211
Gemeente Nijmegen 70 57.9 [%] 36.5 [%] 4.2 63.5 [%] 52
Gemeente Nijmegen 80 62.5 [%] 19.7 [%] 15.7 55.3 [%] 226
Gemeente Nijmegen 100 16.7 [%] 0.5 [%] 2.3 18.2 [%] 22
Gemeente Nijmegen Totaal 61.9 [%] 29.2 [%] 37.8 55.4 [%] 511
Gemeente Nissewaard 60 54.5 [%] 31.6 [%] 14.5 53.0 [%] 198
Gemeente Nissewaard 70 100.0 [%] 100.0 [%] 0.1 100.0 [%] 3
Gemeente Nissewaard 80 64.1 [%] 36.8 [%] 4.7 67.2 [%] 67
Gemeente Nissewaard Totaal 58.0 [%] 33.2 [%] 19.3 57.1 [%] 268
Gemeente Noardeast-Fryslân 60 39.9 [%] 17.4 [%] 250.0 40.8 [%] 2741
Gemeente Noardeast-Fryslân 80 22.9 [%] 6.1 [%] 272.6 19.7 [%] 2956
Gemeente Noardeast-Fryslân Totaal 31.5 [%] 11.5 [%] 522.7 29.9 [%] 5697
Gemeente Noord-Beveland 60 63.8 [%] 47.2 [%] 31.3 70.1 [%] 422
Gemeente Noord-Beveland 80 66.7 [%] 68.1 [%] 0.6 66.7 [%] 3
Gemeente Noord-Beveland Totaal 63.8 [%] 47.6 [%] 31.8 70.1 [%] 425
Gemeente Noordenveld 60 25.3 [%] 5.0 [%] 263.5 24.2 [%] 2913
Gemeente Noordenveld 80 43.9 [%] 19.5 [%] 9.2 32.7 [%] 101
Gemeente Noordenveld Totaal 26.4 [%] 5.5 [%] 272.7 24.5 [%] 3014
Gemeente Noordoostpolder 60 50.6 [%] 20.5 [%] 236.9 67.8 [%] 2555
Gemeente Noordoostpolder 70 0.0 [%] 0.0 [%] 0.6 25.0 [%] 8
Gemeente Noordoostpolder 80 41.9 [%] 6.3 [%] 148.2 29.7 [%] 1585
Gemeente Noordoostpolder Totaal 46.8 [%] 15.0 [%] 385.7 53.2 [%] 4148
Gemeente Noordwijk 60 51.1 [%] 12.4 [%] 71.4 42.7 [%] 894
Gemeente Noordwijk 80 93.8 [%] 70.4 [%] 0.4 88.2 [%] 17
Gemeente Noordwijk Totaal 53.0 [%] 12.7 [%] 71.8 43.6 [%] 911
Gemeente Nuenen, Gerwen en Nederwetten 60 30.2 [%] 10.3 [%] 79.7 30.1 [%] 972
Gemeente Nuenen, Gerwen en Nederwetten 80 48.5 [%] 19.2 [%] 11.5 43.4 [%] 159
Gemeente Nuenen, Gerwen en Nederwetten Totaal 34.3 [%] 11.4 [%] 91.3 32.0 [%] 1131
Gemeente Nunspeet 60 39.3 [%] 13.4 [%] 134.1 37.6 [%] 1486
Gemeente Nunspeet 80 33.3 [%] 4.2 [%] 2.7 30.3 [%] 33
Gemeente Nunspeet Totaal 39.1 [%] 13.2 [%] 136.8 37.5 [%] 1519
Gemeente Oegstgeest 60 76.5 [%] 63.4 [%] 2.4 77.8 [%] 36
Gemeente Oegstgeest 80 46.2 [%] 14.1 [%] 2.8 37.1 [%] 35
Gemeente Oegstgeest Totaal 63.3 [%] 36.7 [%] 5.3 57.7 [%] 71
Gemeente Oirschot 60 27.5 [%] 8.9 [%] 200.2 26.5 [%] 2261
Gemeente Oirschot 80 60.0 [%] 11.4 [%] 11.7 45.0 [%] 160
Gemeente Oirschot 100 0.0 [%] 0.0 [%] 0.7 28.6 [%] 7
Gemeente Oirschot Totaal 31.2 [%] 9.0 [%] 212.6 27.7 [%] 2428
Gemeente Oisterwijk 60 29.7 [%] 7.7 [%] 186.9 29.9 [%] 2228
Gemeente Oisterwijk 80 50.0 [%] 3.7 [%] 2.4 32.1 [%] 28
Gemeente Oisterwijk Totaal 29.9 [%] 7.7 [%] 189.3 30.0 [%] 2256
Gemeente Oldambt 60 49.6 [%] 19.1 [%] 183.8 54.9 [%] 2041
Gemeente Oldambt 80 26.5 [%] 4.0 [%] 91.6 29.0 [%] 986
Gemeente Oldambt Totaal 43.6 [%] 14.1 [%] 275.4 46.5 [%] 3027
Gemeente Oldebroek 60 39.5 [%] 10.2 [%] 130.8 37.5 [%] 1502
Gemeente Oldebroek 80 20.0 [%] 4.9 [%] 0.6 62.5 [%] 8
Gemeente Oldebroek Totaal 39.3 [%] 10.2 [%] 131.4 37.7 [%] 1510
Gemeente Oldenzaal 60 42.8 [%] 14.1 [%] 28.4 33.2 [%] 365
Gemeente Oldenzaal 80 81.2 [%] 47.8 [%] 1.0 70.0 [%] 20
Gemeente Oldenzaal Totaal 46.6 [%] 15.2 [%] 29.4 35.1 [%] 385
Gemeente Olst-Wijhe 60 27.6 [%] 10.2 [%] 228.7 27.2 [%] 2609
Gemeente Olst-Wijhe 80 44.8 [%] 11.1 [%] 7.3 24.7 [%] 85
Gemeente Olst-Wijhe Totaal 28.3 [%] 10.2 [%] 236.0 27.1 [%] 2694
Gemeente Ommen 60 33.2 [%] 8.4 [%] 414.5 34.3 [%] 4752
Gemeente Ommen 80 27.6 [%] 2.6 [%] 7.2 25.6 [%] 90
Gemeente Ommen Totaal 33.1 [%] 8.3 [%] 421.7 34.1 [%] 4842
Gemeente Oost Gelre 60 24.9 [%] 8.2 [%] 309.8 23.1 [%] 3578
Gemeente Oost Gelre 80 60.7 [%] 24.1 [%] 3.6 56.6 [%] 53
Gemeente Oost Gelre Totaal 25.9 [%] 8.3 [%] 313.4 23.6 [%] 3631
Gemeente Oosterhout 60 38.5 [%] 23.4 [%] 69.7 47.4 [%] 803
Gemeente Oosterhout 70 38.7 [%] 5.9 [%] 7.2 47.2 [%] 89
Gemeente Oosterhout 80 41.4 [%] 3.2 [%] 30.3 28.9 [%] 370
Gemeente Oosterhout Totaal 39.4 [%] 16.5 [%] 107.2 42.0 [%] 1262
Gemeente Ooststellingwerf 60 35.7 [%] 12.0 [%] 267.5 36.5 [%] 2941
Gemeente Ooststellingwerf 70 0.0 [%] 0.0 [%] 0.7 22.2 [%] 9
Gemeente Ooststellingwerf 80 27.8 [%] 3.2 [%] 21.3 22.0 [%] 236
Gemeente Ooststellingwerf Totaal 34.9 [%] 11.3 [%] 289.5 35.4 [%] 3186
Gemeente Oostzaan 60 74.5 [%] 56.4 [%] 7.1 79.6 [%] 98
Gemeente Oostzaan 70 100.0 [%] 100.0 [%] 0.1 100.0 [%] 1
Gemeente Oostzaan 80 62.5 [%] 46.8 [%] 0.8 63.6 [%] 11
Gemeente Oostzaan Totaal 73.3 [%] 55.7 [%] 7.9 78.2 [%] 110
Gemeente Opmeer 60 45.6 [%] 3.2 [%] 47.5 22.7 [%] 476
Gemeente Opmeer 80 75.0 [%] 38.1 [%] 0.4 69.2 [%] 13
Gemeente Opmeer Totaal 48.2 [%] 3.6 [%] 47.9 23.9 [%] 489
Gemeente Opsterland 60 34.3 [%] 7.3 [%] 288.7 30.9 [%] 3172
Gemeente Opsterland 80 28.3 [%] 2.7 [%] 26.3 23.6 [%] 292
Gemeente Opsterland Totaal 33.8 [%] 6.9 [%] 315.0 30.3 [%] 3464
Gemeente Oss 60 33.3 [%] 7.6 [%] 358.5 29.6 [%] 4150
Gemeente Oss 70 58.3 [%] 19.0 [%] 11.8 69.6 [%] 161
Gemeente Oss 80 50.0 [%] 20.9 [%] 18.7 52.2 [%] 232
Gemeente Oss Totaal 35.6 [%] 8.6 [%] 388.9 32.2 [%] 4543
Gemeente Oude IJsselstreek 60 21.6 [%] 3.5 [%] 294.7 22.8 [%] 3297
Gemeente Oude IJsselstreek 80 60.0 [%] 21.3 [%] 5.3 47.3 [%] 74
Gemeente Oude IJsselstreek Totaal 23.5 [%] 3.8 [%] 300.0 23.3 [%] 3371
Gemeente Ouder-Amstel 60 40.5 [%] 13.4 [%] 32.4 31.5 [%] 349
Gemeente Ouder-Amstel 70 75.0 [%] 24.5 [%] 0.8 61.5 [%] 13
Gemeente Ouder-Amstel 80 50.0 [%] 7.1 [%] 3.1 38.5 [%] 39
Gemeente Ouder-Amstel 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Ouder-Amstel Totaal 45.2 [%] 13.1 [%] 36.3 33.3 [%] 402
Gemeente Oudewater 60 42.2 [%] 3.7 [%] 35.7 32.4 [%] 373
Gemeente Oudewater 80 33.3 [%] 4.0 [%] 2.3 12.5 [%] 24
Gemeente Oudewater Totaal 41.4 [%] 3.7 [%] 38.0 31.2 [%] 397
Gemeente Overbetuwe 60 30.9 [%] 7.6 [%] 184.7 25.3 [%] 2062
Gemeente Overbetuwe 80 50.0 [%] 14.5 [%] 5.9 38.6 [%] 70
Gemeente Overbetuwe 100 0.0 [%] 0.0 [%] 0.0 0.0 [%] 1
Gemeente Overbetuwe Totaal 31.9 [%] 7.8 [%] 190.6 25.7 [%] 2133
Gemeente Papendrecht 60 50.0 [%] 3.8 [%] 0.2 33.3 [%] 3
Gemeente Papendrecht 80 71.4 [%] 36.3 [%] 0.8 58.3 [%] 12
Gemeente Papendrecht Totaal 66.7 [%] 31.1 [%] 1.0 53.3 [%] 15
Gemeente Peel en Maas 60 25.8 [%] 7.8 [%] 427.2 32.0 [%] 4862
Gemeente Peel en Maas 80 41.5 [%] 4.9 [%] 8.0 35.4 [%] 99
Gemeente Peel en Maas Totaal 26.3 [%] 7.7 [%] 435.2 32.0 [%] 4961
Gemeente Pekela 60 35.6 [%] 3.1 [%] 45.9 32.3 [%] 499
Gemeente Pekela 80 83.3 [%] 82.6 [%] 0.3 83.3 [%] 6
Gemeente Pekela Totaal 38.7 [%] 3.7 [%] 46.2 32.9 [%] 505
Gemeente Pijnacker-Nootdorp 60 48.1 [%] 14.9 [%] 46.3 44.7 [%] 566
Gemeente Pijnacker-Nootdorp 80 61.3 [%] 44.1 [%] 3.6 53.5 [%] 43
Gemeente Pijnacker-Nootdorp Totaal 49.8 [%] 17.0 [%] 49.9 45.3 [%] 609
Gemeente Purmerend 60 58.7 [%] 40.6 [%] 7.1 50.6 [%] 85
Gemeente Purmerend 80 76.5 [%] 37.0 [%] 3.0 69.0 [%] 42
Gemeente Purmerend Totaal 66.2 [%] 39.5 [%] 10.1 56.7 [%] 127
Gemeente Putten 60 33.8 [%] 8.6 [%] 214.8 27.1 [%] 2527
Gemeente Putten 80 28.6 [%] 1.5 [%] 1.3 44.4 [%] 18
Gemeente Putten Totaal 33.7 [%] 8.6 [%] 216.2 27.3 [%] 2545
Gemeente Raalte 60 37.1 [%] 17.6 [%] 420.0 33.6 [%] 4927
Gemeente Raalte 80 50.0 [%] 14.6 [%] 3.5 35.4 [%] 48
Gemeente Raalte Totaal 37.3 [%] 17.6 [%] 423.5 33.6 [%] 4975
Gemeente Reimerswaal 60 53.2 [%] 23.5 [%] 17.6 53.2 [%] 231
Gemeente Reimerswaal 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Reimerswaal 80 56.5 [%] 27.6 [%] 3.0 47.6 [%] 42
Gemeente Reimerswaal Totaal 54.1 [%] 24.2 [%] 20.6 52.6 [%] 274
Gemeente Renkum 60 36.7 [%] 12.5 [%] 43.0 45.1 [%] 490
Gemeente Renkum 80 46.7 [%] 17.2 [%] 6.3 44.1 [%] 59
Gemeente Renkum Totaal 38.5 [%] 13.1 [%] 49.3 45.0 [%] 549
Gemeente Renswoude 60 32.4 [%] 3.4 [%] 27.6 19.1 [%] 319
Gemeente Renswoude 80 26.3 [%] 1.1 [%] 4.6 16.7 [%] 60
Gemeente Renswoude Totaal 31.2 [%] 3.1 [%] 32.3 18.7 [%] 379
Gemeente Reusel-De Mierden 60 36.6 [%] 10.8 [%] 162.2 34.0 [%] 1863
Gemeente Reusel-De Mierden 80 50.0 [%] 34.6 [%] 1.5 63.2 [%] 19
Gemeente Reusel-De Mierden Totaal 36.9 [%] 11.1 [%] 163.7 34.3 [%] 1882
Gemeente Rheden 60 57.3 [%] 19.0 [%] 65.7 46.5 [%] 791
Gemeente Rheden 80 70.0 [%] 35.4 [%] 1.9 44.0 [%] 25
Gemeente Rheden 100 0.0 [%] 0.0 [%] 0.1 0.0 [%] 1
Gemeente Rheden Totaal 57.5 [%] 19.4 [%] 67.7 46.4 [%] 817
Gemeente Rhenen 60 45.4 [%] 16.3 [%] 53.9 36.6 [%] 628
Gemeente Rhenen 80 69.2 [%] 38.4 [%] 2.3 60.5 [%] 38
Gemeente Rhenen Totaal 48.3 [%] 17.2 [%] 56.3 38.0 [%] 666
Gemeente Ridderkerk 60 62.2 [%] 32.0 [%] 4.3 56.2 [%] 64
Gemeente Ridderkerk 70 0.0 [%] 0.0 [%] 0.2 66.7 [%] 3
Gemeente Ridderkerk 80 68.4 [%] 42.5 [%] 1.0 72.7 [%] 22
Gemeente Ridderkerk Totaal 63.2 [%] 32.5 [%] 5.5 60.7 [%] 89
Gemeente Rijssen-Holten 60 25.3 [%] 6.4 [%] 272.8 27.5 [%] 3162
Gemeente Rijssen-Holten 80 71.4 [%] 81.8 [%] 0.8 80.0 [%] 10
Gemeente Rijssen-Holten Totaal 25.6 [%] 6.6 [%] 273.6 27.6 [%] 3172
Gemeente Rijswijk 60 66.7 [%] 74.3 [%] 0.6 75.0 [%] 8
Gemeente Rijswijk 80 42.9 [%] 35.5 [%] 1.4 50.0 [%] 22
Gemeente Rijswijk Totaal 50.0 [%] 47.1 [%] 1.9 56.7 [%] 30
Gemeente Roerdalen 60 31.6 [%] 11.6 [%] 263.9 40.2 [%] 3094
Gemeente Roerdalen 80 39.5 [%] 8.1 [%] 8.4 39.2 [%] 102
Gemeente Roerdalen Totaal 31.9 [%] 11.5 [%] 272.3 40.1 [%] 3196
Gemeente Roermond 60 37.1 [%] 12.8 [%] 110.7 44.4 [%] 1256
Gemeente Roermond 70 53.3 [%] 17.6 [%] 2.1 64.5 [%] 31
Gemeente Roermond 80 63.5 [%] 20.4 [%] 10.1 45.7 [%] 140
Gemeente Roermond Totaal 41.3 [%] 13.5 [%] 122.9 45.0 [%] 1427
Gemeente Roosendaal 60 31.2 [%] 8.1 [%] 190.6 25.9 [%] 2172
Gemeente Roosendaal 80 48.2 [%] 10.4 [%] 22.5 33.1 [%] 290
Gemeente Roosendaal Totaal 34.0 [%] 8.3 [%] 213.1 26.8 [%] 2462
Gemeente Rotterdam 60 61.0 [%] 25.8 [%] 59.7 55.6 [%] 791
Gemeente Rotterdam 70 32.0 [%] 4.0 [%] 9.0 28.3 [%] 106
Gemeente Rotterdam 80 75.6 [%] 40.1 [%] 153.0 73.9 [%] 2098
Gemeente Rotterdam Totaal 71.0 [%] 34.8 [%] 221.6 67.5 [%] 2995
Gemeente Rozendaal 60 55.6 [%] 34.9 [%] 21.1 59.4 [%] 229
Gemeente Rozendaal 80 50.0 [%] 2.9 [%] 0.7 25.0 [%] 8
Gemeente Rozendaal Totaal 55.3 [%] 34.0 [%] 21.8 58.2 [%] 237
Gemeente Rucphen 60 37.9 [%] 14.8 [%] 180.8 35.4 [%] 2108
Gemeente Rucphen 70 0.0 [%] 0.0 [%] 0.1 0.0 [%] 1
Gemeente Rucphen 80 61.9 [%] 22.9 [%] 2.5 54.1 [%] 37
Gemeente Rucphen Totaal 38.7 [%] 14.9 [%] 183.5 35.7 [%] 2148
Gemeente Schagen 60 36.7 [%] 5.3 [%] 250.8 26.4 [%] 2790
Gemeente Schagen 80 42.4 [%] 6.4 [%] 7.5 33.0 [%] 94
Gemeente Schagen Totaal 37.0 [%] 5.3 [%] 258.2 26.6 [%] 2884
Gemeente Scherpenzeel 60 25.0 [%] 5.3 [%] 23.3 21.9 [%] 270
Gemeente Scherpenzeel 80 50.0 [%] 28.9 [%] 0.3 50.0 [%] 6
Gemeente Scherpenzeel Totaal 27.0 [%] 5.6 [%] 23.7 22.5 [%] 276
Gemeente Schiedam 60 7.1 [%] 0.9 [%] 3.4 9.5 [%] 42
Gemeente Schiedam Totaal 7.1 [%] 0.9 [%] 3.4 9.5 [%] 42
Gemeente Schiermonnikoog 60 39.5 [%] 12.4 [%] 9.6 44.6 [%] 112
Gemeente Schiermonnikoog Totaal 39.5 [%] 12.4 [%] 9.6 44.6 [%] 112
Gemeente Schouwen-Duiveland 60 47.9 [%] 24.4 [%] 47.8 46.1 [%] 542
Gemeente Schouwen-Duiveland 80 56.5 [%] 31.5 [%] 3.6 56.1 [%] 41
Gemeente Schouwen-Duiveland Totaal 48.8 [%] 24.9 [%] 51.4 46.8 [%] 583
Gemeente Simpelveld 60 27.3 [%] 6.6 [%] 7.7 34.8 [%] 92
Gemeente Simpelveld 80 30.0 [%] 9.4 [%] 33.5 30.9 [%] 376
Gemeente Simpelveld Totaal 29.4 [%] 8.8 [%] 41.2 31.6 [%] 468
Gemeente Sint-Michielsgestel 60 26.9 [%] 9.4 [%] 162.1 27.6 [%] 1910
Gemeente Sint-Michielsgestel 80 0.0 [%] 0.0 [%] 1.2 14.3 [%] 14
Gemeente Sint-Michielsgestel Totaal 26.8 [%] 9.4 [%] 163.3 27.5 [%] 1924
Gemeente Sittard-Geleen 60 38.0 [%] 10.2 [%] 56.9 43.5 [%] 680
Gemeente Sittard-Geleen 70 71.9 [%] 31.7 [%] 5.3 64.4 [%] 73
Gemeente Sittard-Geleen 80 35.6 [%] 7.7 [%] 52.5 34.3 [%] 632
Gemeente Sittard-Geleen 100 66.7 [%] 36.9 [%] 0.2 50.0 [%] 4
Gemeente Sittard-Geleen Totaal 39.5 [%] 10.1 [%] 114.8 40.5 [%] 1389
Gemeente Sliedrecht 60 66.7 [%] 67.2 [%] 0.4 66.7 [%] 9
Gemeente Sliedrecht 80 75.0 [%] 47.8 [%] 0.4 70.0 [%] 10
Gemeente Sliedrecht 100 0.0 [%] 0.0 [%] 0.2 66.7 [%] 3
Gemeente Sliedrecht Totaal 66.7 [%] 44.7 [%] 1.0 68.2 [%] 22
Gemeente Sluis 60 63.0 [%] 38.0 [%] 28.5 63.7 [%] 405
Gemeente Sluis 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Sluis 80 56.1 [%] 30.4 [%] 5.9 53.4 [%] 73
Gemeente Sluis Totaal 62.2 [%] 36.8 [%] 34.4 62.2 [%] 479
Gemeente Smallingerland 60 30.6 [%] 11.9 [%] 172.9 40.6 [%] 1905
Gemeente Smallingerland 80 50.0 [%] 3.8 [%] 6.3 30.9 [%] 68
Gemeente Smallingerland 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Smallingerland Totaal 31.8 [%] 11.7 [%] 179.2 40.3 [%] 1974
Gemeente Soest 60 50.9 [%] 22.0 [%] 18.9 69.4 [%] 216
Gemeente Soest 80 32.3 [%] 9.5 [%] 8.6 18.6 [%] 97
Gemeente Soest Totaal 44.3 [%] 18.1 [%] 27.5 53.7 [%] 313
Gemeente Someren 60 30.4 [%] 5.5 [%] 150.0 29.3 [%] 1745
Gemeente Someren 80 34.5 [%] 4.1 [%] 67.6 22.2 [%] 808
Gemeente Someren Totaal 31.7 [%] 5.1 [%] 217.5 27.1 [%] 2553
Gemeente Son en Breugel 60 35.9 [%] 11.7 [%] 22.3 38.2 [%] 267
Gemeente Son en Breugel 80 58.3 [%] 27.5 [%] 4.7 58.9 [%] 56
Gemeente Son en Breugel Totaal 41.2 [%] 14.4 [%] 27.0 41.8 [%] 323
Gemeente Stadskanaal 60 44.8 [%] 8.0 [%] 5.6 50.0 [%] 68
Gemeente Stadskanaal 80 24.7 [%] 7.3 [%] 182.6 21.9 [%] 2013
Gemeente Stadskanaal Totaal 26.1 [%] 7.3 [%] 188.2 22.8 [%] 2081
Gemeente Staphorst 60 16.1 [%] 3.0 [%] 316.4 20.9 [%] 3447
Gemeente Staphorst 80 16.7 [%] 0.9 [%] 1.7 10.0 [%] 20
Gemeente Staphorst 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 1
Gemeente Staphorst Totaal 16.3 [%] 3.0 [%] 318.1 20.8 [%] 3468
Gemeente Stede Broec 60 42.9 [%] 8.8 [%] 17.4 53.1 [%] 209
Gemeente Stede Broec 80 61.1 [%] 14.9 [%] 2.1 51.4 [%] 35
Gemeente Stede Broec Totaal 46.9 [%] 9.5 [%] 19.5 52.9 [%] 244
Gemeente Steenbergen 60 26.4 [%] 4.6 [%] 265.2 23.5 [%] 2944
Gemeente Steenbergen 80 57.3 [%] 12.3 [%] 22.9 45.0 [%] 300
Gemeente Steenbergen Totaal 31.3 [%] 5.2 [%] 288.0 25.5 [%] 3244
Gemeente Steenwijkerland 60 27.5 [%] 5.8 [%] 380.6 26.9 [%] 4190
Gemeente Steenwijkerland 80 40.5 [%] 4.1 [%] 11.8 30.6 [%] 144
Gemeente Steenwijkerland Totaal 28.1 [%] 5.8 [%] 392.5 27.0 [%] 4334
Gemeente Stein 60 40.9 [%] 12.9 [%] 39.9 39.5 [%] 486
Gemeente Stein 80 73.1 [%] 23.0 [%] 13.3 60.1 [%] 218
Gemeente Stein Totaal 55.1 [%] 15.5 [%] 53.2 45.9 [%] 704
Gemeente Stichtse Vecht 60 40.5 [%] 14.6 [%] 118.3 34.8 [%] 1312
Gemeente Stichtse Vecht 80 54.8 [%] 14.4 [%] 8.8 44.4 [%] 99
Gemeente Stichtse Vecht Totaal 41.8 [%] 14.6 [%] 127.2 35.5 [%] 1411
Gemeente Súdwest-Fryslân 60 34.8 [%] 11.7 [%] 615.5 41.4 [%] 6789
Gemeente Súdwest-Fryslân 70 61.1 [%] 17.0 [%] 4.0 56.9 [%] 51
Gemeente Súdwest-Fryslân 80 58.7 [%] 9.7 [%] 72.1 36.4 [%] 926
Gemeente Súdwest-Fryslân Totaal 39.8 [%] 11.5 [%] 691.5 40.9 [%] 7766
Gemeente Terneuzen 60 66.1 [%] 45.9 [%] 44.3 63.9 [%] 549
Gemeente Terneuzen 70 72.4 [%] 19.8 [%] 3.0 62.7 [%] 51
Gemeente Terneuzen 80 64.3 [%] 18.8 [%] 2.6 54.5 [%] 44
Gemeente Terneuzen Totaal 66.5 [%] 42.9 [%] 50.0 63.2 [%] 644
Gemeente Terschelling 60 41.8 [%] 39.9 [%] 26.8 53.9 [%] 310
Gemeente Terschelling 80 18.2 [%] 9.9 [%] 39.9 23.4 [%] 462
Gemeente Terschelling Totaal 26.9 [%] 22.0 [%] 66.7 35.6 [%] 772
Gemeente Texel 60 44.4 [%] 15.0 [%] 215.3 62.4 [%] 2386
Gemeente Texel 80 82.2 [%] 32.4 [%] 11.6 73.8 [%] 195
Gemeente Texel Totaal 50.8 [%] 15.9 [%] 226.9 63.3 [%] 2581
Gemeente Teylingen 60 65.7 [%] 43.0 [%] 37.1 66.1 [%] 528
Gemeente Teylingen 80 100.0 [%] 100.0 [%] 0.2 100.0 [%] 6
Gemeente Teylingen Totaal 66.4 [%] 43.4 [%] 37.3 66.5 [%] 534
Gemeente Tholen 60 63.2 [%] 33.1 [%] 15.7 58.4 [%] 202
Gemeente Tholen 80 76.9 [%] 54.2 [%] 0.7 77.8 [%] 27
Gemeente Tholen Totaal 66.1 [%] 33.9 [%] 16.4 60.7 [%] 229
Gemeente Tiel 60 42.5 [%] 11.2 [%] 46.6 40.0 [%] 543
Gemeente Tiel 70 0.0 [%] 0.0 [%] 0.9 60.0 [%] 10
Gemeente Tiel 80 82.9 [%] 42.7 [%] 5.4 69.6 [%] 102
Gemeente Tiel Totaal 53.9 [%] 14.2 [%] 52.9 44.9 [%] 655
Gemeente Tilburg 60 49.7 [%] 24.9 [%] 191.4 49.5 [%] 2427
Gemeente Tilburg 70 61.1 [%] 11.7 [%] 11.6 47.4 [%] 175
Gemeente Tilburg 80 56.1 [%] 7.8 [%] 75.1 37.9 [%] 926
Gemeente Tilburg 100 25.0 [%] 8.2 [%] 3.7 48.8 [%] 41
Gemeente Tilburg Totaal 51.7 [%] 19.6 [%] 281.7 46.4 [%] 3569
Gemeente Tubbergen 60 25.4 [%] 5.8 [%] 383.0 24.1 [%] 4342
Gemeente Tubbergen 80 42.9 [%] 5.8 [%] 12.7 32.1 [%] 159
Gemeente Tubbergen Totaal 26.3 [%] 5.8 [%] 395.7 24.4 [%] 4502
Gemeente Twenterand 60 28.6 [%] 6.6 [%] 203.3 29.0 [%] 2262
Gemeente Twenterand 70 33.3 [%] 27.0 [%] 0.4 25.0 [%] 8
Gemeente Twenterand 80 36.4 [%] 11.5 [%] 10.2 33.6 [%] 113
Gemeente Twenterand 100 0.0 [%] 0.0 [%] 0.8 0.0 [%] 9
Gemeente Twenterand Totaal 29.0 [%] 6.9 [%] 214.6 29.1 [%] 2392
Gemeente Tynaarlo 60 25.7 [%] 4.2 [%] 214.8 24.1 [%] 2325
Gemeente Tynaarlo 70 0.0 [%] 0.0 [%] 0.0 0.0 [%] 1
Gemeente Tynaarlo 80 58.8 [%] 10.6 [%] 7.3 41.1 [%] 90
Gemeente Tynaarlo Totaal 27.7 [%] 4.4 [%] 222.1 24.7 [%] 2416
Gemeente Tytsjerksteradiel 60 34.7 [%] 12.3 [%] 195.6 38.0 [%] 2196
Gemeente Tytsjerksteradiel 80 27.2 [%] 4.4 [%] 63.7 22.9 [%] 733
Gemeente Tytsjerksteradiel Totaal 32.8 [%] 10.3 [%] 259.3 34.2 [%] 2929
Gemeente Uitgeest 60 48.6 [%] 13.5 [%] 20.3 32.5 [%] 231
Gemeente Uitgeest 80 0.0 [%] 0.0 [%] 1.8 15.0 [%] 20
Gemeente Uitgeest Totaal 46.1 [%] 12.4 [%] 22.1 31.1 [%] 251
Gemeente Uithoorn 60 35.8 [%] 12.0 [%] 17.7 33.8 [%] 201
Gemeente Uithoorn 80 58.8 [%] 36.4 [%] 2.9 60.0 [%] 35
Gemeente Uithoorn Totaal 41.4 [%] 15.5 [%] 20.6 37.7 [%] 236
Gemeente Urk 60 83.0 [%] 54.7 [%] 8.6 84.1 [%] 151
Gemeente Urk 70 66.7 [%] 0.9 [%] 1.2 78.6 [%] 14
Gemeente Urk 80 100.0 [%] 100.0 [%] 1.7 100.0 [%] 20
Gemeente Urk Totaal 83.2 [%] 55.8 [%] 11.5 85.4 [%] 185
Gemeente Utrecht 60 54.8 [%] 10.6 [%] 35.7 44.9 [%] 457
Gemeente Utrecht 70 46.6 [%] 6.0 [%] 36.9 42.8 [%] 407
Gemeente Utrecht 80 82.6 [%] 36.4 [%] 4.6 72.2 [%] 79
Gemeente Utrecht Totaal 55.4 [%] 9.9 [%] 77.3 46.2 [%] 943
Gemeente Utrechtse Heuvelrug 60 41.0 [%] 18.0 [%] 169.9 38.2 [%] 1991
Gemeente Utrechtse Heuvelrug 80 44.1 [%] 12.5 [%] 19.4 29.3 [%] 229
Gemeente Utrechtse Heuvelrug Totaal 41.4 [%] 17.4 [%] 189.3 37.3 [%] 2220
Gemeente Vaals 60 32.4 [%] 16.2 [%] 67.9 41.9 [%] 782
Gemeente Vaals 80 66.7 [%] 75.2 [%] 0.0 66.7 [%] 3
Gemeente Vaals Totaal 32.9 [%] 16.2 [%] 67.9 42.0 [%] 785
Gemeente Valkenburg aan de Geul 60 32.7 [%] 12.9 [%] 35.2 39.0 [%] 418
Gemeente Valkenburg aan de Geul 70 0.0 [%] 0.0 [%] 0.4 40.0 [%] 5
Gemeente Valkenburg aan de Geul 80 44.7 [%] 16.1 [%] 9.2 31.8 [%] 110
Gemeente Valkenburg aan de Geul Totaal 35.2 [%] 13.5 [%] 44.8 37.5 [%] 533
Gemeente Valkenswaard 60 27.0 [%] 3.1 [%] 54.5 27.4 [%] 625
Gemeente Valkenswaard 80 50.0 [%] 4.9 [%] 9.3 37.4 [%] 107
Gemeente Valkenswaard Totaal 30.6 [%] 3.4 [%] 63.8 28.8 [%] 732
Gemeente Veendam 60 50.9 [%] 17.0 [%] 53.5 58.2 [%] 627
Gemeente Veendam 70 100.0 [%] 100.0 [%] 0.1 100.0 [%] 4
Gemeente Veendam 80 25.0 [%] 1.4 [%] 33.5 20.1 [%] 348
Gemeente Veendam Totaal 45.4 [%] 11.1 [%] 87.1 44.8 [%] 979
Gemeente Veenendaal 60 48.3 [%] 29.1 [%] 6.5 44.6 [%] 65
Gemeente Veenendaal 80 54.5 [%] 30.8 [%] 1.5 61.5 [%] 13
Gemeente Veenendaal Totaal 50.0 [%] 29.5 [%] 7.9 47.4 [%] 78
Gemeente Veere 60 67.3 [%] 38.9 [%] 13.3 65.8 [%] 184
Gemeente Veere 80 78.0 [%] 53.2 [%] 2.6 76.0 [%] 50
Gemeente Veere Totaal 70.5 [%] 41.3 [%] 16.0 67.9 [%] 234
Gemeente Veldhoven 60 39.0 [%] 8.7 [%] 21.0 30.5 [%] 266
Gemeente Veldhoven 70 62.2 [%] 13.0 [%] 16.8 40.7 [%] 221
Gemeente Veldhoven 80 45.5 [%] 15.3 [%] 25.9 38.7 [%] 326
Gemeente Veldhoven Totaal 47.9 [%] 12.5 [%] 63.7 36.5 [%] 813
Gemeente Velsen 60 53.7 [%] 19.4 [%] 23.6 45.2 [%] 305
Gemeente Velsen 70 33.3 [%] 0.6 [%] 1.8 72.2 [%] 18
Gemeente Velsen 80 23.1 [%] 7.2 [%] 2.9 45.2 [%] 31
Gemeente Velsen Totaal 50.7 [%] 16.9 [%] 28.3 46.6 [%] 354
Gemeente Venlo 60 35.5 [%] 13.9 [%] 285.1 40.8 [%] 3393
Gemeente Venlo 70 75.0 [%] 58.6 [%] 2.9 88.2 [%] 34
Gemeente Venlo 80 48.4 [%] 9.7 [%] 26.3 36.1 [%] 346
Gemeente Venlo 100 100.0 [%] 100.0 [%] 0.0 100.0 [%] 2
Gemeente Venlo Totaal 37.7 [%] 13.9 [%] 314.3 40.8 [%] 3775
Gemeente Venray 60 27.3 [%] 9.2 [%] 288.7 34.1 [%] 3190
Gemeente Venray 80 43.4 [%] 14.4 [%] 12.5 39.3 [%] 150
Gemeente Venray Totaal 28.4 [%] 9.4 [%] 301.3 34.4 [%] 3340
Gemeente Vijfheerenlanden 60 73.6 [%] 44.4 [%] 11.8 61.1 [%] 157
Gemeente Vijfheerenlanden 80 66.7 [%] 9.6 [%] 0.7 44.4 [%] 9
Gemeente Vijfheerenlanden Totaal 73.4 [%] 42.5 [%] 12.4 60.2 [%] 166
Gemeente Vlaardingen 60 63.5 [%] 24.4 [%] 5.3 54.9 [%] 82
Gemeente Vlaardingen 80 33.3 [%] 12.5 [%] 3.1 30.8 [%] 39
Gemeente Vlaardingen 100 50.0 [%] 41.2 [%] 0.0 50.0 [%] 2
Gemeente Vlaardingen Totaal 55.6 [%] 20.1 [%] 8.4 47.2 [%] 123
Gemeente Vlieland 60 40.3 [%] 16.7 [%] 18.5 49.1 [%] 214
Gemeente Vlieland 80 25.0 [%] 4.9 [%] 0.4 33.3 [%] 6
Gemeente Vlieland Totaal 39.4 [%] 16.4 [%] 18.9 48.6 [%] 220
Gemeente Vlissingen 60 81.4 [%] 75.2 [%] 14.0 82.7 [%] 179
Gemeente Vlissingen 70 55.2 [%] 22.1 [%] 7.5 47.7 [%] 109
Gemeente Vlissingen 80 90.0 [%] 74.7 [%] 0.4 90.0 [%] 10
Gemeente Vlissingen Totaal 71.0 [%] 56.9 [%] 21.9 70.1 [%] 298
Gemeente Voerendaal 60 31.2 [%] 10.9 [%] 71.6 33.6 [%] 810
Gemeente Voerendaal 70 0.0 [%] 0.0 [%] 0.9 70.0 [%] 10
Gemeente Voerendaal 80 45.7 [%] 15.2 [%] 6.5 43.4 [%] 76
Gemeente Voerendaal 100 0.0 [%] 0.0 [%] 0.1 0.0 [%] 2
Gemeente Voerendaal Totaal 32.7 [%] 11.1 [%] 79.2 34.7 [%] 898
Gemeente Voorne aan Zee 60 74.0 [%] 42.9 [%] 26.5 72.0 [%] 347
Gemeente Voorne aan Zee 80 63.2 [%] 24.5 [%] 6.7 54.0 [%] 100
Gemeente Voorne aan Zee Totaal 71.4 [%] 39.1 [%] 33.2 68.0 [%] 447
Gemeente Voorschoten 60 0.0 [%] 0.0 [%] 1.1 33.3 [%] 12
Gemeente Voorschoten 80 48.0 [%] 12.3 [%] 4.9 46.8 [%] 62
Gemeente Voorschoten Totaal 44.4 [%] 10.0 [%] 6.0 44.6 [%] 74
Gemeente Voorst 60 29.8 [%] 4.2 [%] 224.7 23.9 [%] 2547
Gemeente Voorst 80 56.5 [%] 7.0 [%] 9.4 41.5 [%] 135
Gemeente Voorst Totaal 32.3 [%] 4.3 [%] 234.2 24.8 [%] 2682
Gemeente Vught 60 38.8 [%] 9.6 [%] 96.8 33.5 [%] 1148
Gemeente Vught 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 2
Gemeente Vught 80 72.7 [%] 41.9 [%] 1.9 61.3 [%] 31
Gemeente Vught 100 0.0 [%] 0.0 [%] 0.9 11.1 [%] 9
Gemeente Vught Totaal 41.1 [%] 10.2 [%] 99.6 34.2 [%] 1190
Gemeente Waadhoeke 60 36.4 [%] 14.4 [%] 336.4 41.6 [%] 3690
Gemeente Waadhoeke 70 78.4 [%] 20.4 [%] 5.5 63.4 [%] 82
Gemeente Waadhoeke 80 43.8 [%] 6.9 [%] 55.0 31.3 [%] 648
Gemeente Waadhoeke 100 0.0 [%] 0.0 [%] 0.1 50.0 [%] 2
Gemeente Waadhoeke Totaal 39.3 [%] 13.4 [%] 397.0 40.5 [%] 4422
Gemeente Waalre 60 35.7 [%] 6.3 [%] 30.7 31.8 [%] 374
Gemeente Waalre 80 100.0 [%] 100.0 [%] 0.1 100.0 [%] 4
Gemeente Waalre Totaal 37.8 [%] 6.7 [%] 30.9 32.5 [%] 378
Gemeente Waalwijk 60 30.0 [%] 11.0 [%] 101.2 36.5 [%] 1122
Gemeente Waalwijk 70 0.0 [%] 0.0 [%] 0.8 11.1 [%] 9
Gemeente Waalwijk 80 59.0 [%] 8.0 [%] 6.5 48.3 [%] 87
Gemeente Waalwijk 100 0.0 [%] 0.0 [%] 0.0 0.0 [%] 1
Gemeente Waalwijk Totaal 33.4 [%] 10.7 [%] 108.5 37.1 [%] 1219
Gemeente Waddinxveen 60 68.0 [%] 29.2 [%] 20.8 57.1 [%] 268
Gemeente Waddinxveen 80 64.0 [%] 28.2 [%] 4.8 62.0 [%] 79
Gemeente Waddinxveen Totaal 66.7 [%] 29.0 [%] 25.6 58.2 [%] 347
Gemeente Wageningen 60 37.2 [%] 13.7 [%] 33.8 29.7 [%] 377
Gemeente Wageningen 80 33.3 [%] 4.8 [%] 0.8 25.0 [%] 12
Gemeente Wageningen Totaal 37.0 [%] 13.5 [%] 34.7 29.6 [%] 389
Gemeente Wassenaar 60 48.7 [%] 23.0 [%] 10.8 48.8 [%] 125
Gemeente Wassenaar 70 0.0 [%] 0.0 [%] 0.2 0.0 [%] 3
Gemeente Wassenaar 80 44.4 [%] 27.6 [%] 9.2 39.8 [%] 98
Gemeente Wassenaar Totaal 45.5 [%] 24.8 [%] 20.2 44.2 [%] 226
Gemeente Waterland 60 62.2 [%] 39.0 [%] 2.5 61.4 [%] 44
Gemeente Waterland 80 33.3 [%] 29.2 [%] 0.3 25.0 [%] 4
Gemeente Waterland Totaal 60.0 [%] 37.8 [%] 2.8 58.3 [%] 48
Gemeente Weert 60 33.5 [%] 18.5 [%] 281.7 37.1 [%] 3276
Gemeente Weert 70 70.9 [%] 19.5 [%] 17.4 60.5 [%] 286
Gemeente Weert 80 25.8 [%] 3.0 [%] 24.3 23.3 [%] 287
Gemeente Weert Totaal 38.1 [%] 17.4 [%] 323.5 37.8 [%] 3849
Gemeente West Betuwe 60 33.9 [%] 7.3 [%] 379.6 26.5 [%] 4148
Gemeente West Betuwe 70 0.0 [%] 0.0 [%] 1.0 25.0 [%] 12
Gemeente West Betuwe 80 57.7 [%] 10.2 [%] 9.0 40.0 [%] 125
Gemeente West Betuwe Totaal 35.0 [%] 7.3 [%] 389.7 26.9 [%] 4285
Gemeente West Maas en Waal 60 34.6 [%] 5.5 [%] 149.9 21.6 [%] 1675
Gemeente West Maas en Waal 80 100.0 [%] 100.0 [%] 0.1 100.0 [%] 2
Gemeente West Maas en Waal Totaal 35.0 [%] 5.6 [%] 150.0 21.6 [%] 1677
Gemeente Westerkwartier 60 40.3 [%] 17.8 [%] 411.3 37.5 [%] 4605
Gemeente Westerkwartier 70 40.0 [%] 4.4 [%] 2.2 52.0 [%] 25
Gemeente Westerkwartier 80 41.1 [%] 15.3 [%] 100.9 26.6 [%] 1102
Gemeente Westerkwartier Totaal 40.5 [%] 17.3 [%] 514.5 35.4 [%] 5732
Gemeente Westerveld 60 28.8 [%] 5.5 [%] 457.3 29.4 [%] 5190
Gemeente Westerveld 70 100.0 [%] 100.0 [%] 0.0 100.0 [%] 3
Gemeente Westerveld 80 60.9 [%] 16.3 [%] 2.0 58.8 [%] 34
Gemeente Westerveld Totaal 29.5 [%] 5.5 [%] 459.4 29.7 [%] 5227
Gemeente Westervoort 60 38.9 [%] 21.8 [%] 3.6 62.8 [%] 43
Gemeente Westervoort 80 0.0 [%] 0.0 [%] 0.9 12.5 [%] 8
Gemeente Westervoort Totaal 35.0 [%] 17.3 [%] 4.5 54.9 [%] 51
Gemeente Westerwolde 60 32.7 [%] 11.6 [%] 65.7 33.9 [%] 685
Gemeente Westerwolde 80 26.8 [%] 4.9 [%] 340.8 22.4 [%] 3689
Gemeente Westerwolde Totaal 27.8 [%] 5.9 [%] 406.4 24.2 [%] 4374
Gemeente Westland 60 57.1 [%] 28.1 [%] 228.2 53.1 [%] 3071
Gemeente Westland 80 51.6 [%] 27.4 [%] 9.5 51.5 [%] 130
Gemeente Westland Totaal 56.8 [%] 28.0 [%] 237.7 53.0 [%] 3201
Gemeente Weststellingwerf 60 34.3 [%] 8.4 [%] 279.2 32.8 [%] 2984
Gemeente Weststellingwerf 70 0.0 [%] 0.0 [%] 2.4 3.8 [%] 26
Gemeente Weststellingwerf 80 28.6 [%] 3.1 [%] 22.1 25.8 [%] 233
Gemeente Weststellingwerf Totaal 33.4 [%] 7.9 [%] 303.7 32.1 [%] 3243
Gemeente Wierden 60 25.6 [%] 8.2 [%] 254.4 25.3 [%] 2967
Gemeente Wierden 80 42.5 [%] 17.1 [%] 6.4 32.5 [%] 83
Gemeente Wierden Totaal 26.4 [%] 8.5 [%] 260.9 25.5 [%] 3050
Gemeente Wijchen 60 41.0 [%] 13.1 [%] 114.9 32.3 [%] 1364
Gemeente Wijchen 80 30.6 [%] 3.8 [%] 24.0 17.3 [%] 271
Gemeente Wijchen Totaal 39.6 [%] 11.5 [%] 138.8 29.8 [%] 1635
Gemeente Wijdemeren 60 50.0 [%] 14.9 [%] 7.6 28.7 [%] 87
Gemeente Wijdemeren 80 18.2 [%] 0.5 [%] 7.7 5.2 [%] 77
Gemeente Wijdemeren Totaal 41.5 [%] 7.7 [%] 15.3 17.7 [%] 164
Gemeente Wijk bij Duurstede 60 33.2 [%] 7.0 [%] 81.4 22.1 [%] 909
Gemeente Wijk bij Duurstede 70 28.6 [%] 1.7 [%] 1.5 36.8 [%] 19
Gemeente Wijk bij Duurstede 80 40.0 [%] 8.0 [%] 1.1 15.4 [%] 13
Gemeente Wijk bij Duurstede Totaal 33.2 [%] 7.0 [%] 84.0 22.3 [%] 941
Gemeente Winterswijk 60 25.6 [%] 6.3 [%] 369.7 24.4 [%] 4280
Gemeente Winterswijk 80 50.0 [%] 14.2 [%] 0.2 25.0 [%] 4
Gemeente Winterswijk Totaal 25.7 [%] 6.3 [%] 369.9 24.4 [%] 4284
Gemeente Woensdrecht 60 38.4 [%] 18.6 [%] 229.2 42.2 [%] 2737
Gemeente Woensdrecht 80 16.2 [%] 3.0 [%] 11.5 26.9 [%] 134
Gemeente Woensdrecht Totaal 37.4 [%] 17.9 [%] 240.6 41.5 [%] 2871
Gemeente Woerden 60 43.8 [%] 10.4 [%] 91.8 28.1 [%] 1042
Gemeente Woerden 70 50.0 [%] 4.2 [%] 2.6 32.4 [%] 34
Gemeente Woerden 80 63.2 [%] 13.8 [%] 3.9 35.3 [%] 51
Gemeente Woerden Totaal 45.4 [%] 10.4 [%] 98.3 28.6 [%] 1127
Gemeente Wormerland 60 37.5 [%] 3.4 [%] 2.4 30.8 [%] 26
Gemeente Wormerland 80 0.0 [%] 0.0 [%] 0.1 0.0 [%] 1
Gemeente Wormerland Totaal 33.3 [%] 3.2 [%] 2.6 29.6 [%] 27
Gemeente Woudenberg 60 34.6 [%] 4.7 [%] 51.7 21.4 [%] 602
Gemeente Woudenberg 80 43.8 [%] 11.2 [%] 2.0 44.8 [%] 29
Gemeente Woudenberg Totaal 35.5 [%] 5.0 [%] 53.6 22.5 [%] 631
Gemeente Zaanstad 60 40.8 [%] 3.8 [%] 21.1 36.9 [%] 236
Gemeente Zaanstad 70 39.7 [%] 15.8 [%] 17.6 47.4 [%] 190
Gemeente Zaanstad 80 50.0 [%] 11.5 [%] 6.2 24.2 [%] 62
Gemeente Zaanstad Totaal 41.4 [%] 9.5 [%] 44.9 39.3 [%] 488
Gemeente Zaltbommel 60 27.0 [%] 9.6 [%] 83.6 30.1 [%] 884
Gemeente Zaltbommel 80 42.5 [%] 9.5 [%] 58.8 27.3 [%] 633
Gemeente Zaltbommel Totaal 33.6 [%] 9.5 [%] 142.4 28.9 [%] 1517
Gemeente Zandvoort 60 33.3 [%] 14.4 [%] 1.7 81.8 [%] 11
Gemeente Zandvoort Totaal 33.3 [%] 14.4 [%] 1.7 81.8 [%] 11
Gemeente Zeewolde 60 50.3 [%] 26.2 [%] 77.4 66.6 [%] 873
Gemeente Zeewolde 70 57.1 [%] 9.9 [%] 2.7 52.8 [%] 36
Gemeente Zeewolde 80 28.1 [%] 5.5 [%] 116.7 39.2 [%] 1249
Gemeente Zeewolde 100 75.0 [%] 61.8 [%] 0.1 75.0 [%] 4
Gemeente Zeewolde Totaal 42.0 [%] 13.7 [%] 197.0 50.5 [%] 2162
Gemeente Zeist 60 46.3 [%] 10.2 [%] 43.3 39.9 [%] 574
Gemeente Zeist 80 64.9 [%] 28.4 [%] 5.6 56.9 [%] 65
Gemeente Zeist Totaal 48.7 [%] 12.3 [%] 48.9 41.6 [%] 639
Gemeente Zevenaar 60 44.2 [%] 9.6 [%] 151.3 34.4 [%] 1748
Gemeente Zevenaar 80 47.6 [%] 14.9 [%] 8.0 41.0 [%] 100
Gemeente Zevenaar Totaal 44.4 [%] 9.9 [%] 159.3 34.8 [%] 1848
Gemeente Zoetermeer 60 64.7 [%] 16.2 [%] 3.4 61.8 [%] 55
Gemeente Zoetermeer 70 35.8 [%] 20.6 [%] 22.0 55.1 [%] 227
Gemeente Zoetermeer 80 66.7 [%] 29.1 [%] 6.9 64.9 [%] 74
Gemeente Zoetermeer Totaal 49.6 [%] 22.0 [%] 32.4 58.1 [%] 356
Gemeente Zoeterwoude 60 56.1 [%] 21.5 [%] 19.0 64.2 [%] 232
Gemeente Zoeterwoude 80 0.0 [%] 0.0 [%] 0.1 50.0 [%] 2
Gemeente Zoeterwoude 100 0.0 [%] 0.0 [%] 0.2 0.0 [%] 2
Gemeente Zoeterwoude Totaal 54.4 [%] 21.2 [%] 19.3 63.6 [%] 236
Gemeente Zuidplas 60 50.1 [%] 12.5 [%] 108.9 44.0 [%] 1349
Gemeente Zuidplas 80 48.3 [%] 11.9 [%] 7.1 47.6 [%] 105
Gemeente Zuidplas Totaal 49.9 [%] 12.5 [%] 116.0 44.2 [%] 1454
Gemeente Zundert 60 28.7 [%] 7.3 [%] 176.9 25.2 [%] 2032
Gemeente Zundert 80 21.9 [%] 3.6 [%] 69.1 19.3 [%] 778
Gemeente Zundert Totaal 26.9 [%] 6.3 [%] 246.0 23.6 [%] 2810
Gemeente Zutphen 60 39.8 [%] 12.0 [%] 35.4 41.2 [%] 420
Gemeente Zutphen 80 48.8 [%] 10.5 [%] 12.6 29.8 [%] 141
Gemeente Zutphen Totaal 42.2 [%] 11.6 [%] 48.0 38.3 [%] 561
Gemeente Zwartewaterland 60 33.7 [%] 5.0 [%] 91.0 33.4 [%] 1010
Gemeente Zwartewaterland 80 63.4 [%] 21.5 [%] 4.5 43.5 [%] 69
Gemeente Zwartewaterland Totaal 38.9 [%] 5.8 [%] 95.5 34.0 [%] 1079
Gemeente Zwijndrecht 60 67.9 [%] 69.3 [%] 2.0 73.7 [%] 38
Gemeente Zwijndrecht 80 100.0 [%] 100.0 [%] 0.5 100.0 [%] 10
Gemeente Zwijndrecht Totaal 76.3 [%] 75.5 [%] 2.6 79.2 [%] 48
Gemeente Zwolle 60 50.4 [%] 20.8 [%] 160.9 40.8 [%] 1906
Gemeente Zwolle 70 63.2 [%] 13.0 [%] 44.2 52.4 [%] 614
Gemeente Zwolle 80 65.7 [%] 40.8 [%] 9.1 69.7 [%] 132
Gemeente Zwolle Totaal 55.1 [%] 20.0 [%] 214.2 44.9 [%] 2652

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 60km/uur, 70 km/uur, 80 km/uur en 100 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 = 600) %>% #list(color = c('blue', 'purple')) 
  layout(
    # titeel initiele grafiek met object limiet
    title = list(text = paste("Kenmerkscore afwezigheid obstakels bij", "\n", 
                              "limiet", limiet, "voor te selecteren wegbeheerder vs.", "\n",
                              "landelijk. Selecteer de wegbeheerder uit de", "\n", 
                              "uitklapbare keuzelijst rechts."),
                 xanchor = 'center', yanchor =  'top'), # plaatsing van de titel
    #xanchor = 'center', x = 0.5 , yanchor =  'top', y = 1), # Dynamic title
    margin = list(l = 70, t = 70), # 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 obstakels - wegvakniveau`[i], landelijke_score_limiet))),  # Update x and y scores_wegbeheerder_limiet
              list(title = paste("Kenmerkscore afwezigheid obstakels bij limiet", limiet, "\n",
                                 "voor", groepskeuzen_wegbeheerder_limiet[i], "vs. landelijk")) # Dynamic title update
            ),
            label = groepskeuzen_wegbeheerder_limiet[i]
          )
        })
      )
    )
  )
}
# Calculate the average score
landelijke_score_60 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[1]
landelijke_score_70 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[2]
landelijke_score_80 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[3]
landelijke_score_100 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[4]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[5]

# data per provincie per limiet
scores_provincies_60 <- filter(scores_provincies, Snelheidslimiet == "60")
scores_provincies_70 <- filter(scores_provincies, Snelheidslimiet == "70")
scores_provincies_80 <- filter(scores_provincies, Snelheidslimiet == "80")
scores_provincies_100 <- filter(scores_provincies, Snelheidslimiet == "100")
scores_provincies_totaal <- filter(scores_provincies, Snelheidslimiet == "Totaal")

# Create the dropdown menu options
groepskeuzen_provincies_60 <- scores_provincies_60$Wegbeheerder
groepskeuzen_provincies_70 <- scores_provincies_70$Wegbeheerder
groepskeuzen_provincies_80 <- scores_provincies_80$Wegbeheerder
groepskeuzen_provincies_100 <- scores_provincies_100$Wegbeheerder
groepskeuzen_provincies_totaal <- scores_provincies_totaal$Wegbeheerder

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

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 70 km/u

# maak een benchmark grafiek voor provenciale wegbeheerders met limiet 70
fig70prov <- figuur.benchmark(scores_wegbeheerder_limiet = scores_provincies_70, 
                              limiet = 70,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_provincies_70,
                              landelijke_score_limiet = landelijke_score_70)

# Display the plot
fig70prov

Benchmark 80 km/u

# maak een benchmark grafiek voor provenciale wegbeheerders met limiet 80
fig80prov <- figuur.benchmark(scores_wegbeheerder_limiet = scores_provincies_80, 
                              limiet = 80,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_provincies_80,
                              landelijke_score_limiet = landelijke_score_80)

# Display the plot
fig80prov

Benchmark 100 km/u

# maak een benchmark grafiek voor provenciale wegbeheerders met limiet 100
fig100prov <- figuur.benchmark(scores_wegbeheerder_limiet = scores_provincies_100, 
                              limiet = 100,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_provincies_100,
                              landelijke_score_limiet = landelijke_score_100)

# Display the plot
fig100prov

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 60km/uur, 70 km/uur, 80 km/uur, en 100 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_60 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[1]
landelijke_score_70 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[2]
landelijke_score_80 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[3]
landelijke_score_100 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[4]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[5]

# data per gemeente per limiet
scores_gemeenten_60 <- filter(scores_gemeenten, Snelheidslimiet == "60")
scores_gemeenten_70 <- filter(scores_gemeenten, Snelheidslimiet == "70")
scores_gemeenten_80 <- filter(scores_gemeenten, Snelheidslimiet == "80")
scores_gemeenten_100 <- filter(scores_gemeenten, Snelheidslimiet == "100")
scores_gemeenten_totaal <- filter(scores_gemeenten, Snelheidslimiet == "Totaal")

# Create the dropdown menu options
groepskeuzen_gemeenten_60 <- scores_gemeenten_60$Wegbeheerder
groepskeuzen_gemeenten_70 <- scores_gemeenten_70$Wegbeheerder
groepskeuzen_gemeenten_80 <- scores_gemeenten_80$Wegbeheerder
groepskeuzen_gemeenten_100 <- scores_gemeenten_100$Wegbeheerder
groepskeuzen_gemeenten_totaal <- scores_gemeenten_totaal$Wegbeheerder

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

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 70 km/u

# maak een benchmark grafiek voor gemeentelijke wegbeheerders met wegen met limiet 70
fig70gem <- figuur.benchmark(scores_wegbeheerder_limiet = scores_gemeenten_70, 
                              limiet = 70,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_gemeenten_70,
                              landelijke_score_limiet = landelijke_score_70)
# Display the plot
fig70gem

Benchmark 80 km/u

# maak een benchmark grafiek voor gemeentelijke wegbeheerders met wegen met limiet 80
fig80gem <- figuur.benchmark(scores_wegbeheerder_limiet = scores_gemeenten_80, 
                              limiet = 80,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_gemeenten_80,
                              landelijke_score_limiet = landelijke_score_80)
# Display the plot
fig80gem

Benchmark 100 km/u

# maak een benchmark grafiek voor gemeentelijke wegbeheerders met wegen met limiet 100
fig100gem <- figuur.benchmark(scores_wegbeheerder_limiet = scores_gemeenten_100, 
                              limiet = 100,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_gemeenten_100,
                              landelijke_score_limiet = landelijke_score_100)
# Display the plot
fig100gem

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 60km/uur, 70 km/uur, 80 km/uur en 100 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_60 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[1]
landelijke_score_70 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[2]
landelijke_score_80 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[3]
landelijke_score_100 <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[4]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid obstakels - wegvakniveau`[5]

# data per waterschap per limiet
scores_waterschappen_60 <- filter(scores_waterschappen, Snelheidslimiet == "60")
scores_waterschappen_70 <- filter(scores_waterschappen, Snelheidslimiet == "70")
scores_waterschappen_80 <- filter(scores_waterschappen, Snelheidslimiet == "80")
scores_waterschappen_100 <- filter(scores_waterschappen, Snelheidslimiet == "100")
scores_waterschappen_totaal <- filter(scores_waterschappen, Snelheidslimiet == "Totaal")

# Create the dropdown menu options
groepskeuzen_waterschappen_60 <- scores_waterschappen_60$Wegbeheerder
groepskeuzen_waterschappen_70 <- scores_waterschappen_70$Wegbeheerder
groepskeuzen_waterschappen_80 <- scores_waterschappen_80$Wegbeheerder
groepskeuzen_waterschappen_100 <- scores_waterschappen_100$Wegbeheerder
groepskeuzen_waterschappen_totaal <- scores_waterschappen_totaal$Wegbeheerder

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

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 70 km/u

# maak een benchmark grafiek voor waterschaps-wegbeheerders met wegen met limiet 70
fig70wat <- figuur.benchmark(scores_wegbeheerder_limiet = scores_waterschappen_70, 
                              limiet = 70,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_waterschappen_70,
                              landelijke_score_limiet = landelijke_score_70)

# Display the plot
fig70wat

Benchmark 80 km/u

# maak een benchmark grafiek voor waterschaps-wegbeheerders met wegen met limiet 80
fig80wat <- figuur.benchmark(scores_wegbeheerder_limiet = scores_waterschappen_80, 
                              limiet = 80,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_waterschappen_80,
                              landelijke_score_limiet = landelijke_score_80)

# Display the plot
fig80wat

Benchmark 100 km/u

# maak een benchmark grafiek voor waterschaps-wegbeheerders met wegen met limiet 100
fig100wat <- figuur.benchmark(scores_wegbeheerder_limiet = scores_waterschappen_100, 
                              limiet = 100,
                              groepskeuzen_wegbeheerder_limiet = groepskeuzen_waterschappen_100,
                              landelijke_score_limiet = landelijke_score_100)

# Display the plot
fig100wat

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 obstakels langs rijbanen

  • Op moment van schrijven is de gebruikte dataset van obstakels nog niet openbaar gepubliceerd.
  • Niet alle obstakels zijn meegenomen in de WKD obstakels. Van verschillende obstakeltypen ontbreekt landelijke data. De analyse geeft daarmee geen compleet beeld van de afwezigheid van obstakels.
  • Het WKD obstakelbestand kent een aantal onzekerheden die kunnen doorwerken in de beoordeling van wegvakken:
    • Het kan voorkomen dat er stammen in de Boombasis staan die als fout positieven voorkomen, en in werkelijkheid wegmeubilair representeren zoals lantarenpalen.
    • Er is geen inschatting van de meetonzekerheid van de stamposities beschikbaar. Van bomen langs de rand van de obstakelvrije zone is nog niet bekend of/hoe een meetonnauwkeurigheid in het bronbestand doorwerkt in een negatieve beoordeling van het wegvak. Een kwaliteitstoets op dit bestand en de doorwerking hiervan in de beoordeling van wegvakken is gepland.
    • Complexe situaties zoals kruisingen en tunnels zijn bewust weg gefilterd, waardoor er geen obstakels gekoppeld zijn aan het NWB-segment. Echter, in werkelijkheid zullen met name kruisingen niet compleet obstakelvrij zijn.
    • Hellingen van taluds zijn bepaald uit het AHN. De meethode geeft een schatting van de helling in een afstandsklasse. De methode lijkt geschikt om kritische hellingen in een afstandsklasse te kunnen identificeren. De mate waarin de methode tot fout positieven of fout negatieven leidt is nog niet bekend.
    • Obstakelafstanden zijn gemeten langs op een vaste afstand naar binnen van de rand verharding (behalve bij limiet 60). Daarmee is getracht de ontwerprichtlijn te benaderen die voorschrijft dat vanaf de binnenkant van de kantmarkering gemeten dient te worden. Aangenomen wordt dat in de praktijk een afwijking naar boven toe (ruimere redresseerstrook dan de voorgeschreven) slechts zeer beperkt voorkomt. De methode staat beschreven in de WKD documentatie (nog te verschijnen)

7 Data export wegvakken

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

# sf df om te exporteren
nwb_wvk_obstakels_export <- nwb_wvk_obstakels %>% 
  left_join(select(nwb_rijbaan, WVK_ID, geometry), "WVK_ID") %>% 
  st_as_sf() %>% 
  mutate(wvk_voldoet = ifelse(wvk_voldoet == TRUE, "Obstakels afwezig", "Obstakels aanwezig"))

# Attributen tabel in tekstformat
nwb_wvk_obstakels_export_attributentabel <- data.frame(
  Attribuut = c(
    "WVK_ID", "limiet_maatgevend", "n_segmenten",
    "limiet_x_voldoet", "aantal_limieten", 
    "n_segmenten_voldoet_niet_bomen", "n_segmenten_voldoet_niet_bgt_obj",
    "n_segmenten_voldoet_niet_talud", "n_bomen_x_x","wvk_voldoet",
    "WEGBEHSRT", "STT_NAAM", "WPSNAAM", "GME_NAAM", "WEGBEHNAAM", "wegvaklengte"
    ),
  Omschrijving = c(
    "Het unieke nummer voor een Wegvak.",
    "De maatgevende snelheidslimiet. Wanneer binnen een wegvak meerdere snelheidslimieten bestaan, is de maatgevende limiet degene met de meeste lengte binnen dat wegvak.",
    "Het aantal segmenten binnen een wegvak",
    "Geeft aan of binnen een wegvak het gedeelte met een limiet van x km/uur voldoet aan de SPI.",
    "Geeft aan hoeveel limieten er binnen een wegvak aanwezig zijn.",
    "Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.",
    "Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van BGT objecten binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.",
    "Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen kritische taluds de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.",
    "Het aantal bomen in de betreffende klasse van obstakelvrije zone",
    "Laat zien of het gehele wegvak aan de SPI voldoet, dus in het geval van meerdere limieten of alle limieten voldoen.",
    "Het type wegbeheerder met G: Gemeente, W: Waterschap, P: Provincie en T: Particulier.",
    "Straatnaam", "Naam van de plaats waarin het wegvak ligt.", 
    "Naam van de gemeente waarin de plaats ligt", "Naam van de wegbeheerder.", 
    "Lengte van het wegvak."
    )
)

# maak een scrol tabel van de attributen tabel
scroltabel_gt(nwb_wvk_obstakels_export_attributentabel)
Attribuut Omschrijving
WVK_ID Het unieke nummer voor een Wegvak.
limiet_maatgevend De maatgevende snelheidslimiet. Wanneer binnen een wegvak meerdere snelheidslimieten bestaan, is de maatgevende limiet degene met de meeste lengte binnen dat wegvak.
n_segmenten Het aantal segmenten binnen een wegvak
limiet_x_voldoet Geeft aan of binnen een wegvak het gedeelte met een limiet van x km/uur voldoet aan de SPI.
aantal_limieten Geeft aan hoeveel limieten er binnen een wegvak aanwezig zijn.
n_segmenten_voldoet_niet_bomen Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.
n_segmenten_voldoet_niet_bgt_obj Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van BGT objecten binnen de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.
n_segmenten_voldoet_niet_talud Het aantal wegsegmenten binnen een wegvak dat niet voldoet op basis van bomen kritische taluds de obstakelvrije zone die geldt de limiet die aanwezig is op dat segment.
n_bomen_x_x Het aantal bomen in de betreffende klasse van obstakelvrije zone
wvk_voldoet Laat zien of het gehele wegvak aan de SPI voldoet, dus in het geval van meerdere limieten of alle limieten voldoen.
WEGBEHSRT Het type wegbeheerder met G: Gemeente, W: Waterschap, P: Provincie en T: Particulier.
STT_NAAM Straatnaam
WPSNAAM Naam van de plaats waarin het wegvak ligt.
GME_NAAM Naam van de gemeente waarin de plaats ligt
WEGBEHNAAM Naam van de wegbeheerder.
wegvaklengte Lengte van het wegvak.

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 met limiet 80 van de provincie Utrecht.

obstakels_utrecht <- nwb_wvk_obstakels_export %>%
  filter(WEGBEHSRT == "P" & WEGBEHNAAM == "Utrecht" & limiet_maatgevend == "80")
mapview(obstakels_utrecht, zcol = "wvk_voldoet", legend = TRUE)

Wegvakken in de kaart zijn aan te klikken. Daarmee wordt de attributentabel van het wegvak geladen en kunnen andere scores en kenmerken van het wegvak worden bekeken.

Deze data 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_wvk_obstakels_export), here("Output", "SPI_kenmerkscore_obstakels.csv"),
          row.names = FALSE, sep = ";", dec = ",", quote = TRUE)

# export naar geopackage
st_write(nwb_wvk_obstakels_export, here("Output", "SPI_kenmerkscore_obstakels.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