1 Leeswijzer

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

De lezer die op zoek is naar de deelscore vindt deze onder hoofdstuk 6, ‘Scores en Benchmark SPI Veilige Infrastructuur - kenmerk afwezigheid van oversteekplaatsen’. 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 oversteekplaatsen 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",
                       "downloadthis")

# 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 mappen structuur. Deze wordt gecontroleerd en aangemaakt als deze ontbreekt.

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

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

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

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

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

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

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

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

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

long_list <- c(blue_vals[1:3], green_vals[1:3], orange_vals[1:3])
long_list_full <- c(blue_vals[1:6], orange_vals[1:6], green_vals[1:7] )
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 zonder download functie
scroltabel_gt <- function (data, title = NULL, table.height = px(350)) {
    # gt table call
    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))
      ) 
}

# scroltabel met download functie
scroltabel_gt_dl <- function (data, title = NULL, table.height = px(350),
                            output_name = NULL,
                            output_extension = ".csv",
                            button_label = "Download csv",
                            button_type = "default") {
    # if no name supplied, grab the symbol as string
    if (is.null(output_name)) {
      output_name <- deparse(substitute(data))
    }
  
    # gt table call
    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))
      ) %>%
      
      # downloadknop
      tab_source_note(
      data %>%
        download_this(
          output_name       = output_name,
          output_extension  = output_extension,
          button_label      = button_label,
          button_type       = button_type
        )
    )
}

3 Introductie

De SPI Veilige Infrastructuur bevat het kenmerk “Afwezigheid oversteekplaatsen”. Op wegen van een limiet van 70 en hoger zijn oversteekplaatsen op wegvakken 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 oversteeklocaties op wegvakken ontbreken. Oversteekvoorzieningen op kruispunten zijn hierbij buiten beschouwing gelaten. Deze zijn onderdeel van de beoordeling van kruispunten.

Per wegbeheerder wordt bepaald welk deel van het wegennet positief scoort op de afwezigheid van oversteekplaatsen. Dit vormt de score van de wegbeheerder op dit kenmerk. Deze score wordt bepaald over het voor dit kenmerk relevante deel van het wegennet.

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

4 Data

In de analyse wordt gebruik gemaakt van het NWB (Nationaal Wegenbestand) en de WKD (Wegkenmerkendatabase). De WKD bevat één bestand relevant voor dit kenmerk: Oversteekplaatsen. Dit betreft oversteeklocaties op wegvakken voor langzaam verkeer. Het bestand Oversteekplaatsen is gericht op wegen met een limiet van 60 km/u en hoger en staat beschreven op https://docs.ndw.nu/en/handleidingen/wkd/wkd_oversteekplaatsen/.

Voor het bepalen van de oversteekplaatsen zijn verschillende bronnen gebruikt (zie WKD-documentatie): NWB, BGT, Mobiliteitsspectrum, WKD maximum snelheden, Strava, Openbaar Haltebestand Nederland, Verkeersbordenbestand, routedatank van Stichting Landelijk Fietsplatform en Stichting Wandelnet, OSM (voor validatie). De basis van het bestand is bepaald aan de hand van een analyse van juncties/knopen in het NWB. Een oversteekplaats is daarbij bepaald op basis van de volgende criteria:

  • minimaal twee wegvakken met de BST-code gelijk aan “FP” of “VP” die min of meer in het verlengde van elkaar liggen komen in de knoop samen
  • minimaal twee wegvakken met de BST-code die ongelijk is aan “FP” of “VP” die min of meer in het verlengde van elkaar liggen komen in de knoop samen

De analyse op het NWB leidt niet tot een compleet bestand. De andere genoemde databronnen zijn gebruikt voor het aanvullen en verifiëren van het basisbestand. De verantwoording hiervan wordt beschreven in de WKD documentatie.

Het WKD bestand is opgebouwd uit locaties van oversteekplaatsen. Elke locatie heeft een uniek ID (OVERSTK_ID). Wanneer locaties samen één oversteekplaats vormen (bijvoorbeeld bij het oversteken van een weg met gescheiden rijbanen) zijn de locaties geclusterd. Van alle oversteekplaatsen is een uniek CLUSTER_ID bepaald en het aantal locaties waaruit deze is opgebouwd.

Per oversteeklocatie is een lijst opgenomen van WVK_ID’s die de locatie kruist. Wanneer een oversteeklocatie op het begin- en eindpunt van twee wegvakken ligt (de oversteeklocatie is bepaald aan de hand van het NWB), is de oversteeklocatie daarnaast aan één van de twee wegvakken toegekend. Vanuit het veiligheidsperspectief voldoen beide wegvakken niet aan het kenmerk afwezigheid oversteekplaatsen wanneer de oversteekplaats op de grens van twee wegvakken ligt.

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

Uit de WKD worden de volgende onderdelen gebruikt.

  • Maximum snelheden
  • Oversteekplaatsen
  • Komgrenzen

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

Documentatie over de WKD is te vinden onder de download pagina van rijkswaterstaatdata: https://downloads.rijkswaterstaatdata.nl/wkd/Documentatie/ en via het NDW op https://docs.ndw.nu/en/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.

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 gedraait 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 snelheidslimieten

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

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

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

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

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

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

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

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

  # unzip
  unzip(dest_file_maxsnelhedenjaarjan, exdir = dest_folder)

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

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

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

4.1.3 WKD komgrenzen

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

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

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

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

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

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

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

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

  # unzip
  unzip(dest_file_komgrenzenjaarjan, exdir = dest_folder)

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

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

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

4.1.4 WKD oversteekplaatsen

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

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

#' Wanneer het script eerder lokaal is gedraait 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
Oversteekplaatsen_rds_naam <- paste0("Oversteekplaatsen", nwbjaar, "jan.RDS")

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

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

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

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

  # destination file + folder
  dest_file_Oversteekplaatsenjaarjan <- here("Data", Oversteekplaatsen_zip)
  dest_folder <- here("Data", paste0("Oversteekplaatsen", nwbjaar,"jan"))

  # download file
  curl_download(Oversteekplaatsenjaarjan_url, destfile = dest_file_Oversteekplaatsenjaarjan, mode = "wb")

  # unzip
  unzip(dest_file_Oversteekplaatsenjaarjan, exdir = dest_folder)

  # load the csv
  Oversteekplaatsen <- read.csv2(here(dest_folder, Oversteekplaatsen_datum, "wkd_024-OVERSTKLOC.csv"), stringsAsFactors = FALSE)

  # Save as RDS
  saveRDS(Oversteekplaatsen, here("RDS", Oversteekplaatsen_rds_naam))

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

4.2 Datavoorbereiding

De data dient te worden voorbereid voorafgaand aan de analyses en bepaling van het kenmerk Afwezigheid oversteekplaatsen van de SPI Veilige Infrastructuur. De voorbereiding omvat onder meer de koppeling van de verschillende bestanden, selecties van wegvakken en variabelen en het bepalen van enkele nieuwe variabelen. De data-voorbereiding is beschreven in de volgende subparagrafen.

4.2.1 NWB selecties

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

Afkortingen zijn te vinden in de NWB handleiding. In 2024 zijn de BST codes herzien.

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

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

4.2.2 Verwerking snelheidslimieten

Het maximum snelheden bestand uit de WKD bevat dubbeling van wegvakken. Deze ontdubbelen we op basis van een aggregatie waarbij we de limiet aan het wegvak toekennen die het meeste voorkomt. In de verschillende SPI score rapportages in deze serie komt deze zelfde bewerking terug. Hieronder wordt een uitsnede getoond van de tabel waarbij één limiet per wegvak is bepaald.

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

tabel_preview(aggregatie_limiet, title = "Uitsnede geaggregeerde limieten data")
Uitsnede geaggregeerde limieten data
WVK_ID MAXSHD lengte_snelheidslimiet
1 313432002 100 13922
2 292388006 80 11690
3 159225004 100 11385
4 223439024 80 10305
5 231494012 100 10260
6 299445001 100 9694
7 103247004 80 9448
8..1228351
1228352 601160876 60 2

De snelheidslimiet per wegvak wordt vervolgens gekoppeld aan het NWB.

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

4.2.3 Koppeling komgrenzen

Voor dit kenmerk beperken we ons in deze analyse tot wegen buiten de bebouwde kom. De WKD komgrenzen data betreft een registratie van wegvakdelen binnen de bebouwde kom, waarmee we de wegvakdelen buiten de bebouwde kom kunnen bepalen.

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

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

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

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

scroltabel_gt(komgrenzen_overlap, title = "Voorbeelden van overlappende segmenten in de WKD komgrenzen")
Voorbeelden van overlappende segmenten in de WKD komgrenzen
BEGINDAT WEGVAK_ID KOM_GMCODE KOM_GMNAAM KOM_PLAATS KOM_VAN KOM_TOT
01-12-2020 27142016 1714 Sluis Sint Anna ter Muiden 0 35.38
01-12-2020 27142016 GM1714 Sluis Sluis 0 35.38
01-12-2020 27142039 1714 Sluis Sint Anna ter Muiden 37.9 80.16
01-12-2020 27142039 GM1714 Sluis Sluis 18.57 80.16
01-03-2021 600437984 988 Weert Weert 562.48 580.12
01-03-2021 600437984 GM0988 Weert Weert 0 580.12

Overlappende intervallen worden daarom eerst over elkaar gelegd en geaggregeerd naar unieke intervallen op wegvakniveau, zonder overlap. Hiervoor is een aparte functie geschreven.

f_merge_segments <- function(data,
                             rsid_col = "RSID",
                             from_col = "FROM",
                             to_col = "TO",
                             varcat_col = "varcat") {
  data <- as.data.table(data)  # Ensure data is a data.table

  # Set dynamic column names
  setnames(data, c(rsid_col, from_col, to_col, varcat_col), c("RSID", "FROM", "TO", "varcat"))

  # Check variable class for FROM and TO. If they are integers, than change to numeric
  # This is done because -inf does not work well with integers and both need to be the same class
  data[, c("FROM", "TO") := lapply(.SD, function(x) if (is.integer(x)) as.numeric(x) else x),
    .SDcols = c("FROM", "TO")]

  # Sort the data
  setorder(data, RSID, varcat, FROM)

  # Create groups for merging overlapping/contiguous segments
  data[, group := cumsum(FROM > shift(TO, type = "lag", fill = -Inf) | varcat != shift(varcat, type = "lag", fill = "")), by = RSID]

  # Aggregate the merged segments
  result <- data[, .(FROM = min(FROM), TO = max(TO)), by = .(RSID, varcat, group)]

  # Drop helper column
  result[, group := NULL]

  # Rename back to original column names
  setnames(result, c("RSID", "FROM", "TO", "varcat"), c(rsid_col, from_col, to_col, varcat_col))

  return(as.data.frame(result))
}

Daarmee worden unieke intervallen van segmenten van wegvakken binnen de bebouwde kom bepaald. Het resultaat daarvan wordt hieronder getoond.

komgrenzen2 <- komgrenzen %>%
  select(WEGVAK_ID, KOM_VAN, KOM_TOT) %>%
  rename(WVK_ID = WEGVAK_ID, VAN = KOM_VAN, NAAR = KOM_TOT) %>%
  # f_merge_segments werkt met doubles
  mutate(VAN = round(as.numeric(VAN)),
    NAAR = round(as.numeric(NAAR)),
  # alle intervallen zijn bibeko
      komgrens = "bibeko") %>%
  setDT(.)

komgrenzen_interval <- f_merge_segments(data = komgrenzen2,
                                       rsid_col = "WVK_ID",
                                       from_col = "VAN",
                                       to_col = "NAAR",
                                       varcat_col = "komgrens") %>%
  as.data.frame(.)

tabel_preview(komgrenzen_interval, title = "Komgrens intervallen zonder overlaps")
Komgrens intervallen zonder overlaps
WVK_ID komgrens VAN NAAR
1 27142010 bibeko 0 17
2 27142014 bibeko 0 103
3 27142015 bibeko 0 333
4 27142016 bibeko 0 35
5 27142019 bibeko 0 57
6 27142039 bibeko 19 80
7 27142041 bibeko 0 65
8..1158681
1158682 601167640 bibeko 0 727

Op basis van de nieuwe intervallen kan van alle wegvakken de lengte binnen de bebouwde kom worden bepaald.

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

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

Dit gegeven wordt aan het NWB gekoppeld. Daarmee kan per wegvak het aandeel worden bepaald dat buiten de bebouwde kom ligt. Een wegvak wordt bepaald als buiten de bebouwde kom wanneer tenminste 50% van het wegvak buiten de kom ligt. Dit vereenvoudigt de score toekenning per wegvak en de bepaling van de SPI score per wegbeheerder.

Op basis van de gekoppelde data kunnen we de laatste selectie maken van wegvakken die voor de SPI Veilige Infrastructuur - kenmerk Afwezigheid oversteekplaatsen beoordeeld zullen worden. Er wordt daarvoor gefilterd op wegvakken buiten de bebouwde kom met een limiet van 70, 80 of 100 km/u.

# maximum share of the road section length outside the build-up area
bubeko_minimum <- 0.5

# voeg ligging bibeko/bubeko toe aan nwb
nwb_rijbaan_bubeko <- nwb_rijbaan_limiet %>%
  # join komgrenzen aggregatie
  left_join(komgrenzen_aggregatie) %>%
  mutate(
    # bepaal aandeel bubeko     
    lengte_bubeko = case_when(
      !is.na(lengte_bibeko) ~ wegvaklengte - lengte_bibeko, # als lengte_bibeko niet NA is, ligt deel van wegvak in bibeko
      TRUE ~ wegvaklengte                # als lengte_bibeko NA is, ligt hele wegvak in bubeko
    ),
    aandeel_bubeko = round(lengte_bubeko / wegvaklengte, 2),
    # bepaal binaire ligging bubeko of bibeko     
    ligging_kom = ifelse(na.as.false(aandeel_bubeko - bubeko_minimum > 0), "bubeko", "bibeko" )) %>%
  #lengte bibeko er uit
  select(-lengte_bibeko) %>%
  # plaats geometry kolom achteraan
  relocate(geometry, .after = last_col()) %>%
   # filter naar komgrens
  filter(ligging_kom == "bubeko") 

nwb_rijbaan2 <- nwb_rijbaan_bubeko %>%
  # filter naar limiet
  filter(MAXSHD =="70" | MAXSHD == "80" | MAXSHD == "100" 
        ## | MAXSHD == "50" # 50 km/uur toevoegen omdat dit buiten de kom een lokale limiet betreft van 80 wegen ?
        ## waarschijnlijk levert dit geen volledig resultaat omdat in de bron al een voorselectie is gemaakt
         ) %>% 
  left_join(select(as.data.frame(NWB), WVK_ID, RPE_CODE)) 

nwb_rijbaan_60kmpu <- nwb_rijbaan_bubeko %>%
  # filter naar limiet 60 km/u
  filter(MAXSHD =="60")


nwb_rijbaan_60tm100 <- nwb_rijbaan_bubeko %>%
  filter(MAXSHD %in% c("60", "70", "80", "100")
        ## | MAXSHD == "50" # 50 km/uur toevoegen omdat dit buiten de kom een lokale limiet betreft van 80 wegen ?
        ## waarschijnlijk levert dit geen volledig resultaat omdat in de bron al een voorselectie is gemaakt
         )

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

# tabel uitsnede dataset voor analyse
tabel_preview(st_drop_geometry(nwb_rijbaan2), title = "Dataset voor analyse")
Dataset voor analyse
WVK_ID WEGBEHSRT WEGNUMMER STT_NAAM WPSNAAM GME_NAAM WEGBEHNAAM BST_CODE wegvaklengte MAXSHD lengte_snelheidslimiet lengte_limiet_aandeel lengte_bubeko aandeel_bubeko ligging_kom RPE_CODE
1 122182003 G NA Dam Yerseke Reimerswaal Reimerswaal NA 63.198101 80 42 0.7 42.198101 0.67 bubeko #
2 311129004 P N69 Barrier Bergeijk Bergeijk Noord-Brabant HR 7.046706 80 7 1.0 7.046706 1.00 bubeko #
3 311128001 P N69 Barrier Bergeijk Bergeijk Noord-Brabant HR 359.840539 80 360 1.0 359.840539 1.00 bubeko #
4 390025014 P N278 Rijksweg Wittem Gulpen-Wittem Limburg MRB 17.908509 80 18 1.0 17.908509 1.00 bubeko R
5 366391002 G NA Bremerbergdijk Biddinghuizen Dronten Dronten NA 728.233683 80 728 1.0 728.233683 1.00 bubeko #
6 288344064 G NA Gooiergracht Laren Laren Laren NA 37.521689 80 38 1.0 37.521689 1.00 bubeko #
7 351529014 G NA Spearsterdyk Sibrandabuorren Súdwest-Fryslân Sudwest-Fryslan NA 14.804625 80 15 1.0 14.804625 1.00 bubeko #
8..47088
47089 600947010 P N620 Sint-Oedenrodeseweg Best Best Noord-Brabant HR 2.850547 80 3 1.0 2.850547 1.00 bubeko #

5 Analyse oversteekplaatsen data

Het bestand Oversteekplaatsen betreft een CSV waarbij elk record een oversteeklocatie op een wegvak in het NWB representeerd. Een oversteeklocatie kan op een begin- of eindpunt ofwel ergens midden op een wegvak liggen. In al deze gevallen zien we dit als een oversteeklocatie van het betreffende wegvak. Dat betekent dat één oversteekplaats tot meerdere wegvakken kan behoren. Per locatie is vastgelegd met welke wegvakken de locatie is verbonden (WVKID_LIJST).

Een oversteekplaats kan uit één of meerdere locaties bestaan. Wanneer een oversteekplaats een enkelbaans weg kruist, bestaat deze doorgaans uit een enkele locatie. Wanneer de bron data een losse oversteek voor voetgangers en fietsers bevat, bestaat deze uit twee locaties. Indien de oversteek een dubbelbaans weg kruist (een weg met een fysieke rijbaanscheiding zoals een middenberm of geleiderails), dan verdubbeld het aantal locaties. In het NWB zijn de rijbanen van deze wegen namelijk apart (en parallel aan elkaar) ingetekend. Dat betekend dat één oversteek meerdere wegvakken kruist. Eén oversteekvoorziening levert dan tenminste twee locaties op in de WKD dataset (meer kan dus ook).

In het WKD bestand Oversteekplaatsen zijn locaties binnen 25 meter van elkaar geclusterd en geregistreerd onder een uniek ID (CLUSTER_ID). Er wordt dus aangenomen dat oversteeklocaties binnen 25 meter van elkaar behoren tot dezelfde oversteekplaats. In deze analyse kijken we naar de aanwezigheid van clusters oversteekplaatsen, en niet individuele oversteeklocaties.

Let wel, het WKD bestand Oversteekplaatsen is opgebouwd uit de knopen, ofwel snijpunten van de oversteek met de rijbaan. Een unieke oversteekplaats komt dus meerdere keren voor wanneer deze is opgebouwd uit een cluster van deze knopen.

tabel_oversteekplaatsen_beschr <- 

"Attribuut;Omschrijving
BEGINDAT;De eerste datum waarop het wegkenmerk geldig is. Dit is de datum waarop het wegkenmerk voor het eerst voorkomt of voor het laatst gemuteerd is.
WEGVAK_ID;Het unieke nummer voor een Wegvak.
VAN;Locatie oversteekplaats op het Wegvak ten opzichte van het beginpunt, in meters. 
VAN_PER; Locatie oversteekplaats op het Wegvak, in percentage naar wegvaklengte.
CLUSTER_ID; Het cluster waartoe de oversteekplaats behoort. Fiets of voetpaden die een weg met gescheiden rijbanen kruisen zorgen voor twee oversteken, maar zijn geclusterd. 
OVERSTK_ID; Een uniek ID per oversteekplaats bestaande uit het CLUSTER_ID en een letter beginnend bij A. 
AANTAL; Het aantal oversteekplaatsen in het cluster.
NWB_NODE; Het NWB knoopnummer, indien sprake van een oversteekplaats op basis van het NWB. 
SNELHEID; De hoogste maximum snelheid op het wegvak, uit het NWB. 
WVKID_LST; De WEGVAK_ID's van alle betrokken wegvakken bij de betreffende knoop van de oversteekplaats. 
BRON; De bron op basis waarvan de oversteekplaats is bepaald. NWB, TOP10NL, routedatabank, of verkeersbordenbestand. 
GESCH_RIJB; Of er sprake is op een oversteekplaats van gescheide rijbanen, als ja/nee. 
WAARSC_BRD; De korste afstand tussen de oversteekplaats en de aanwezige waarschuwingsborden, tussen 0 en 100 meter.
HALTES; De aanwezigheid van bushaltes in de nabijheid, vastgelegd als uniek ID van de bushalte(s).
HOOFDMOD; De meeste relevante modaliteit voor de oversteekplaats, als fietser/voetganger.
WAND_FIETS; Of de oversteekplaats onderdeel uitmaakt van een fiets- of wandelroute, als fietsnetwerk/LAW/-.
STRA_PEOPLE; Het aantal personen ('people') op de knoop op basis van Strava-data, voor de verhouding in intensiteiten tussen locaties.
STRA_TRIPS; Het aantal trips op de knoop op basis van Strava-data, voor de verhouding in intensiteiten tussen locaties.
MOB_FIETS; Fietsintensiteiten op de knoop uit het Mobiliteitsspectrum. 
"

df_tabel_oversteekplaatsen_beschr <- read_delim(tabel_oversteekplaatsen_beschr, delim = ";", col_names = TRUE, trim_ws = TRUE,
                                                show_col_types = FALSE)

# Print the table
scroltabel_gt(df_tabel_oversteekplaatsen_beschr, title = "Variabelen WKD oversteekplaatsen data")
Variabelen WKD oversteekplaatsen data
Attribuut Omschrijving
BEGINDAT De eerste datum waarop het wegkenmerk geldig is. Dit is de datum waarop het wegkenmerk voor het eerst voorkomt of voor het laatst gemuteerd is.
WEGVAK_ID Het unieke nummer voor een Wegvak.
VAN Locatie oversteekplaats op het Wegvak ten opzichte van het beginpunt, in meters.
VAN_PER Locatie oversteekplaats op het Wegvak, in percentage naar wegvaklengte.
CLUSTER_ID Het cluster waartoe de oversteekplaats behoort. Fiets of voetpaden die een weg met gescheiden rijbanen kruisen zorgen voor twee oversteken, maar zijn geclusterd.
OVERSTK_ID Een uniek ID per oversteekplaats bestaande uit het CLUSTER_ID en een letter beginnend bij A.
AANTAL Het aantal oversteekplaatsen in het cluster.
NWB_NODE Het NWB knoopnummer, indien sprake van een oversteekplaats op basis van het NWB.
SNELHEID De hoogste maximum snelheid op het wegvak, uit het NWB.
WVKID_LST De WEGVAK_ID's van alle betrokken wegvakken bij de betreffende knoop van de oversteekplaats.
BRON De bron op basis waarvan de oversteekplaats is bepaald. NWB, TOP10NL, routedatabank, of verkeersbordenbestand.
GESCH_RIJB Of er sprake is op een oversteekplaats van gescheide rijbanen, als ja/nee.
WAARSC_BRD De korste afstand tussen de oversteekplaats en de aanwezige waarschuwingsborden, tussen 0 en 100 meter.
HALTES De aanwezigheid van bushaltes in de nabijheid, vastgelegd als uniek ID van de bushalte(s).
HOOFDMOD De meeste relevante modaliteit voor de oversteekplaats, als fietser/voetganger.
WAND_FIETS Of de oversteekplaats onderdeel uitmaakt van een fiets- of wandelroute, als fietsnetwerk/LAW/-.
STRA_PEOPLE Het aantal personen ('people') op de knoop op basis van Strava-data, voor de verhouding in intensiteiten tussen locaties.
STRA_TRIPS Het aantal trips op de knoop op basis van Strava-data, voor de verhouding in intensiteiten tussen locaties.
MOB_FIETS Fietsintensiteiten op de knoop uit het Mobiliteitsspectrum.

5.1 Wegvakanalyse: 70, 80 en 100 km/u wegen

Een oversteekplaats voor langzaam verkeer is niet wenselijk op wegen met een snelheid van 70 km/u of hoger. De analyse richt zich daarom op 70, 80 en 100 km/u wegen buiten de bebouwde kom. Per wegvak ID wordt vastgelegd:

  1. Of het wegvak wel of niet voldoet; Er is geen oversteekplaats aan het begin, aan het eind, of op het wegvak aanwezig
  2. De hoeveelheid oversteekplaatsen waarbij het wegvak betrokken is [0 of meer]

Let op, een record in de WKD oversteekplaatsen representeerd één knoop van een oversteeklocatie. Deze wordt aan een enkel wegvak toegekend middels de variabele WEGVAK_ID, die in deze analyse wordt genegeerd. In plaats daarvan wordt gekeken naar alle bij de oversteek betrokken wegvakken op basis van WVKID_LST. Aan de hand van de variabele CLUSTER_ID wordt bepaald aan hoeveel oversteekplaatsen een WVK_ID (uit WVKID_LST) kan worden gekoppeld. Aan de hand van het aantal betrokken oversteekplaatsen bepalen we of een wegvak voldoet of niet aan dit kenmerk van de SPI Infrastructuur.

# Aggregeren van Oversteekplaatsen naar een overzicht per wegvak: het aantal betrokken oversteekplaatsen

####################
# Omdat het onduidelijk is wat het betekend dat een oversteek aan 1 wegvak is toegekend wordt dit hier voorlopig
# uit de analyse gehaald
####################

# per wegvak id het aantal oversteekplaatsen die aan een betreffend wegvak zijn toegekend op basis van de variabele WEGVAK_ID uit het oversteekplaatsen bestand
# oversteekplaatsen_aggregatie_toegekend <- Oversteekplaatsen %>%
#   dplyr::rename(WVK_ID = WEGVAK_ID) %>%
#   group_by(WVK_ID) %>%
#   summarise(
#     aantal_toegekend = n() #,
#     # oversteken deel van een cluster worden als `1/aantal oversteken in het cluster` meegerekend. Hiermee bepalen we het totaal aantal geclusterde oversteken
#     # aantal_toegekend_clusters = sum(1/AANTAL) # niet afronden, was sum(round(1/AANTAL, 1))
#   )

###################

# per wegvak id het aantal Oversteekplaatsen waarbij het wegvak betrokken is op basis van WVKID_LST en CLUSTER_ID 
oversteekplaatsen_aggregatie_totaal <- Oversteekplaatsen %>%
  # lijst betrokken wegvakken splitsen, deze lijst is inclusief het wegvak waaraan de oversteekplaats is toegekend
  separate_rows(WVKID_LST, sep = ",") %>%
  mutate(WVK_ID = as.numeric(WVKID_LST)) %>%
  select(-WEGVAK_ID, -WVKID_LST) %>%
  # bepalen van het aantal unieke cluster_id's (unieke geidentificeerde/gebundelde oversteken) per wegvak id
  group_by(WVK_ID) %>%
  summarise(aantal_oversteekplaatsen = length(unique(CLUSTER_ID))) 

Deze data voegen we samen met de NWB wegvakken selectie.

# Bepaal aantal oversteekplaatsen van rijbaan wegvakken. 
nwb_oversteekplaatsen <- nwb_rijbaan2 %>%
  # selecteer te gebruiken NWB variabelen 
  select(WVK_ID, BST_CODE, MAXSHD, wegvaklengte) %>%
  #left_join(oversteekplaatsen_aggregatie_toegekend) %>%
  left_join(oversteekplaatsen_aggregatie_totaal) %>%
  # vul aantal 0 in voor wegvakken die niet in Oversteekplaatsen voor komt
  mutate(# aantal_toegekend = ifelse(na.as.false(aantal_toegekend>0), aantal_toegekend, 0),
         # aantal_toegekend_clusters = ifelse(na.as.false(aantal_toegekend_clusters>0), aantal_toegekend_clusters, 0),
         aantal_oversteekplaatsen = ifelse(na.as.false(aantal_oversteekplaatsen>0), aantal_oversteekplaatsen, 0)) %>%
  # wegvakscore oversteekplaatsen, als het aantaal_totaal = 0 is, dan voldoet deze (1), anders niet (0)
  mutate(oversteekplaatsen_voldoet = ifelse(aantal_oversteekplaatsen == 0, 1, 0)) %>%
  relocate(geometry, .after = last_col())

#head(nwb_oversteekplaatsen)  

Dit levert een dataset op met per wegvak het aantal oversteekplaatsen. Daarmee is per wegvak vastgelegd of het wegvak vrij is van oversteekplaatsen.

nwb_oversteekplaatsen2 <- nwb_oversteekplaatsen %>%
  mutate(oversteekplaatsen_aanwezig = ifelse(oversteekplaatsen_voldoet == 0, "Oversteekplaatsen aanwezig",  "Oversteekplaatsen afwezig")) %>%
  relocate(geometry, .after = last_col()) %>%
  relocate(oversteekplaatsen_aanwezig, .after = oversteekplaatsen_voldoet) %>%
  dplyr::rename(Snelheidslimiet = MAXSHD) %>%
  # toevoegen kenmerken uit NWB op basis van wvk id
  left_join(select(st_drop_geometry(nwb_rijbaan2), WVK_ID, WEGBEHSRT, WEGBEHNAAM, WEGNUMMER, STT_NAAM, WPSNAAM, GME_NAAM, aandeel_bubeko, lengte_limiet_aandeel))

# preview met een selectie van kenmerken
tabel_preview(select(st_drop_geometry(nwb_oversteekplaatsen2), WVK_ID, Snelheidslimiet, oversteekplaatsen_voldoet, oversteekplaatsen_aanwezig, aantal_oversteekplaatsen, wegvaklengte), title = "Wegvakken beoordeeld op de aanwezigheid van oversteeklocaties: een uitsnede van variabelen en wegvakken") 
Wegvakken beoordeeld op de aanwezigheid van oversteeklocaties: een uitsnede van variabelen en wegvakken
WVK_ID Snelheidslimiet oversteekplaatsen_voldoet oversteekplaatsen_aanwezig aantal_oversteekplaatsen wegvaklengte
1 122182003 80 1 Oversteekplaatsen afwezig 0 63.198101
2 311129004 80 1 Oversteekplaatsen afwezig 0 7.046706
3 311128001 80 1 Oversteekplaatsen afwezig 0 359.840539
4 390025014 80 1 Oversteekplaatsen afwezig 0 17.908509
5 366391002 80 1 Oversteekplaatsen afwezig 0 728.233683
6 288344064 80 1 Oversteekplaatsen afwezig 0 37.521689
7 351529014 80 1 Oversteekplaatsen afwezig 0 14.804625
8..47088
47089 600947010 80 1 Oversteekplaatsen afwezig 0 2.850547

5.2 Wegvakanalyse: 60 km/u wegen

Op 70, 80 en 100 km/u wegen buiten de bebouwde kom geldt dat o.a. langzaam verkeer oversteken op wegvakken niet zijn toegestaan om conflicten met dit verkeer te voorkomen. Voor 60 km/u wegen buiten de bebouwde kom geldt dit niet: De afwezigheid van oversteekplaatsen op 60 km/u wegen buiten de bebouwde kom is geen SPI criterium. Echter zijn wegen met een 60 km/u limiet wel wegen met een onveilige botssnelheid voor langzaam verkeer. Fiets- en voetgangersoversteken op deze wegen vragen dus wel aandacht.

In deze paragraaf brengen we voor alle 60 km/u wegen buiten de bebouwde kom in beeld, per wegvak:

  1. Of er wel of geen oversteekplaatsen aanwezig zijn aan het begin, het eind, of op het wegvak
  2. De hoeveelheid oversteekplaatsen waarbij het wegvak betrokken is [0 of meer]

We voegen de eerder geaggregeerde Oversteekplaatsen data toe aan de 60 km/u NWB selectie.

nwb_oversteekplaatsen_60kmpu <- nwb_rijbaan_60kmpu %>%
  # selecteer te gebruiken NWB variabelen 
  select(WVK_ID, BST_CODE, MAXSHD, wegvaklengte) %>%
  #left_join(oversteekplaatsen_aggregatie_toegekend) %>%
  left_join(oversteekplaatsen_aggregatie_totaal) %>%
  # vul aantal 0 in voor wegvakken die niet in Oversteekplaatsen voor komt
  mutate(#aantal_toegekend = ifelse(na.as.false(aantal_toegekend>0), aantal_toegekend, 0),
         #aantal_toegekend_clusters = ifelse(na.as.false(aantal_toegekend_clusters>0), aantal_toegekend_clusters, 0),
         aantal_oversteekplaatsen = ifelse(na.as.false(aantal_oversteekplaatsen>0), aantal_oversteekplaatsen, 0)) %>%
  # wegvakscore oversteekplaatsen, als het aantaal_totaal = 0 is, dan voldoet deze (1), anders niet (0)
  mutate(oversteekplaatsen_voldoet = ifelse(aantal_oversteekplaatsen == 0, 1, 0)) %>%
  relocate(geometry, .after = last_col())

#head(nwb_oversteekplaatsen_60kmpu)  

Dit levert een dataset op met per wegvak het aantal oversteekplaatsen. Daarmee is ook voor wegvakken met een limiet van 60 km/uur vastgelegd of deze vrij zijn van oversteekplaatsen.

nwb_oversteekplaatsen2_60kmpu <- nwb_oversteekplaatsen_60kmpu %>%
  mutate(oversteekplaatsen_aanwezig = ifelse(oversteekplaatsen_voldoet == 0, "Oversteekplaats aanwezig",  "Oversteekplaats afwezig")) %>%
  relocate(geometry, .after = last_col()) %>%
  relocate(oversteekplaatsen_aanwezig, .after = oversteekplaatsen_voldoet) %>%
  dplyr::rename(Snelheidslimiet = MAXSHD) %>%
  # toevoegen kenmerken uit NWB op basis van wvk id
  left_join(select(st_drop_geometry(nwb_rijbaan_60kmpu), WVK_ID, WEGBEHSRT, WEGBEHNAAM, WEGNUMMER, STT_NAAM, WPSNAAM, GME_NAAM, aandeel_bubeko, lengte_limiet_aandeel))

# preview met een selectie van kenmerken
tabel_preview(select(st_drop_geometry(nwb_oversteekplaatsen2_60kmpu), WVK_ID, Snelheidslimiet, oversteekplaatsen_voldoet, oversteekplaatsen_aanwezig, aantal_oversteekplaatsen, wegvaklengte)) 
WVK_ID Snelheidslimiet oversteekplaatsen_voldoet oversteekplaatsen_aanwezig aantal_oversteekplaatsen wegvaklengte
1 265179004 60 1 Oversteekplaats afwezig 0 32.57372
2 277203002 60 1 Oversteekplaats afwezig 0 184.88014
3 312145004 60 1 Oversteekplaats afwezig 0 107.69453
4 353323002 60 1 Oversteekplaats afwezig 0 181.03574
5 362118008 60 1 Oversteekplaats afwezig 0 192.47908
6 373149004 60 1 Oversteekplaats afwezig 0 76.69420
7 420523005 60 1 Oversteekplaats afwezig 0 63.12686
8..139446
139447 600404395 60 1 Oversteekplaats afwezig 0 198.83117

5.3 Oversteekaantallen per wegbeheerder en NL totaal voor geselecteerde wegvakken

Voor de overzichtstabellen bij het bepalen van de scores in de volgende hoofdstukken bepalen we tevens het aantal oversteken voor heel Nederland en per wegbeheerder per limiet van de ter beoordeling geselecteerde rijbaan wegvakken buiten de bebouwde kom. Het aantal oversteekplaatsen is als volgt per limiet klasse verdeeld over de geselecteerde wegvakken.

# lijst van WVK_ID's in de selectie van rijbanen
nwb_rijbaanselectie_wvkids <- nwb_rijbaan2$WVK_ID

Oversteekplaatsen_per_limiet_NL_nwbselectie <- Oversteekplaatsen %>%
  # lijst betrokken wegvakken splitsen, deze lijst is inclusief het wegvak waaraan de oversteekplaats is toegekend
  separate_rows(WVKID_LST, sep = ",") %>%
  select(-WEGVAK_ID) %>%
  mutate(WVK_ID = as.numeric(WVKID_LST),
         # bepaal of het WVK_ID onderdeel is van de nwb rijbaanselectie
         nwb_rijbaanselectie = ifelse(WVK_ID %in% nwb_rijbaanselectie_wvkids, TRUE, FALSE)) %>%
  left_join(select(as.data.frame(nwb_rijbaan_60tm100), WVK_ID, WEGBEHSRT, WEGBEHNAAM, BST_CODE)) %>%
  # filter naar wegbeheersoort
  filter(WEGBEHSRT %in% c("G", "P", "W" )) %>%
  # groepeer records per oversteeklocatie
  group_by(CLUSTER_ID) %>%
  mutate(
    # bepaal de maximale limiet per clusterid obv de limieten van de nwb wegvakken
    Snelheidslimiet = max(na.as.false(SNELHEID)),
    # bepaald of de oversteeklocatie gekoppeld is aan tenminste 1 wegvak uit de nwb rijbaan selectie
    oversteek_nwb_rijbaanselectie = ifelse(any(nwb_rijbaanselectie == TRUE), TRUE, FALSE)
    ) %>% 
  # verwijder oversteekplaatsen waar geen limiet van bekend is van een van de aansluitende wegvakken 
  # of de hoogste bekende limiet lager is dan 60
  filter(Snelheidslimiet >60 ) %>%
  filter(oversteek_nwb_rijbaanselectie) %>%
  # muteer snelheidslimiet naar character
  mutate(Snelheidslimiet = as.character(Snelheidslimiet)) %>%
  # groepeer bij wegbeheerder en snelheidslimiet
  group_by(Snelheidslimiet) %>%
  # tel het aantal oversteken per limiet
  summarise(aantal_oversteken = length(unique(CLUSTER_ID))) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  ungroup() %>%
  arrange((Snelheidslimiet))

Oversteekplaatsen_totaal_NL_70plus_nwbselectie <- Oversteekplaatsen_per_limiet_NL_nwbselectie %>%
  filter(Snelheidslimiet != "60") %>%
  summarise(aantal_oversteken = sum(aantal_oversteken)) %>%
  mutate(Snelheidslimiet = "Totaal") %>%
  relocate(Snelheidslimiet, .before = aantal_oversteken)

Oversteekplaatsen_NL_70plus_nwbselectie <- rbindlist(list(filter(Oversteekplaatsen_per_limiet_NL_nwbselectie,
                                                                        Snelheidslimiet != "60"),
                                              Oversteekplaatsen_totaal_NL_70plus_nwbselectie)) %>%
  arrange((Snelheidslimiet)) %>%
  rename(`Aantal oversteekplaatsen` = aantal_oversteken) %>%
  mutate(`Wegbeheerder soort` = "Totaal",
         Wegbeheerder = "Totaal") %>%
  relocate(`Wegbeheerder soort`, Wegbeheerder)

scroltabel_gt(Oversteekplaatsen_NL_70plus_nwbselectie, title = "Oversteeklocaties per limiet van de ter beoordeling geselecteerde nwb wegvakken")
Oversteeklocaties per limiet van de ter beoordeling geselecteerde nwb wegvakken
Wegbeheerder soort Wegbeheerder Snelheidslimiet Aantal oversteekplaatsen
Totaal Totaal 70 19
Totaal Totaal 80 1421
Totaal Totaal 100 24
Totaal Totaal Totaal 1464

Onderstaand wordt tevens een uitsnede getoond van het aantal oversteekplaatsen per wegbeheerder per limiet van de ter beoordeling geselecteerde wegvakken.

Oversteekplaatsen_per_wegbeheerder_limiet <- Oversteekplaatsen %>%
  # lijst betrokken wegvakken splitsen, deze lijst is inclusief het wegvak waaraan de oversteekplaats is toegekend
  separate_rows(WVKID_LST, sep = ",") %>%
  select(-WEGVAK_ID) %>%
  mutate(WVK_ID = as.numeric(WVKID_LST),
         # bepaal of het WVK_ID onderdeel is van de nwb rijbaanselectie
         nwb_rijbaanselectie = ifelse(WVK_ID %in% nwb_rijbaanselectie_wvkids, TRUE, FALSE)) %>%
  left_join(select(as.data.frame(nwb_rijbaan2), WVK_ID, WEGBEHSRT, WEGBEHNAAM, BST_CODE)) %>%
  # groepeer records per oversteeklocatie
  group_by(CLUSTER_ID) %>%
  mutate(
    # bepaal de maximale limiet per clusterid obv de limieten van de nwb wegvakken
    Snelheidslimiet = max(na.as.false(SNELHEID)),
    # bepaald of de oversteeklocatie gekoppeld is aan tenminste 1 wegvak uit de nwb rijbaan selectie
    oversteek_nwb_rijbaanselectie = ifelse(any(nwb_rijbaanselectie == TRUE), TRUE, FALSE)
    ) %>% 
  # verwijder oversteekplaatsen waar geen limiet van bekend is van een van de aansluitende wegvakken 
  # of de hoogste bekende limiet lager is dan 60
  filter(Snelheidslimiet > 60 ) %>%
  filter(oversteek_nwb_rijbaanselectie) %>%
  # verwijder oversteekplaatsen waar geen wegbeheersoort/wegbeheernaam van bekend is van een van de aansluitende wegvakken
  filter((!is.na(WEGBEHSRT) & !is.na(WEGBEHNAAM))) %>%
  # muteer snelheidslimiet naar character
  mutate(Snelheidslimiet = as.character(Snelheidslimiet)) %>%
  # wanneer hoogste limiet is 130, ga er dan vanuit dat de voor de wegbeheerder relevante limiet 80 betreft
  mutate(Snelheidslimiet = ifelse(Snelheidslimiet == "130", "80", Snelheidslimiet)) %>%
    # verwijder oversteekplaatsen waar geen wegbeheersoort/wegbeheernaam van bekend is van een van de aansluitende wegvakken
  filter((!is.na(WEGBEHSRT) & !is.na(WEGBEHNAAM))) %>%
  # groepeer bij wegbeheerder en snelheidslimiet
  group_by(WEGBEHSRT, WEGBEHNAAM, Snelheidslimiet) %>%
  summarise(aantal_oversteken = length(unique(CLUSTER_ID))) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  ungroup() %>%
  arrange(WEGBEHSRT, WEGBEHNAAM, (Snelheidslimiet))

Oversteekplaatsen_totaal_wegbeheerder_70plus <- Oversteekplaatsen_per_wegbeheerder_limiet %>%
  filter(Snelheidslimiet != "60") %>%
  # wanneer hoogste limiet is 130, ga er dan vanuit dat de voor de wegbeheerder relevante limiet 80 betreft
  mutate(Snelheidslimiet = ifelse(Snelheidslimiet == "130", "80", "Snelheidslimiet")) %>%
  # groepeer bij wegbeheerder en snelheidslimiet
  group_by(WEGBEHSRT, WEGBEHNAAM) %>%
  summarise(aantal_oversteken = sum(aantal_oversteken)) %>%
  mutate(Snelheidslimiet = "Totaal") %>%
  relocate(Snelheidslimiet, .before = aantal_oversteken)

Oversteekplaatsen_wegbeheerder_70plus <- rbindlist(list(filter(Oversteekplaatsen_per_wegbeheerder_limiet, Snelheidslimiet != "60"),
                                                        Oversteekplaatsen_totaal_wegbeheerder_70plus)) %>%
  arrange(WEGBEHSRT, WEGBEHNAAM, (Snelheidslimiet)) %>%
  rename(`Wegbeheerder soort` = WEGBEHSRT, Wegbeheerder = WEGBEHNAAM, `Aantal oversteekplaatsen` = aantal_oversteken) %>%
  mutate(`Wegbeheerder soort` = case_when(
    `Wegbeheerder soort` == "G" ~ "Gemeente",
    `Wegbeheerder soort` == "P" ~ "Provincie",
    `Wegbeheerder soort` == "R" ~ "Rijk",
    `Wegbeheerder soort` == "W" ~ "Waterschap",
    .default = "Overig" ))

tabel_preview(Oversteekplaatsen_wegbeheerder_70plus)
Wegbeheerder soort Wegbeheerder Snelheidslimiet Aantal oversteekplaatsen
1 Gemeente 's-Hertogenbosch 80 1
2 Gemeente 's-Hertogenbosch Totaal 1
3 Gemeente Aa en Hunze 80 10
4 Gemeente Aa en Hunze Totaal 10
5 Gemeente Achtkarspelen 80 6
6 Gemeente Achtkarspelen Totaal 6
7 Gemeente Alkmaar 80 1
8..403
404 Waterschap Waterschap Scheldestromen Totaal 16

5.4 Oversteekaantallen per wegbeheerder voor geselecteerde bubeko 60km/uur wegvakken

De wkd oversteekplaatsen bevat oversteeklocaties op wegen met een limiet van 60 km/uur. Hoewel deze oversteeklocaties buiten de scope van de spi liggen, kunnen deze wel risicovol zijn gelet op de snelheidslimiet en de kwetsbaarheid van de fietser. Daarom wordt hier wel een overzicht gegeven van de aantallen fietsoversteken per wegbeheerder bij een limiet van 60 km/uur.

Oversteekplaatsen_per_wegbeheerder_limiet_60 <- Oversteekplaatsen %>%
  # lijst betrokken wegvakken splitsen, deze lijst is inclusief het wegvak waaraan de oversteekplaats is toegekend
  separate_rows(WVKID_LST, sep = ",") %>%
  select(-WEGVAK_ID) %>%
  mutate(WVK_ID = as.numeric(WVKID_LST),
         # bepaal of het WVK_ID onderdeel is van de nwb rijbaanselectie
         # nwb_rijbaanselectie = ifelse(WVK_ID %in% nwb_rijbaanselectie_wvkids, TRUE, FALSE)
         ) %>%
  left_join(select(as.data.frame(nwb_rijbaan_60kmpu), WVK_ID, WEGBEHSRT, WEGBEHNAAM, BST_CODE)) %>%
  # groepeer records per oversteeklocatie
  group_by(CLUSTER_ID) %>%
  mutate(
  # bepaal de maximale limiet per clusterid obv de limieten van de nwb wegvakken
  Snelheidslimiet = max(na.as.false(SNELHEID))) %>% 
  # muteer snelheidslimiet naar character
  mutate(Snelheidslimiet = as.character(Snelheidslimiet)) %>%
  # verwijder oversteekplaatsen waar geen wegbeheersoort/wegbeheernaam van bekend is van een van de aansluitende wegvakken
  filter((!is.na(WEGBEHSRT) & !is.na(WEGBEHNAAM))) %>%
  filter(Snelheidslimiet == "60") %>%
  # groepeer bij wegbeheerder en snelheidslimiet
  group_by(WEGBEHSRT, WEGBEHNAAM, Snelheidslimiet) %>%
  summarise(aantal_oversteken = length(unique(CLUSTER_ID))) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  ungroup() %>%
  arrange(WEGBEHSRT, WEGBEHNAAM, (Snelheidslimiet)) %>%
  rename(`Wegbeheerder soort` = WEGBEHSRT, Wegbeheerder = WEGBEHNAAM, `Aantal oversteekplaatsen` = aantal_oversteken) %>%
  mutate(`Wegbeheerder soort` = case_when(
    `Wegbeheerder soort` == "G" ~ "Gemeente",
    `Wegbeheerder soort` == "P" ~ "Provincie",
    `Wegbeheerder soort` == "R" ~ "Rijk",
    `Wegbeheerder soort` == "W" ~ "Waterschap",
    .default = "Overig" ))

scroltabel_gt(Oversteekplaatsen_per_wegbeheerder_limiet_60, title = "Tabel van oversteeklocaties met een limiet van 60km/uur")
Tabel van oversteeklocaties met een limiet van 60km/uur
Wegbeheerder soort Wegbeheerder Snelheidslimiet Aantal oversteekplaatsen
Gemeente 's-Gravenhage 60 2
Gemeente 's-Hertogenbosch 60 11
Gemeente Aa en Hunze 60 54
Gemeente Aalsmeer 60 4
Gemeente Aalten 60 14
Gemeente Achtkarspelen 60 5
Gemeente Alblasserdam 60 1
Gemeente Albrandswaard 60 4
Gemeente Alkmaar 60 5
Gemeente Almelo 60 6
Gemeente Almere 60 14
Gemeente Alphen aan den Rijn 60 12
Gemeente Alphen-Chaam 60 37
Gemeente Altena 60 20
Gemeente Ameland 60 5
Gemeente Amersfoort 60 6
Gemeente Amstelveen 60 13
Gemeente Amsterdam 60 8
Gemeente Apeldoorn 60 60
Gemeente Arnhem 60 8
Gemeente Assen 60 15
Gemeente Asten 60 12
Gemeente Baarle-Nassau 60 17
Gemeente Baarn 60 7
Gemeente Barneveld 60 26
Gemeente Bedum 60 3
Gemeente Beekdaelen 60 9
Gemeente Beesel 60 1
Gemeente Berg en Dal 60 26
Gemeente Bergeijk 60 30
Gemeente Bergen (L.) 60 20
Gemeente Bergen (NH.) 60 7
Gemeente Bergen op Zoom 60 19
Gemeente Berkelland 60 55
Gemeente Bernheze 60 22
Gemeente Best 60 12
Gemeente Beuningen 60 7
Gemeente Beverwijk 60 2
Gemeente Bladel 60 20
Gemeente Blaricum 60 4
Gemeente Bloemendaal 60 3
Gemeente Bodegraven-Reeuwijk 60 6
Gemeente Boekel 60 8
Gemeente Borger-Odoorn 60 33
Gemeente Borne 60 7
Gemeente Boxtel 60 17
Gemeente Breda 60 5
Gemeente Bronckhorst 60 43
Gemeente Brummen 60 20
Gemeente Bunnik 60 4
Gemeente Bunschoten 60 7
Gemeente Buren 60 8
Gemeente Coevorden 60 23
Gemeente Cranendonck 60 20
Gemeente Culemborg 60 3
Gemeente Dalfsen 60 13
Gemeente Dantumadiel 60 2
Gemeente De Bilt 60 9
Gemeente De Fryske Marren 60 18
Gemeente De Ronde Venen 60 6
Gemeente De Wolden 60 22
Gemeente Delft 60 3
Gemeente Den Helder 60 2
Gemeente Deurne 60 8
Gemeente Deventer 60 17
Gemeente Dijk en Waard 60 8
Gemeente Dinkelland 60 16
Gemeente Doetinchem 60 11
Gemeente Dongen 60 2
Gemeente Dordrecht 60 14
Gemeente Drechterland 60 6
Gemeente Drimmelen 60 10
Gemeente Dronten 60 7
Gemeente Druten 60 3
Gemeente Duiven 60 5
Gemeente Echt-Susteren 60 10
Gemeente Ede 60 46
Gemeente Eemnes 60 5
Gemeente Eemsdelta 60 13
Gemeente Eersel 60 34
Gemeente Eijsden-Margraten 60 10
Gemeente Eindhoven 60 4
Gemeente Elburg 60 11
Gemeente Emmen 60 36
Gemeente Enschede 60 33
Gemeente Epe 60 56
Gemeente Ermelo 60 24
Gemeente Etten-Leur 60 11
Gemeente Geertruidenberg 60 7
Gemeente Geldrop-Mierlo 60 4
Gemeente Gemert-Bakel 60 13
Gemeente Gennep 60 4
Gemeente Gilze en Rijen 60 11
Gemeente Goeree-Overflakkee 60 7
Gemeente Goes 60 2
Gemeente Goirle 60 2
Gemeente Gooise Meren 60 6
Gemeente Gouda 60 3
Gemeente Groningen 60 16
Gemeente Gulpen-Wittem 60 6
Gemeente Haaksbergen 60 25
Gemeente Haarlemmermeer 60 37
Gemeente Halderberge 60 3
Gemeente Hardenberg 60 37
Gemeente Harderwijk 60 5
Gemeente Hardinxveld-Giessendam 60 2
Gemeente Harlingen 60 2
Gemeente Hattem 60 11
Gemeente Heerde 60 41
Gemeente Heerenveen 60 11
Gemeente Heerlen 60 2
Gemeente Heeze-Leende 60 25
Gemeente Hellendoorn 60 26
Gemeente Helmond 60 9
Gemeente Hengelo OV 60 10
Gemeente Het Hogeland 60 18
Gemeente Heumen 60 18
Gemeente Heusden 60 18
Gemeente Hilvarenbeek 60 27
Gemeente Hilversum 60 3
Gemeente Hoeksche Waard 60 5
Gemeente Hof van Twente 60 19
Gemeente Hollands Kroon 60 10
Gemeente Hoogeveen 60 23
Gemeente Hoorn 60 2
Gemeente Horst aan de Maas 60 34
Gemeente Houten 60 4
Gemeente Huizen 60 4
Gemeente Hulst 60 1
Gemeente IJsselstein 60 1
Gemeente Kaag en Braassem 60 2
Gemeente Kampen 60 3
Gemeente Kerkrade 60 1
Gemeente Koggenland 60 2
Gemeente Krimpen aan den IJssel 60 2
Gemeente Laarbeek 60 12
Gemeente Land van Cuijk 60 48
Gemeente Landgraaf 60 2
Gemeente Landsmeer 60 5
Gemeente Lansingerland 60 37
Gemeente Laren 60 3
Gemeente Leeuwarden 60 15
Gemeente Leiderdorp 60 1
Gemeente Leidschendam-Voorburg 60 14
Gemeente Lelystad 60 8
Gemeente Leudal 60 14
Gemeente Leusden 60 13
Gemeente Lingewaard 60 1
Gemeente Lisse 60 2
Gemeente Lochem 60 24
Gemeente Loon op Zand 60 14
Gemeente Lopik 60 4
Gemeente Losser 60 16
Gemeente Maasdriel 60 6
Gemeente Maasgouw 60 6
Gemeente Maashorst 60 38
Gemeente Maassluis 60 1
Gemeente Maastricht 60 5
Gemeente Medemblik 60 4
Gemeente Meerssen 60 7
Gemeente Meierijstad 60 46
Gemeente Meppel 60 2
Gemeente Midden-Delfland 60 6
Gemeente Midden-Drenthe 60 40
Gemeente Midden-Groningen 60 12
Gemeente Moerdijk 60 13
Gemeente Montferland 60 13
Gemeente Montfoort 60 1
Gemeente Mook en Middelaar 60 1
Gemeente Neder-Betuwe 60 9
Gemeente Nederweert 60 3
Gemeente Nieuwegein 60 2
Gemeente Nieuwkoop 60 6
Gemeente Nijkerk 60 11
Gemeente Nijmegen 60 1
Gemeente Nissewaard 60 5
Gemeente Noardeast-Fryslan 60 11
Gemeente Noord-Beveland 60 5
Gemeente Noordenveld 60 29
Gemeente Noordoostpolder 60 42
Gemeente Noordwijk 60 9
Gemeente Nuenen, Gerwen en Nederw 60 2
Gemeente Nunspeet 60 28
Gemeente Oegstgeest 60 2
Gemeente Oirschot 60 17
Gemeente Oisterwijk 60 21
Gemeente Oldambt 60 5
Gemeente Oldebroek 60 13
Gemeente Oldenzaal 60 4
Gemeente Olst-Wijhe 60 12
Gemeente Ommen 60 61
Gemeente Oost Gelre 60 22
Gemeente Oosterhout 60 4
Gemeente Ooststellingwerf 60 17
Gemeente Oostzaan 60 23
Gemeente Opmeer 60 1
Gemeente Opsterland 60 20
Gemeente Oss 60 25
Gemeente Oude IJsselstreek 60 20
Gemeente Ouder-Amstel 60 2
Gemeente Overbetuwe 60 14
Gemeente Peel en Maas 60 18
Gemeente Pijnacker-Nootdorp 60 11
Gemeente Purmerend 60 1
Gemeente Putten 60 20
Gemeente Raalte 60 18
Gemeente Reimerswaal 60 3
Gemeente Renkum 60 13
Gemeente Renswoude 60 4
Gemeente Reusel-De Mierden 60 18
Gemeente Rheden 60 14
Gemeente Rhenen 60 4
Gemeente Ridderkerk 60 1
Gemeente Rijssen-Holten 60 17
Gemeente Rijswijk 60 1
Gemeente Roerdalen 60 16
Gemeente Roermond 60 9
Gemeente Roosendaal 60 8
Gemeente Rotterdam 60 7
Gemeente Rozendaal 60 2
Gemeente Rucphen 60 15
Gemeente Schagen 60 8
Gemeente Scherpenzeel 60 2
Gemeente Schiedam 60 2
Gemeente Schiermonnikoog 60 3
Gemeente Schouwen-Duiveland 60 4
Gemeente Sint Anthonis 60 1
Gemeente Sint-Michielsgestel 60 10
Gemeente Sittard-Geleen 60 2
Gemeente Sluis Z 60 8
Gemeente Smallingerland 60 9
Gemeente Soest 60 3
Gemeente Someren 60 19
Gemeente Son en Breugel 60 5
Gemeente Staphorst 60 12
Gemeente Stede Broec 60 4
Gemeente Steenbergen 60 4
Gemeente Steenwijkerland 60 35
Gemeente Stein 60 1
Gemeente Stichtse Vecht 60 15
Gemeente Sudwest-Fryslan 60 21
Gemeente Terschelling 60 8
Gemeente Texel 60 19
Gemeente Teylingen 60 3
Gemeente Tholen 60 1
Gemeente Tilburg 60 18
Gemeente Tubbergen 60 24
Gemeente Twenterand 60 3
Gemeente Tynaarlo 60 25
Gemeente Tytsjerksteradiel 60 13
Gemeente Uithoorn 60 1
Gemeente Urk 60 1
Gemeente Utrecht 60 2
Gemeente Utrechtse Heuvelrug 60 34
Gemeente Vaals 60 9
Gemeente Valkenburg aan de Geul 60 5
Gemeente Valkenswaard 60 2
Gemeente Veendam 60 2
Gemeente Veere 60 1
Gemeente Veldhoven 60 6
Gemeente Velsen 60 22
Gemeente Venlo 60 16
Gemeente Venray 60 23
Gemeente Vlaardingen 60 12
Gemeente Vlieland 60 13
Gemeente Voerendaal 60 5
Gemeente Voorne aan Zee 60 3
Gemeente Voorst 60 15
Gemeente Vught 60 15
Gemeente Waadhoeke 60 16
Gemeente Waalre 60 6
Gemeente Waalwijk 60 8
Gemeente Waddinxveen 60 5
Gemeente Wageningen 60 7
Gemeente Wassenaar 60 8
Gemeente Weert 60 13
Gemeente West Betuwe 60 9
Gemeente West Maas en Waal 60 2
Gemeente Westerkwartier 60 19
Gemeente Westerveld 60 64
Gemeente Westerwolde 60 1
Gemeente Westland 60 18
Gemeente Weststellingwerf 60 8
Gemeente Wierden 60 16
Gemeente Wijchen 60 18
Gemeente Wijk bij Duurstede 60 5
Gemeente Winterswijk 60 28
Gemeente Woensdrecht 60 15
Gemeente Woerden 60 7
Gemeente Woudenberg 60 10
Gemeente Zaltbommel 60 3
Gemeente Zeewolde 60 15
Gemeente Zeist 60 8
Gemeente Zevenaar 60 10
Gemeente Zoetermeer 60 4
Gemeente Zoeterwoude 60 3
Gemeente Zuidplas 60 9
Gemeente Zundert 60 9
Gemeente Zutphen 60 7
Gemeente Zwartewaterland 60 8
Gemeente Zwijndrecht 60 3
Gemeente Zwolle 60 10
Provincie Drenthe 60 7
Provincie Flevoland 60 7
Provincie Friesland 60 9
Provincie Gelderland 60 27
Provincie Groningen 60 15
Provincie Noord-Brabant 60 1
Provincie Noord-Holland 60 17
Provincie Overijssel 60 10
Provincie Utrecht 60 9
Provincie Zeeland 60 15
Provincie Zuid-Holland 60 20
Overig Meer instanties 60 6
Overig NV Westerscheldetunnel 60 2
Overig North Sea Port 60 2
Overig Overige instanties 60 19
Overig Staatsbosbeheer 60 9
Waterschap HHS Hollands Noorderkwartier 60 9
Waterschap HHS Schieland en de Krimpenerwaard 60 12
Waterschap Waterschap De Hollandse Delta 60 80
Waterschap Waterschap Rivierenland 60 17
Waterschap Waterschap Scheldestromen 60 107

5.5 Oversteekaantallen per wegbeheerder en NL totaal

Voor de beoordeling van wegvakken aan de hand van de SPI Veilige Infrastructuur - onderdeel oversteekplaatsen is een selectie gemaakt van daarvoor relevant geachte rijbanen. Het WKD oversteekplaatsen bestand bevat meer oversteken dan die op de geselecteerde rijbanen. Om het verschil inzichtelijk te maken is ook een totaal tabel van oversteken per limiet per wegbeheerder bepaald.

Oversteekplaatsen_per_wegbeheerder_limiet_alles <- Oversteekplaatsen %>%
  # lijst betrokken wegvakken splitsen, deze lijst is inclusief het wegvak waaraan de oversteekplaats is toegekend
  separate_rows(WVKID_LST, sep = ",") %>%
  select(-WEGVAK_ID) %>%
  mutate(WVK_ID = as.numeric(WVKID_LST),
         # bepaal of het WVK_ID onderdeel is van de nwb rijbaanselectie
         # nwb_rijbaanselectie = ifelse(WVK_ID %in% nwb_rijbaanselectie_wvkids, TRUE, FALSE)
         ) %>%
  left_join(select(as.data.frame(NWB), WVK_ID, WEGBEHSRT, WEGBEHNAAM, BST_CODE)) %>%
  # groepeer records per oversteeklocatie
  group_by(CLUSTER_ID) %>%
  mutate(
    # bepaal de maximale limiet per clusterid obv de limieten van de nwb wegvakken
    Snelheidslimiet = max(na.as.false(SNELHEID))) %>% 
  # muteer snelheidslimiet naar character
  mutate(Snelheidslimiet = as.character(Snelheidslimiet)) %>%
  # verwijder oversteekplaatsen waar geen wegbeheersoort/wegbeheernaam van bekend is van een van de aansluitende wegvakken
  filter((!is.na(WEGBEHSRT) & !is.na(WEGBEHNAAM))) %>%
  # groepeer bij wegbeheerder en snelheidslimiet
  group_by(WEGBEHSRT, WEGBEHNAAM, Snelheidslimiet) %>%
  summarise(aantal_oversteken = length(unique(CLUSTER_ID))) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  ungroup() %>%
  arrange(WEGBEHSRT, WEGBEHNAAM, (Snelheidslimiet)) %>%
  rename(`Wegbeheerder soort` = WEGBEHSRT, Wegbeheerder = WEGBEHNAAM, `Aantal oversteekplaatsen` = aantal_oversteken) %>%
  mutate(`Wegbeheerder soort` = case_when(
    `Wegbeheerder soort` == "G" ~ "Gemeente",
    `Wegbeheerder soort` == "P" ~ "Provincie",
    `Wegbeheerder soort` == "R" ~ "Rijk",
    `Wegbeheerder soort` == "W" ~ "Waterschap",
    .default = "Overig" ))

scroltabel_gt(Oversteekplaatsen_per_wegbeheerder_limiet_alles, title = "Totaal tabel van oversteken uit de WKD oversteeklocaties")
Totaal tabel van oversteken uit de WKD oversteeklocaties
Wegbeheerder soort Wegbeheerder Snelheidslimiet Aantal oversteekplaatsen
Gemeente 's-Gravenhage 60 2
Gemeente 's-Hertogenbosch 60 14
Gemeente 's-Hertogenbosch 80 3
Gemeente Aa en Hunze 60 56
Gemeente Aa en Hunze 70 2
Gemeente Aa en Hunze 80 20
Gemeente Aalsmeer 60 4
Gemeente Aalten 60 16
Gemeente Aalten 80 7
Gemeente Achtkarspelen 60 5
Gemeente Achtkarspelen 80 12
Gemeente Alblasserdam 60 1
Gemeente Albrandswaard 60 8
Gemeente Alkmaar 60 5
Gemeente Alkmaar 80 3
Gemeente Alkmaar 100 1
Gemeente Almelo 60 9
Gemeente Almelo 70 1
Gemeente Almelo 80 2
Gemeente Almere 60 32
Gemeente Almere 80 7
Gemeente Alphen aan den Rijn 60 12
Gemeente Alphen aan den Rijn 70 3
Gemeente Alphen-Chaam 60 37
Gemeente Alphen-Chaam 80 2
Gemeente Altena 60 20
Gemeente Altena 80 1
Gemeente Altena 100 2
Gemeente Ameland 60 5
Gemeente Ameland 80 3
Gemeente Amersfoort 60 7
Gemeente Amersfoort 80 2
Gemeente Amersfoort 130 1
Gemeente Amstelveen 60 19
Gemeente Amstelveen 80 2
Gemeente Amsterdam 60 10
Gemeente Amsterdam 70 28
Gemeente Amsterdam 80 3
Gemeente Amsterdam 100 1
Gemeente Amsterdam 130 2
Gemeente Apeldoorn 60 70
Gemeente Apeldoorn 80 19
Gemeente Arnhem 60 9
Gemeente Arnhem 80 10
Gemeente Assen 60 20
Gemeente Assen 70 11
Gemeente Assen 80 4
Gemeente Asten 60 12
Gemeente Asten 80 9
Gemeente Baarle-Nassau 60 18
Gemeente Baarle-Nassau 80 5
Gemeente Baarn 60 7
Gemeente Baarn 80 4
Gemeente Barendrecht 60 4
Gemeente Barendrecht 80 2
Gemeente Barneveld 60 29
Gemeente Barneveld 80 8
Gemeente Bedum 60 3
Gemeente Beek 60 1
Gemeente Beekdaelen 60 14
Gemeente Beekdaelen 80 12
Gemeente Beesel 60 2
Gemeente Beesel 80 1
Gemeente Berg en Dal 60 26
Gemeente Berg en Dal 80 3
Gemeente Bergeijk 60 30
Gemeente Bergeijk 70 1
Gemeente Bergen (L.) 60 20
Gemeente Bergen (L.) 80 5
Gemeente Bergen (NH.) 60 9
Gemeente Bergen op Zoom 60 20
Gemeente Bergen op Zoom 80 5
Gemeente Berkelland 60 56
Gemeente Berkelland 70 1
Gemeente Berkelland 80 7
Gemeente Bernheze 60 26
Gemeente Bernheze 80 2
Gemeente Best 60 12
Gemeente Best 80 2
Gemeente Beuningen 60 7
Gemeente Beuningen 80 1
Gemeente Beverwijk 60 2
Gemeente Bladel 60 22
Gemeente Bladel 70 1
Gemeente Bladel 80 3
Gemeente Blaricum 60 4
Gemeente Bloemendaal 60 3
Gemeente Bloemendaal 70 1
Gemeente Bodegraven-Reeuwijk 60 6
Gemeente Bodegraven-Reeuwijk 80 2
Gemeente Boekel 60 8
Gemeente Boekel 80 2
Gemeente Borger-Odoorn 60 39
Gemeente Borger-Odoorn 80 15
Gemeente Borne 60 7
Gemeente Borsele 60 2
Gemeente Borsele 80 5
Gemeente Borsele 100 2
Gemeente Boxtel 60 19
Gemeente Breda 60 7
Gemeente Breda 70 3
Gemeente Breda 80 5
Gemeente Bronckhorst 60 50
Gemeente Bronckhorst 80 8
Gemeente Brummen 60 20
Gemeente Brummen 80 4
Gemeente Brunssum 80 4
Gemeente Bunnik 60 4
Gemeente Bunnik 80 3
Gemeente Bunschoten 60 9
Gemeente Buren 60 8
Gemeente Buren 80 2
Gemeente Buren 100 1
Gemeente Castricum 60 4
Gemeente Castricum 70 1
Gemeente Coevorden 60 26
Gemeente Coevorden 70 1
Gemeente Coevorden 80 36
Gemeente Coevorden 100 1
Gemeente Cranendonck 60 20
Gemeente Cranendonck 80 3
Gemeente Culemborg 60 3
Gemeente Culemborg 80 1
Gemeente Dalfsen 60 14
Gemeente Dalfsen 80 3
Gemeente Dantumadiel 60 2
Gemeente Dantumadiel 80 3
Gemeente Dantumadiel 100 1
Gemeente De Bilt 60 9
Gemeente De Bilt 80 2
Gemeente De Fryske Marren 60 19
Gemeente De Fryske Marren 70 1
Gemeente De Fryske Marren 80 11
Gemeente De Fryske Marren 100 2
Gemeente De Ronde Venen 60 6
Gemeente De Wolden 60 24
Gemeente De Wolden 80 10
Gemeente Delft 60 4
Gemeente Delft 80 2
Gemeente Den Helder 60 2
Gemeente Den Helder 80 2
Gemeente Deurne 60 8
Gemeente Deurne 80 9
Gemeente Deventer 60 21
Gemeente Deventer 80 5
Gemeente Diemen 60 2
Gemeente Dijk en Waard 60 9
Gemeente Dijk en Waard 80 3
Gemeente Dinkelland 60 18
Gemeente Dinkelland 70 1
Gemeente Dinkelland 80 7
Gemeente Doesburg 80 1
Gemeente Doetinchem 60 11
Gemeente Doetinchem 80 3
Gemeente Dongen 60 2
Gemeente Dongen 80 4
Gemeente Dongen 130 1
Gemeente Dordrecht 60 15
Gemeente Dordrecht 80 4
Gemeente Drechterland 60 6
Gemeente Drechterland 80 3
Gemeente Drimmelen 60 10
Gemeente Drimmelen 80 3
Gemeente Dronten 60 9
Gemeente Dronten 80 45
Gemeente Druten 60 4
Gemeente Druten 80 1
Gemeente Duiven 60 5
Gemeente Duiven 80 3
Gemeente Echt-Susteren 60 12
Gemeente Echt-Susteren 70 1
Gemeente Echt-Susteren 80 4
Gemeente Edam-Volendam 60 2
Gemeente Ede 60 48
Gemeente Ede 80 11
Gemeente Eemnes 60 5
Gemeente Eemsdelta 60 14
Gemeente Eemsdelta 80 10
Gemeente Eersel 60 34
Gemeente Eersel 80 1
Gemeente Eijsden-Margraten 60 12
Gemeente Eijsden-Margraten 70 1
Gemeente Eijsden-Margraten 80 3
Gemeente Eindhoven 60 7
Gemeente Eindhoven 70 2
Gemeente Eindhoven 80 5
Gemeente Eindhoven 130 1
Gemeente Elburg 60 11
Gemeente Elburg 80 2
Gemeente Emmen 60 38
Gemeente Emmen 70 3
Gemeente Emmen 80 12
Gemeente Emmen 130 1
Gemeente Enschede 60 35
Gemeente Enschede 80 3
Gemeente Epe 60 57
Gemeente Epe 80 8
Gemeente Ermelo 60 26
Gemeente Ermelo 80 15
Gemeente Etten-Leur 60 11
Gemeente Etten-Leur 80 1
Gemeente Geertruidenberg 60 7
Gemeente Geertruidenberg 80 1
Gemeente Geldrop-Mierlo 60 6
Gemeente Geldrop-Mierlo 80 1
Gemeente Gemert-Bakel 60 13
Gemeente Gemert-Bakel 80 13
Gemeente Gennep 60 6
Gemeente Gennep 80 10
Gemeente Gilze en Rijen 60 11
Gemeente Gilze en Rijen 70 1
Gemeente Gilze en Rijen 80 3
Gemeente Goeree-Overflakkee 60 18
Gemeente Goeree-Overflakkee 80 2
Gemeente Goeree-Overflakkee 100 2
Gemeente Goes 60 6
Gemeente Goes 80 5
Gemeente Goirle 60 2
Gemeente Goirle 80 2
Gemeente Gooise Meren 60 12
Gemeente Gooise Meren 80 3
Gemeente Gorinchem 80 2
Gemeente Gouda 60 3
Gemeente Groningen 60 21
Gemeente Groningen 70 3
Gemeente Groningen 80 6
Gemeente Gulpen-Wittem 60 7
Gemeente Gulpen-Wittem 80 5
Gemeente Haaksbergen 60 32
Gemeente Haaksbergen 70 3
Gemeente Haaksbergen 80 2
Gemeente Haaksbergen 100 1
Gemeente Haarlem 80 2
Gemeente Haarlemmermeer 60 56
Gemeente Haarlemmermeer 70 11
Gemeente Haarlemmermeer 80 8
Gemeente Halderberge 60 3
Gemeente Halderberge 70 2
Gemeente Halderberge 80 1
Gemeente Halderberge 100 2
Gemeente Hardenberg 60 43
Gemeente Hardenberg 80 19
Gemeente Hardenberg 100 2
Gemeente Harderwijk 60 5
Gemeente Harderwijk 80 9
Gemeente Hardinxveld-Giessendam 60 2
Gemeente Harlingen 60 2
Gemeente Harlingen 70 1
Gemeente Hattem 60 14
Gemeente Hattem 80 1
Gemeente Heerde 60 46
Gemeente Heerde 80 4
Gemeente Heerenveen 60 11
Gemeente Heerenveen 80 1
Gemeente Heerlen 60 3
Gemeente Heerlen 70 1
Gemeente Heeze-Leende 60 26
Gemeente Heeze-Leende 80 4
Gemeente Heeze-Leende 130 1
Gemeente Hellendoorn 60 26
Gemeente Hellendoorn 80 5
Gemeente Helmond 60 11
Gemeente Helmond 80 4
Gemeente Hengelo OV 60 11
Gemeente Het Hogeland 60 25
Gemeente Het Hogeland 70 1
Gemeente Het Hogeland 80 14
Gemeente Heumen 60 18
Gemeente Heumen 80 4
Gemeente Heusden 60 20
Gemeente Heusden 70 1
Gemeente Heusden 80 3
Gemeente Hilvarenbeek 60 27
Gemeente Hilvarenbeek 80 1
Gemeente Hilversum 60 4
Gemeente Hilversum 80 9
Gemeente Hoeksche Waard 60 18
Gemeente Hoeksche Waard 80 4
Gemeente Hof van Twente 60 19
Gemeente Hof van Twente 80 3
Gemeente Hollands Kroon 60 10
Gemeente Hollands Kroon 80 13
Gemeente Hoogeveen 60 25
Gemeente Hoogeveen 80 3
Gemeente Hoorn 60 3
Gemeente Hoorn 70 1
Gemeente Horst aan de Maas 60 35
Gemeente Horst aan de Maas 80 17
Gemeente Houten 60 4
Gemeente Huizen 60 7
Gemeente Hulst 60 3
Gemeente Hulst 80 2
Gemeente IJsselstein 60 1
Gemeente Kaag en Braassem 60 2
Gemeente Kaag en Braassem 70 1
Gemeente Kampen 60 7
Gemeente Kampen 80 6
Gemeente Kapelle 60 2
Gemeente Kapelle 80 3
Gemeente Katwijk 80 2
Gemeente Kerkrade 60 2
Gemeente Kerkrade 80 4
Gemeente Koggenland 60 2
Gemeente Krimpen aan den IJssel 60 4
Gemeente Krimpenerwaard 60 1
Gemeente Krimpenerwaard 80 3
Gemeente Laarbeek 60 12
Gemeente Laarbeek 80 3
Gemeente Land van Cuijk 60 50
Gemeente Land van Cuijk 80 40
Gemeente Landgraaf 60 2
Gemeente Landgraaf 80 3
Gemeente Landsmeer 60 10
Gemeente Lansingerland 60 43
Gemeente Lansingerland 80 2
Gemeente Laren 60 3
Gemeente Laren 80 3
Gemeente Leeuwarden 60 20
Gemeente Leeuwarden 70 1
Gemeente Leeuwarden 80 10
Gemeente Leiderdorp 60 1
Gemeente Leidschendam-Voorburg 60 14
Gemeente Leidschendam-Voorburg 80 1
Gemeente Lelystad 60 9
Gemeente Lelystad 80 36
Gemeente Leudal 60 15
Gemeente Leudal 80 17
Gemeente Leudal 100 2
Gemeente Leusden 60 15
Gemeente Leusden 80 4
Gemeente Lingewaard 60 6
Gemeente Lingewaard 80 5
Gemeente Lisse 60 2
Gemeente Lochem 60 24
Gemeente Lochem 80 12
Gemeente Loon op Zand 60 14
Gemeente Loon op Zand 80 2
Gemeente Lopik 60 6
Gemeente Losser 60 19
Gemeente Losser 80 2
Gemeente Losser 100 1
Gemeente Maasdriel 60 9
Gemeente Maasdriel 80 11
Gemeente Maasgouw 60 6
Gemeente Maasgouw 70 1
Gemeente Maasgouw 80 8
Gemeente Maashorst 60 39
Gemeente Maashorst 70 2
Gemeente Maashorst 80 5
Gemeente Maassluis 60 1
Gemeente Maastricht 60 5
Gemeente Maastricht 70 3
Gemeente Maastricht 80 3
Gemeente Medemblik 60 6
Gemeente Medemblik 80 7
Gemeente Medemblik 100 1
Gemeente Meerssen 60 11
Gemeente Meerssen 80 1
Gemeente Meierijstad 60 47
Gemeente Meierijstad 70 3
Gemeente Meierijstad 80 2
Gemeente Meppel 60 2
Gemeente Meppel 80 2
Gemeente Middelburg 60 2
Gemeente Middelburg 80 4
Gemeente Midden-Delfland 60 9
Gemeente Midden-Delfland 80 1
Gemeente Midden-Drenthe 60 40
Gemeente Midden-Drenthe 80 15
Gemeente Midden-Groningen 60 18
Gemeente Midden-Groningen 80 13
Gemeente Moerdijk 60 13
Gemeente Moerdijk 80 5
Gemeente Molenlanden 80 2
Gemeente Molenlanden 100 1
Gemeente Montferland 60 15
Gemeente Montferland 80 3
Gemeente Montfoort 60 2
Gemeente Mook en Middelaar 60 1
Gemeente Neder-Betuwe 60 9
Gemeente Neder-Betuwe 80 2
Gemeente Nederweert 60 3
Gemeente Nederweert 80 10
Gemeente Nieuwegein 60 2
Gemeente Nieuwegein 80 2
Gemeente Nieuwkoop 60 7
Gemeente Nieuwkoop 80 1
Gemeente Nijkerk 60 11
Gemeente Nijkerk 80 1
Gemeente Nijmegen 60 1
Gemeente Nijmegen 80 3
Gemeente Nissewaard 60 10
Gemeente Nissewaard 80 11
Gemeente Noardeast-Fryslan 60 11
Gemeente Noardeast-Fryslan 80 14
Gemeente Noord-Beveland 60 7
Gemeente Noord-Beveland 80 6
Gemeente Noordenveld 60 29
Gemeente Noordenveld 80 7
Gemeente Noordoostpolder 60 43
Gemeente Noordoostpolder 70 1
Gemeente Noordoostpolder 80 29
Gemeente Noordwijk 60 10
Gemeente Noordwijk 80 3
Gemeente Nuenen, Gerwen en Nederw 60 3
Gemeente Nuenen, Gerwen en Nederw 80 5
Gemeente Nunspeet 60 31
Gemeente Nunspeet 80 11
Gemeente Oegstgeest 60 2
Gemeente Oirschot 60 25
Gemeente Oirschot 80 4
Gemeente Oisterwijk 60 22
Gemeente Oisterwijk 80 3
Gemeente Oldambt 60 6
Gemeente Oldambt 80 10
Gemeente Oldebroek 60 17
Gemeente Oldebroek 80 3
Gemeente Oldenzaal 60 5
Gemeente Oldenzaal 80 4
Gemeente Olst-Wijhe 60 12
Gemeente Olst-Wijhe 80 1
Gemeente Ommen 60 61
Gemeente Ommen 80 14
Gemeente Ommen 100 1
Gemeente Oost Gelre 60 22
Gemeente Oost Gelre 80 9
Gemeente Oosterhout 60 6
Gemeente Oosterhout 70 3
Gemeente Oosterhout 80 2
Gemeente Ooststellingwerf 60 17
Gemeente Ooststellingwerf 80 6
Gemeente Oostzaan 60 26
Gemeente Opmeer 60 1
Gemeente Opmeer 80 6
Gemeente Opmeer 100 1
Gemeente Opsterland 60 20
Gemeente Opsterland 80 3
Gemeente Oss 60 28
Gemeente Oss 70 2
Gemeente Oss 80 10
Gemeente Oude IJsselstreek 60 21
Gemeente Oude IJsselstreek 80 14
Gemeente Ouder-Amstel 60 2
Gemeente Ouder-Amstel 80 3
Gemeente Ouder-Amstel 100 1
Gemeente Overbetuwe 60 24
Gemeente Overbetuwe 80 4
Gemeente Papendrecht 80 3
Gemeente Peel en Maas 60 18
Gemeente Peel en Maas 80 17
Gemeente Pekela 80 2
Gemeente Pijnacker-Nootdorp 60 13
Gemeente Pijnacker-Nootdorp 80 3
Gemeente Purmerend 60 6
Gemeente Putten 60 22
Gemeente Putten 80 11
Gemeente Raalte 60 20
Gemeente Raalte 80 6
Gemeente Reimerswaal 60 3
Gemeente Reimerswaal 80 7
Gemeente Renkum 60 13
Gemeente Renkum 80 4
Gemeente Renswoude 60 4
Gemeente Renswoude 80 3
Gemeente Reusel-De Mierden 60 18
Gemeente Reusel-De Mierden 70 1
Gemeente Reusel-De Mierden 80 3
Gemeente Rheden 60 14
Gemeente Rheden 80 3
Gemeente Rhenen 60 10
Gemeente Rhenen 80 3
Gemeente Ridderkerk 60 1
Gemeente Ridderkerk 80 2
Gemeente Rijssen-Holten 60 18
Gemeente Rijssen-Holten 80 2
Gemeente Rijswijk 60 1
Gemeente Rijswijk 80 1
Gemeente Roerdalen 60 16
Gemeente Roerdalen 80 5
Gemeente Roermond 60 13
Gemeente Roermond 70 3
Gemeente Roermond 80 2
Gemeente Roosendaal 60 11
Gemeente Roosendaal 80 4
Gemeente Rotterdam 60 16
Gemeente Rotterdam 70 2
Gemeente Rotterdam 80 44
Gemeente Rotterdam 100 1
Gemeente Rotterdam 130 3
Gemeente Rozendaal 60 3
Gemeente Rucphen 60 15
Gemeente Rucphen 80 2
Gemeente Schagen 60 10
Gemeente Schagen 80 1
Gemeente Scherpenzeel 60 2
Gemeente Schiedam 60 4
Gemeente Schiermonnikoog 60 3
Gemeente Schouwen-Duiveland 60 16
Gemeente Schouwen-Duiveland 80 4
Gemeente Simpelveld 80 1
Gemeente Sint Anthonis 60 1
Gemeente Sint-Michielsgestel 60 12
Gemeente Sittard-Geleen 60 2
Gemeente Sittard-Geleen 70 1
Gemeente Sittard-Geleen 80 16
Gemeente Sluis Z 60 20
Gemeente Sluis Z 70 1
Gemeente Sluis Z 80 2
Gemeente Smallingerland 60 9
Gemeente Smallingerland 80 1
Gemeente Soest 60 3
Gemeente Soest 80 9
Gemeente Someren 60 19
Gemeente Someren 80 4
Gemeente Son en Breugel 60 6
Gemeente Son en Breugel 80 2
Gemeente Son en Breugel 130 1
Gemeente Stadskanaal 80 10
Gemeente Staphorst 60 12
Gemeente Staphorst 80 3
Gemeente Stede Broec 60 5
Gemeente Stede Broec 80 5
Gemeente Steenbergen 60 4
Gemeente Steenbergen 80 1
Gemeente Steenwijkerland 60 35
Gemeente Steenwijkerland 80 10
Gemeente Stein 60 1
Gemeente Stein 70 1
Gemeente Stichtse Vecht 60 17
Gemeente Stichtse Vecht 80 3
Gemeente Sudwest-Fryslan 60 21
Gemeente Sudwest-Fryslan 70 1
Gemeente Sudwest-Fryslan 80 12
Gemeente Sudwest-Fryslan 100 1
Gemeente Terneuzen 60 6
Gemeente Terneuzen 70 1
Gemeente Terneuzen 80 1
Gemeente Terschelling 60 8
Gemeente Terschelling 80 15
Gemeente Texel 60 20
Gemeente Texel 80 9
Gemeente Teylingen 60 3
Gemeente Tholen 60 3
Gemeente Tholen 80 3
Gemeente Tiel 60 1
Gemeente Tilburg 60 18
Gemeente Tilburg 70 1
Gemeente Tilburg 80 7
Gemeente Tubbergen 60 25
Gemeente Tubbergen 80 7
Gemeente Twenterand 60 3
Gemeente Twenterand 80 4
Gemeente Twenterand 100 1
Gemeente Tynaarlo 60 25
Gemeente Tynaarlo 80 4
Gemeente Tytsjerksteradiel 60 13
Gemeente Tytsjerksteradiel 80 1
Gemeente Uithoorn 60 1
Gemeente Urk 60 1
Gemeente Utrecht 60 5
Gemeente Utrecht 70 12
Gemeente Utrecht 80 7
Gemeente Utrecht 130 1
Gemeente Utrechtse Heuvelrug 60 39
Gemeente Utrechtse Heuvelrug 80 14
Gemeente Vaals 60 9
Gemeente Vaals 80 1
Gemeente Valkenburg aan de Geul 60 7
Gemeente Valkenswaard 60 3
Gemeente Valkenswaard 80 4
Gemeente Veendam 60 2
Gemeente Veendam 80 5
Gemeente Veenendaal 60 1
Gemeente Veenendaal 80 1
Gemeente Veere 60 12
Gemeente Veere 80 5
Gemeente Veldhoven 60 6
Gemeente Veldhoven 70 5
Gemeente Veldhoven 80 4
Gemeente Velsen 60 25
Gemeente Velsen 80 2
Gemeente Venlo 60 19
Gemeente Venlo 80 11
Gemeente Venlo 130 2
Gemeente Venray 60 25
Gemeente Venray 80 8
Gemeente Venray 130 1
Gemeente Vijfheerenlanden 60 2
Gemeente Vijfheerenlanden 80 1
Gemeente Vijfheerenlanden 130 2
Gemeente Vlaardingen 60 12
Gemeente Vlaardingen 80 4
Gemeente Vlieland 60 13
Gemeente Vlieland 80 2
Gemeente Vlissingen 60 4
Gemeente Vlissingen 70 1
Gemeente Vlissingen 80 2
Gemeente Voerendaal 60 6
Gemeente Voerendaal 80 1
Gemeente Voorne aan Zee 60 18
Gemeente Voorne aan Zee 80 14
Gemeente Voorst 60 15
Gemeente Voorst 80 5
Gemeente Vught 60 20
Gemeente Vught 80 6
Gemeente Waadhoeke 60 20
Gemeente Waadhoeke 80 14
Gemeente Waadhoeke 100 1
Gemeente Waalre 60 7
Gemeente Waalwijk 60 10
Gemeente Waalwijk 80 1
Gemeente Waddinxveen 60 7
Gemeente Wageningen 60 9
Gemeente Wageningen 80 2
Gemeente Wassenaar 60 9
Gemeente Wassenaar 70 3
Gemeente Weert 60 14
Gemeente Weert 70 4
Gemeente Weert 80 5
Gemeente Weert 130 1
Gemeente West Betuwe 60 10
Gemeente West Betuwe 80 5
Gemeente West Maas en Waal 60 2
Gemeente Westerkwartier 60 22
Gemeente Westerkwartier 80 8
Gemeente Westerveld 60 67
Gemeente Westerveld 80 6
Gemeente Westerwolde 60 4
Gemeente Westerwolde 80 19
Gemeente Westland 60 19
Gemeente Westland 80 5
Gemeente Weststellingwerf 60 9
Gemeente Weststellingwerf 80 4
Gemeente Wierden 60 17
Gemeente Wierden 80 5
Gemeente Wijchen 60 18
Gemeente Wijchen 80 2
Gemeente Wijchen 100 2
Gemeente Wijdemeren 60 1
Gemeente Wijdemeren 80 1
Gemeente Wijk bij Duurstede 60 5
Gemeente Winterswijk 60 29
Gemeente Winterswijk 80 1
Gemeente Woensdrecht 60 16
Gemeente Woensdrecht 80 1
Gemeente Woerden 60 7
Gemeente Woerden 80 1
Gemeente Woudenberg 60 10
Gemeente Woudenberg 80 2
Gemeente Zaanstad 70 2
Gemeente Zaltbommel 60 3
Gemeente Zaltbommel 80 2
Gemeente Zeewolde 60 15
Gemeente Zeewolde 80 36
Gemeente Zeist 60 8
Gemeente Zeist 80 7
Gemeente Zevenaar 60 17
Gemeente Zevenaar 80 2
Gemeente Zoetermeer 60 5
Gemeente Zoeterwoude 60 3
Gemeente Zuidplas 60 22
Gemeente Zuidplas 80 1
Gemeente Zundert 60 9
Gemeente Zundert 80 5
Gemeente Zutphen 60 7
Gemeente Zutphen 80 4
Gemeente Zwartewaterland 60 9
Gemeente Zwartewaterland 80 3
Gemeente Zwijndrecht 60 3
Gemeente Zwolle 60 28
Gemeente Zwolle 70 1
Gemeente Zwolle 80 5
Provincie Drenthe 60 9
Provincie Drenthe 70 3
Provincie Drenthe 80 62
Provincie Drenthe 100 1
Provincie Flevoland 60 8
Provincie Flevoland 80 86
Provincie Flevoland 100 1
Provincie Friesland 60 14
Provincie Friesland 70 3
Provincie Friesland 80 50
Provincie Friesland 100 5
Provincie Gelderland 60 37
Provincie Gelderland 80 180
Provincie Gelderland 100 3
Provincie Groningen 60 18
Provincie Groningen 70 1
Provincie Groningen 80 43
Provincie Limburg 60 6
Provincie Limburg 70 1
Provincie Limburg 80 88
Provincie Limburg 100 2
Provincie Limburg 130 1
Provincie Noord-Brabant 60 9
Provincie Noord-Brabant 80 74
Provincie Noord-Brabant 100 2
Provincie Noord-Holland 60 24
Provincie Noord-Holland 70 3
Provincie Noord-Holland 80 50
Provincie Noord-Holland 100 4
Provincie Overijssel 60 18
Provincie Overijssel 80 87
Provincie Overijssel 100 6
Provincie Utrecht 60 9
Provincie Utrecht 80 55
Provincie Utrecht 100 2
Provincie Zeeland 60 15
Provincie Zeeland 80 36
Provincie Zeeland 100 5
Provincie Zuid-Holland 60 35
Provincie Zuid-Holland 70 1
Provincie Zuid-Holland 80 29
Rijk MN District Zuid 100 2
Rijk MN District Zuid 130 2
Rijk NN District Oost 80 4
Rijk NN District Oost 100 4
Rijk NN District Oost 130 1
Rijk NN District West 100 1
Rijk ON District Noord 80 2
Rijk ON District Oost 70 1
Rijk ON District Oost 80 7
Rijk ON District Oost 100 2
Rijk ON District Zuid 100 1
Rijk WNN District Noord 60 2
Rijk WNN District Noord 80 2
Rijk WNN District Noord 100 1
Rijk WNN District Zuid 80 2
Rijk WNN District Zuid 100 1
Rijk WNN District Zuid 130 2
Rijk WNZ District Noord 70 3
Rijk WNZ District Noord 80 3
Rijk WNZ District Noord 100 1
Rijk WNZ District Noord 130 3
Rijk WNZ District Zuid 60 2
Rijk WNZ District Zuid 80 5
Rijk WNZ District Zuid 100 1
Rijk WNZ District Zuid 130 2
Rijk ZD District Noord 60 14
Rijk ZD District Noord 70 1
Rijk ZD District Noord 80 7
Rijk ZD District Zuid 60 5
Rijk ZD District Zuid 70 1
Rijk ZD District Zuid 80 1
Rijk ZD District Zuid 100 1
Rijk ZN District Midden 80 5
Rijk ZN District Midden 130 2
Rijk ZN District West 80 2
Rijk ZN District West 100 4
Rijk ZN District Zuid-Oost 130 3
Rijk Zee en Delta District Zuid 60 1
Overig Havenbedrijf Rotterdam 60 3
Overig Havenbedrijf Rotterdam 80 3
Overig Meer instanties 60 10
Overig Meer instanties 70 2
Overig Meer instanties 80 1
Overig NV Westerscheldetunnel 60 2
Overig NV Westerscheldetunnel 100 2
Overig North Sea Port 60 3
Overig North Sea Port 80 3
Overig North Sea Port 100 2
Overig Overige instanties 60 27
Overig Overige instanties 70 2
Overig Overige instanties 80 13
Overig PWN Waterleidingbedr Noord-Holland 60 3
Overig Staatsbosbeheer 60 29
Overig Staatsbosbeheer 80 4
Waterschap HHS Hollands Noorderkwartier 60 9
Waterschap HHS Hollands Noorderkwartier 80 2
Waterschap HHS Hollands Noorderkwartier 100 2
Waterschap HHS Schieland en de Krimpenerwaard 60 14
Waterschap Waterschap De Hollandse Delta 60 93
Waterschap Waterschap De Hollandse Delta 70 1
Waterschap Waterschap De Hollandse Delta 80 26
Waterschap Waterschap De Hollandse Delta 100 1
Waterschap Waterschap Rivierenland 60 18
Waterschap Waterschap Rivierenland 80 6
Waterschap Waterschap Rivierenland 100 1
Waterschap Waterschap Scheldestromen 60 112
Waterschap Waterschap Scheldestromen 80 27
Waterschap Waterschap Scheldestromen 100 2

In het volgende hoofdstuk worden echter de aantallen gebruikt van de ter beoordeling geselecteerde wegvakken.

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

De SPI Veilige Infrastructuur bevat het kenmerk “Afwezigheid oversteekplaatsen”. Op wegen van een limiet van 70 km/u en hoger is een oversteekplaats voor voetgangers en fietsers op een wegvak ongewenst. In deze analyse kijken we alleen naar wegen buiten de bebouwde kom.

6.1 Bepaling scores per wegbeheerder

In het vorige hoofdstuk zijn wegvakken beoordeeld ten aanzien van het SPI kenmerk Afwezigheid van oversteekplaatsen Een wegvak is als voldoende beoordeelt wanneer er geen oversteekplaatsen aan het begin, het eind, of op het wegvak liggen. Deze beoordeling op wegvakniveau wordt vertaald naar een score op netwerkniveau per wegbeheerder. Daarbij wordt gekeken naar het aandeel van de relevante wegvakken dat als voldoende wordt beoordeeld. Daarbij wordt enkel gekeken naar de wegvakken waar het kenmerk op van toepassing is. Per wegbeheerder wordt het volgende gescoord.

  1. Kenmerk afwezigheid oversteekplaatsen: [aantal wegvakken dat voldoet] / [totaal aantal wegvakken]
  2. Score kenmerk naar wegvaklengte: [totale weglengte van de wegvakken die voldoen] / [totale weglengte]
  3. Totaal aantal (clusters van) oversteekplaatsen in het netwerk

De eerste score is de hoofdscore, omdat deze ook gebruikt kan worden bij de bepaling van een totaal score van de infrastructuur. Daarnaast kan de score worden onderscheiden op het totale areaal en per limiet. 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.

#### landelijke ####
scores_landelijk_totaal <- nwb_oversteekplaatsen2 %>%
  st_drop_geometry(.) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            Snelheidslimiet = "Totaal",
            `Score kenmerk Afwezigheid oversteekplaatsen` = sum(oversteekplaatsen_voldoet) / n(),
            `Score kenmerk naar wegvaklengte` = sum(ifelse(oversteekplaatsen_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            # Weglengte bepalen
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1),
            `Totaal aantal wegvakken` = n()
            ) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ round(., 1))) %>%
  ungroup() 

# head(scores_landelijk)  

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

# head(scores_landelijk_limiet)

scores_landelijk <- rbind(scores_landelijk_limiet, scores_landelijk_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet) %>%
  left_join(Oversteekplaatsen_NL_70plus_nwbselectie, by = join_by(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet)) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  arrange(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet) %>%
  mutate(`Aantal oversteekplaatsen` = ifelse(is.na(`Aantal oversteekplaatsen`), 0, `Aantal oversteekplaatsen`)) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_landelijk)
#### provincies ####

# scores voor het totaal bepalen
scores_provincies_totaal <- nwb_oversteekplaatsen2 %>%
  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 oversteekplaatsen` = sum(oversteekplaatsen_voldoet) / n(),
            # som wegvegvaklengte zonder oversteekplaatsen / totale wegvaklengte
            `Score kenmerk naar wegvaklengte` = sum(ifelse(oversteekplaatsen_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1),
            `Totaal aantal wegvakken` = n()) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_provincies_totaal)

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

# head(scores_provincies_limiet)

scores_provincies <- rbind(scores_provincies_limiet, scores_provincies_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet) %>%
  left_join(Oversteekplaatsen_wegbeheerder_70plus, by = join_by(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet)) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  arrange(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet) %>%
  mutate(`Aantal oversteekplaatsen` = ifelse(is.na(`Aantal oversteekplaatsen`), 0, `Aantal oversteekplaatsen`)) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_provincies)
#### gemeenten ####

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

# head(scores_gemeenten_totaal)

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

# head(scores_gemeenten_limiet)

scores_gemeenten <- rbind(scores_gemeenten_limiet, scores_gemeenten_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet) %>%
  left_join(Oversteekplaatsen_wegbeheerder_70plus, by = join_by(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet)) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  arrange(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet) %>%
  mutate(`Aantal oversteekplaatsen` = ifelse(is.na(`Aantal oversteekplaatsen`), 0, `Aantal oversteekplaatsen`)) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_gemeenten)
#### waterschappen ####

# scores voor het totaal bepalen
scores_waterschappen_totaal <- nwb_oversteekplaatsen2 %>%
  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 oversteekplaatsen` = sum(oversteekplaatsen_voldoet) / n(),
            # som wegvegvaklengte zonder oversteekplaatsen / totale wegvaklengte
            `Score kenmerk naar wegvaklengte` = sum(ifelse(oversteekplaatsen_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1),
            `Totaal aantal wegvakken` = n()) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ round(., 1))) %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup()

# head(scores_waterschappen_totaal)

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

# head(scores_waterschappen_limiet)

scores_waterschappen <- rbind(scores_waterschappen_limiet, scores_waterschappen_totaal) %>%
  arrange(Wegbeheerder, Snelheidslimiet) %>%
  left_join(Oversteekplaatsen_wegbeheerder_70plus, by = join_by(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet)) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  arrange(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet) %>%
  mutate(`Aantal oversteekplaatsen` = ifelse(is.na(`Aantal oversteekplaatsen`), 0, `Aantal oversteekplaatsen`)) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_waterschappen)

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

6.2 Resultaten SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen per wegbeheerder

In deze paragraaf worden de deelscores van de SPI Veilige Infrastructuur- afwezigheid van oversteekplaatsen gepresenteerd. De resultaten worden apart getoond in subparagrafen op landelijk niveau en voor provinciale, gemeentelijke en waterschaps-wegbeheerders.

6.2.1 Landelijk

Hieronder worden de scores voor heel Nederland getoond.

scroltabel_gt(scores_landelijk, title = "SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, van alle wegbeheerders samen")
SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, van alle wegbeheerders samen
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km] Totaal aantal wegvakken
Totaal Totaal 70 97.2 [%] 93.0 [%] 19 204.2 1349
Totaal Totaal 80 95.7 [%] 92.4 [%] 1421 11085.3 43806
Totaal Totaal 100 97.9 [%] 96.4 [%] 24 1158.5 1934
Totaal Totaal Totaal 95.9 [%] 92.8 [%] 1464 12448.0 47089

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 oversteekplaatsen, van waterschaps-wegbeheerders")
SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, van waterschaps-wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km] Totaal aantal wegvakken
Waterschap HHS Hollands Noorderkwartier 80 100.0 [%] 100.0 [%] 0 5.0 24
Waterschap HHS Hollands Noorderkwartier Totaal 100.0 [%] 100.0 [%] 0 5.0 24
Waterschap HHS Schieland en de Krimpenerwaard 80 100.0 [%] 100.0 [%] 0 2.4 15
Waterschap HHS Schieland en de Krimpenerwaard Totaal 100.0 [%] 100.0 [%] 0 2.4 15
Waterschap Waterschap De Hollandse Delta 70 100.0 [%] 100.0 [%] 0 0.2 2
Waterschap Waterschap De Hollandse Delta 80 94.9 [%] 93.8 [%] 22 104.7 505
Waterschap Waterschap De Hollandse Delta Totaal 94.9 [%] 93.8 [%] 22 104.9 507
Waterschap Waterschap Rivierenland 80 97.0 [%] 92.0 [%] 3 19.6 99
Waterschap Waterschap Rivierenland 100 100.0 [%] 100.0 [%] 0 0.2 2
Waterschap Waterschap Rivierenland Totaal 97.0 [%] 92.0 [%] 3 19.8 101
Waterschap Waterschap Scheldestromen 70 100.0 [%] 100.0 [%] 0 0.2 2
Waterschap Waterschap Scheldestromen 80 96.9 [%] 95.9 [%] 16 163.7 519
Waterschap Waterschap Scheldestromen 100 100.0 [%] 100.0 [%] 0 0.4 3
Waterschap Waterschap Scheldestromen Totaal 96.9 [%] 95.9 [%] 16 164.3 524

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 oversteekplaatsen, van provinciale wegbeheerders")
SPI Veilige Infrastructuur - afwezigheid van oversteekplaatsen, van provinciale wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km] Totaal aantal wegvakken
Provincie Drenthe 70 66.7 [%] 37.4 [%] 1 4.0 12
Provincie Drenthe 80 95.1 [%] 87.5 [%] 54 297.9 1175
Provincie Drenthe 100 99.6 [%] 97.5 [%] 1 152.0 272
Provincie Drenthe Totaal 95.7 [%] 90.4 [%] 56 453.9 1459
Provincie Flevoland 70 100.0 [%] 100.0 [%] 0 5.1 33
Provincie Flevoland 80 93.6 [%] 86.7 [%] 66 429.6 1149
Provincie Flevoland 100 99.2 [%] 99.5 [%] 1 137.8 121
Provincie Flevoland Totaal 94.2 [%] 89.9 [%] 67 572.5 1303
Provincie Friesland 70 95.9 [%] 75.8 [%] 2 21.0 123
Provincie Friesland 80 96.5 [%] 90.4 [%] 39 319.6 1270
Provincie Friesland 100 96.2 [%] 92.7 [%] 5 205.6 317
Provincie Friesland Totaal 96.4 [%] 90.7 [%] 46 546.2 1710
Provincie Gelderland 70 96.3 [%] 93.1 [%] 0 7.7 81
Provincie Gelderland 80 95.3 [%] 90.4 [%] 172 1015.7 4974
Provincie Gelderland 100 96.6 [%] 93.8 [%] 3 96.5 147
Provincie Gelderland Totaal 95.3 [%] 90.7 [%] 175 1119.9 5202
Provincie Groningen 70 100.0 [%] 100.0 [%] 0 8.8 33
Provincie Groningen 80 95.4 [%] 92.0 [%] 32 258.1 1032
Provincie Groningen 100 100.0 [%] 100.0 [%] 0 113.4 258
Provincie Groningen Totaal 96.4 [%] 94.6 [%] 32 380.3 1323
Provincie Limburg 70 100.0 [%] 100.0 [%] 0 3.0 20
Provincie Limburg 80 94.2 [%] 91.3 [%] 79 395.7 2047
Provincie Limburg 100 100.0 [%] 100.0 [%] 2 77.4 154
Provincie Limburg Totaal 94.6 [%] 92.8 [%] 81 476.0 2221
Provincie Noord-Brabant 70 100.0 [%] 100.0 [%] 0 3.3 24
Provincie Noord-Brabant 80 96.2 [%] 90.7 [%] 73 572.9 2678
Provincie Noord-Brabant 100 100.0 [%] 100.0 [%] 0 40.7 76
Provincie Noord-Brabant Totaal 96.3 [%] 91.4 [%] 73 616.9 2778
Provincie Noord-Holland 70 100.0 [%] 100.0 [%] 0 11.4 90
Provincie Noord-Holland 80 96.4 [%] 97.0 [%] 45 474.1 1918
Provincie Noord-Holland 100 96.6 [%] 98.4 [%] 3 78.5 116
Provincie Noord-Holland Totaal 96.5 [%] 97.3 [%] 48 564.0 2124
Provincie Overijssel 70 100.0 [%] 100.0 [%] 0 10.2 85
Provincie Overijssel 80 94.6 [%] 90.7 [%] 82 568.1 2388
Provincie Overijssel 100 92.7 [%] 84.8 [%] 6 35.2 96
Provincie Overijssel Totaal 94.7 [%] 90.5 [%] 88 613.4 2569
Provincie Utrecht 70 100.0 [%] 100.0 [%] 0 0.9 8
Provincie Utrecht 80 95.0 [%] 89.2 [%] 54 272.5 1532
Provincie Utrecht 100 100.0 [%] 100.0 [%] 0 6.7 17
Provincie Utrecht Totaal 95.1 [%] 89.5 [%] 54 280.1 1557
Provincie Zeeland 70 100.0 [%] 100.0 [%] 0 3.5 44
Provincie Zeeland 80 95.8 [%] 96.3 [%] 34 319.6 1421
Provincie Zeeland 100 96.2 [%] 93.1 [%] 5 129.8 210
Provincie Zeeland Totaal 95.9 [%] 95.4 [%] 39 452.9 1675
Provincie Zuid-Holland 70 100.0 [%] 100.0 [%] 0 1.4 5
Provincie Zuid-Holland 80 98.8 [%] 98.0 [%] 23 485.2 2321
Provincie Zuid-Holland 100 100.0 [%] 100.0 [%] 0 2.0 6
Provincie Zuid-Holland Totaal 98.8 [%] 98.1 [%] 23 488.6 2332

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 oversteekplaatsen, van gemeentelijke wegbeheerders")
SPI Veilige Infrastructuur - afwezigheid van oversteekplaatsen, van gemeentelijke wegbeheerders
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km] Totaal aantal wegvakken
Gemeente 's-Gravenhage 70 100.0 [%] 100.0 [%] 0 0.2 1
Gemeente 's-Gravenhage 80 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente 's-Gravenhage 100 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente 's-Gravenhage Totaal 100.0 [%] 100.0 [%] 0 0.2 3
Gemeente 's-Hertogenbosch 70 100.0 [%] 100.0 [%] 0 0.6 3
Gemeente 's-Hertogenbosch 80 98.5 [%] 97.8 [%] 1 18.6 66
Gemeente 's-Hertogenbosch Totaal 98.6 [%] 97.9 [%] 1 19.2 69
Gemeente Aa en Hunze 70 100.0 [%] 100.0 [%] 0 0.8 5
Gemeente Aa en Hunze 80 94.0 [%] 90.9 [%] 10 85.0 151
Gemeente Aa en Hunze Totaal 94.2 [%] 91.0 [%] 10 85.8 156
Gemeente Aalsmeer 80 100.0 [%] 100.0 [%] 0 0.6 7
Gemeente Aalsmeer Totaal 100.0 [%] 100.0 [%] 0 0.6 7
Gemeente Aalten 70 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Aalten 80 100.0 [%] 100.0 [%] 0 1.6 11
Gemeente Aalten Totaal 100.0 [%] 100.0 [%] 0 1.7 13
Gemeente Achtkarspelen 70 100.0 [%] 100.0 [%] 0 0.6 1
Gemeente Achtkarspelen 80 90.2 [%] 89.7 [%] 6 14.0 61
Gemeente Achtkarspelen Totaal 90.3 [%] 90.1 [%] 6 14.6 62
Gemeente Alblasserdam 80 100.0 [%] 100.0 [%] 0 1.3 27
Gemeente Alblasserdam Totaal 100.0 [%] 100.0 [%] 0 1.3 27
Gemeente Albrandswaard 80 100.0 [%] 100.0 [%] 0 0.7 8
Gemeente Albrandswaard Totaal 100.0 [%] 100.0 [%] 0 0.7 8
Gemeente Alkmaar 80 81.8 [%] 88.9 [%] 1 2.1 11
Gemeente Alkmaar Totaal 81.8 [%] 88.9 [%] 1 2.1 11
Gemeente Almelo 70 100.0 [%] 100.0 [%] 0 3.1 26
Gemeente Almelo 80 100.0 [%] 100.0 [%] 0 38.3 164
Gemeente Almelo 100 100.0 [%] 100.0 [%] 0 2.3 4
Gemeente Almelo Totaal 100.0 [%] 100.0 [%] 0 43.7 194
Gemeente Almere 80 91.7 [%] 59.8 [%] 3 7.1 36
Gemeente Almere Totaal 91.7 [%] 59.8 [%] 3 7.1 36
Gemeente Alphen aan den Rijn 80 100.0 [%] 100.0 [%] 0 0.8 5
Gemeente Alphen aan den Rijn Totaal 100.0 [%] 100.0 [%] 0 0.8 5
Gemeente Alphen-Chaam 80 94.4 [%] 98.9 [%] 1 2.4 18
Gemeente Alphen-Chaam Totaal 94.4 [%] 98.9 [%] 1 2.4 18
Gemeente Altena 80 100.0 [%] 100.0 [%] 0 8.8 60
Gemeente Altena Totaal 100.0 [%] 100.0 [%] 0 8.8 60
Gemeente Ameland 80 89.5 [%] 86.6 [%] 2 10.9 19
Gemeente Ameland Totaal 89.5 [%] 86.6 [%] 2 10.9 19
Gemeente Amersfoort 70 100.0 [%] 100.0 [%] 0 0.0 4
Gemeente Amersfoort 80 100.0 [%] 100.0 [%] 0 11.0 63
Gemeente Amersfoort Totaal 100.0 [%] 100.0 [%] 0 11.0 67
Gemeente Amstelveen 80 100.0 [%] 100.0 [%] 0 3.6 30
Gemeente Amstelveen Totaal 100.0 [%] 100.0 [%] 0 3.6 30
Gemeente Amsterdam 70 100.0 [%] 100.0 [%] 0 3.9 15
Gemeente Amsterdam 80 94.7 [%] 93.4 [%] 1 2.4 19
Gemeente Amsterdam 100 100.0 [%] 100.0 [%] 0 0.5 8
Gemeente Amsterdam Totaal 97.6 [%] 97.7 [%] 1 6.7 42
Gemeente Apeldoorn 80 96.0 [%] 91.1 [%] 3 22.4 126
Gemeente Apeldoorn Totaal 96.0 [%] 91.1 [%] 3 22.4 126
Gemeente Arnhem 70 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Arnhem 80 93.1 [%] 89.6 [%] 2 5.7 58
Gemeente Arnhem 100 100.0 [%] 100.0 [%] 0 0.3 1
Gemeente Arnhem Totaal 93.5 [%] 90.2 [%] 2 6.1 62
Gemeente Assen 70 100.0 [%] 100.0 [%] 0 2.2 16
Gemeente Assen 80 97.3 [%] 75.7 [%] 3 8.7 75
Gemeente Assen Totaal 97.8 [%] 80.6 [%] 3 10.8 91
Gemeente Asten 80 89.5 [%] 45.5 [%] 3 6.0 38
Gemeente Asten Totaal 89.5 [%] 45.5 [%] 3 6.0 38
Gemeente Baarle-Nassau 80 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Baarle-Nassau Totaal 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Baarn 80 92.9 [%] 87.0 [%] 1 3.7 14
Gemeente Baarn Totaal 92.9 [%] 87.0 [%] 1 3.7 14
Gemeente Barendrecht 70 100.0 [%] 100.0 [%] 0 0.4 5
Gemeente Barendrecht 80 100.0 [%] 100.0 [%] 0 0.8 3
Gemeente Barendrecht Totaal 100.0 [%] 100.0 [%] 0 1.2 8
Gemeente Barneveld 80 97.1 [%] 92.8 [%] 3 23.7 140
Gemeente Barneveld Totaal 97.1 [%] 92.8 [%] 3 23.7 140
Gemeente Beek 80 100.0 [%] 100.0 [%] 0 7.7 31
Gemeente Beek Totaal 100.0 [%] 100.0 [%] 0 7.7 31
Gemeente Beekdaelen 80 93.2 [%] 96.7 [%] 4 33.3 148
Gemeente Beekdaelen 100 100.0 [%] 100.0 [%] 0 0.4 2
Gemeente Beekdaelen Totaal 93.3 [%] 96.8 [%] 4 33.7 150
Gemeente Beesel 80 99.4 [%] 98.3 [%] 1 38.0 163
Gemeente Beesel Totaal 99.4 [%] 98.3 [%] 1 38.0 163
Gemeente Berg en Dal 80 96.6 [%] 93.5 [%] 1 9.5 29
Gemeente Berg en Dal Totaal 96.6 [%] 93.5 [%] 1 9.5 29
Gemeente Bergeijk 70 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Bergeijk 80 100.0 [%] 100.0 [%] 0 7.5 24
Gemeente Bergeijk Totaal 100.0 [%] 100.0 [%] 0 7.6 25
Gemeente Bergen (L) 80 96.3 [%] 93.0 [%] 0 46.5 109
Gemeente Bergen (L) Totaal 96.3 [%] 93.0 [%] 0 46.5 109
Gemeente Bergen (NH) 80 100.0 [%] 100.0 [%] 0 4.3 14
Gemeente Bergen (NH) Totaal 100.0 [%] 100.0 [%] 0 4.3 14
Gemeente Bergen op Zoom 70 100.0 [%] 100.0 [%] 0 0.1 5
Gemeente Bergen op Zoom 80 96.8 [%] 99.4 [%] 2 15.8 63
Gemeente Bergen op Zoom Totaal 97.1 [%] 99.4 [%] 2 15.8 68
Gemeente Berkelland 80 96.2 [%] 94.2 [%] 4 15.2 80
Gemeente Berkelland Totaal 96.2 [%] 94.2 [%] 4 15.2 80
Gemeente Bernheze 80 94.9 [%] 78.8 [%] 2 4.2 39
Gemeente Bernheze Totaal 94.9 [%] 78.8 [%] 2 4.2 39
Gemeente Best 70 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Best 80 95.7 [%] 98.4 [%] 2 9.6 47
Gemeente Best Totaal 95.8 [%] 98.4 [%] 2 9.6 48
Gemeente Beuningen 80 100.0 [%] 100.0 [%] 0 4.1 39
Gemeente Beuningen Totaal 100.0 [%] 100.0 [%] 0 4.1 39
Gemeente Beverwijk 80 100.0 [%] 100.0 [%] 0 3.9 23
Gemeente Beverwijk Totaal 100.0 [%] 100.0 [%] 0 3.9 23
Gemeente Bladel 80 100.0 [%] 100.0 [%] 0 0.3 3
Gemeente Bladel Totaal 100.0 [%] 100.0 [%] 0 0.3 3
Gemeente Blaricum 80 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Blaricum Totaal 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Bodegraven-Reeuwijk 80 100.0 [%] 100.0 [%] 0 3.4 18
Gemeente Bodegraven-Reeuwijk Totaal 100.0 [%] 100.0 [%] 0 3.4 18
Gemeente Boekel 80 100.0 [%] 100.0 [%] 0 0.3 6
Gemeente Boekel Totaal 100.0 [%] 100.0 [%] 0 0.3 6
Gemeente Borger-Odoorn 70 100.0 [%] 100.0 [%] 0 1.2 3
Gemeente Borger-Odoorn 80 90.0 [%] 91.8 [%] 5 24.0 50
Gemeente Borger-Odoorn Totaal 90.6 [%] 92.2 [%] 5 25.2 53
Gemeente Borne 80 100.0 [%] 100.0 [%] 0 6.1 52
Gemeente Borne Totaal 100.0 [%] 100.0 [%] 0 6.1 52
Gemeente Borsele 80 100.0 [%] 100.0 [%] 0 1.4 9
Gemeente Borsele Totaal 100.0 [%] 100.0 [%] 0 1.4 9
Gemeente Boxtel 80 100.0 [%] 100.0 [%] 0 6.3 65
Gemeente Boxtel 100 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Boxtel Totaal 100.0 [%] 100.0 [%] 0 6.3 66
Gemeente Breda 70 100.0 [%] 100.0 [%] 0 7.5 36
Gemeente Breda 80 90.5 [%] 83.0 [%] 4 10.7 42
Gemeente Breda 100 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Breda Totaal 94.9 [%] 90.0 [%] 4 18.3 79
Gemeente Bronckhorst 80 100.0 [%] 100.0 [%] 0 9.9 36
Gemeente Bronckhorst Totaal 100.0 [%] 100.0 [%] 0 9.9 36
Gemeente Brummen 80 100.0 [%] 100.0 [%] 0 8.2 29
Gemeente Brummen Totaal 100.0 [%] 100.0 [%] 0 8.2 29
Gemeente Brunssum 80 78.9 [%] 90.2 [%] 4 3.3 19
Gemeente Brunssum Totaal 78.9 [%] 90.2 [%] 4 3.3 19
Gemeente Bunnik 80 92.3 [%] 84.6 [%] 1 3.2 26
Gemeente Bunnik Totaal 92.3 [%] 84.6 [%] 1 3.2 26
Gemeente Bunschoten 80 100.0 [%] 100.0 [%] 0 1.5 6
Gemeente Bunschoten Totaal 100.0 [%] 100.0 [%] 0 1.5 6
Gemeente Buren 80 100.0 [%] 100.0 [%] 0 0.9 4
Gemeente Buren Totaal 100.0 [%] 100.0 [%] 0 0.9 4
Gemeente Capelle aan den IJssel 70 100.0 [%] 100.0 [%] 0 0.3 2
Gemeente Capelle aan den IJssel Totaal 100.0 [%] 100.0 [%] 0 0.3 2
Gemeente Castricum 80 100.0 [%] 100.0 [%] 0 0.3 8
Gemeente Castricum Totaal 100.0 [%] 100.0 [%] 0 0.3 8
Gemeente Coevorden 70 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente Coevorden 80 95.0 [%] 93.9 [%] 30 276.2 621
Gemeente Coevorden Totaal 95.0 [%] 93.9 [%] 30 276.3 623
Gemeente Cranendonck 80 90.8 [%] 90.7 [%] 3 14.8 65
Gemeente Cranendonck Totaal 90.8 [%] 90.7 [%] 3 14.8 65
Gemeente Culemborg 80 100.0 [%] 100.0 [%] 0 1.1 6
Gemeente Culemborg Totaal 100.0 [%] 100.0 [%] 0 1.1 6
Gemeente Dalfsen 70 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Dalfsen 80 98.2 [%] 92.2 [%] 2 20.3 57
Gemeente Dalfsen Totaal 98.3 [%] 92.2 [%] 2 20.3 58
Gemeente Dantumadiel 80 94.9 [%] 95.4 [%] 1 8.4 39
Gemeente Dantumadiel Totaal 94.9 [%] 95.4 [%] 1 8.4 39
Gemeente De Bilt 80 100.0 [%] 100.0 [%] 0 4.1 30
Gemeente De Bilt Totaal 100.0 [%] 100.0 [%] 0 4.1 30
Gemeente De Fryske Marren 70 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente De Fryske Marren 80 96.9 [%] 93.4 [%] 5 61.0 195
Gemeente De Fryske Marren 100 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente De Fryske Marren Totaal 97.0 [%] 93.4 [%] 5 61.2 199
Gemeente De Ronde Venen 80 100.0 [%] 100.0 [%] 0 9.2 33
Gemeente De Ronde Venen Totaal 100.0 [%] 100.0 [%] 0 9.2 33
Gemeente De Wolden 80 95.8 [%] 96.8 [%] 4 26.7 96
Gemeente De Wolden Totaal 95.8 [%] 96.8 [%] 4 26.7 96
Gemeente Delft 80 92.9 [%] 98.0 [%] 1 3.3 14
Gemeente Delft 100 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Delft Totaal 93.3 [%] 98.0 [%] 1 3.3 15
Gemeente Den Helder 70 100.0 [%] 100.0 [%] 0 1.7 3
Gemeente Den Helder 80 100.0 [%] 100.0 [%] 0 1.7 10
Gemeente Den Helder Totaal 100.0 [%] 100.0 [%] 0 3.4 13
Gemeente Deurne 80 98.4 [%] 96.2 [%] 2 27.7 128
Gemeente Deurne Totaal 98.4 [%] 96.2 [%] 2 27.7 128
Gemeente Deventer 80 92.8 [%] 74.7 [%] 5 5.6 69
Gemeente Deventer Totaal 92.8 [%] 74.7 [%] 5 5.6 69
Gemeente Diemen 70 100.0 [%] 100.0 [%] 0 9.9 57
Gemeente Diemen Totaal 100.0 [%] 100.0 [%] 0 9.9 57
Gemeente Dijk en Waard 70 100.0 [%] 100.0 [%] 0 0.3 2
Gemeente Dijk en Waard 80 97.7 [%] 99.4 [%] 1 4.1 43
Gemeente Dijk en Waard Totaal 97.8 [%] 99.4 [%] 1 4.4 45
Gemeente Dinkelland 70 100.0 [%] 100.0 [%] 0 2.6 14
Gemeente Dinkelland 80 95.7 [%] 92.4 [%] 1 3.6 23
Gemeente Dinkelland Totaal 97.3 [%] 95.6 [%] 1 6.2 37
Gemeente Doesburg 80 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Doesburg Totaal 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Doetinchem 70 100.0 [%] 100.0 [%] 0 0.3 2
Gemeente Doetinchem 80 94.4 [%] 88.8 [%] 2 9.7 36
Gemeente Doetinchem Totaal 94.7 [%] 89.1 [%] 2 10.0 38
Gemeente Dongen 80 95.7 [%] 98.5 [%] 1 9.5 47
Gemeente Dongen Totaal 95.7 [%] 98.5 [%] 1 9.5 47
Gemeente Dordrecht 80 77.8 [%] 80.0 [%] 4 2.0 9
Gemeente Dordrecht Totaal 77.8 [%] 80.0 [%] 4 2.0 9
Gemeente Drechterland 80 81.2 [%] 91.9 [%] 3 1.2 16
Gemeente Drechterland Totaal 81.2 [%] 91.9 [%] 3 1.2 16
Gemeente Drimmelen 80 98.4 [%] 90.4 [%] 2 9.6 64
Gemeente Drimmelen Totaal 98.4 [%] 90.4 [%] 2 9.6 64
Gemeente Dronten 80 88.8 [%] 89.6 [%] 30 231.6 286
Gemeente Dronten Totaal 88.8 [%] 89.6 [%] 30 231.6 286
Gemeente Druten 80 92.0 [%] 93.6 [%] 1 4.7 25
Gemeente Druten Totaal 92.0 [%] 93.6 [%] 1 4.7 25
Gemeente Duiven 80 91.3 [%] 92.7 [%] 1 4.5 46
Gemeente Duiven Totaal 91.3 [%] 92.7 [%] 1 4.5 46
Gemeente Echt-Susteren 80 100.0 [%] 100.0 [%] 0 7.0 65
Gemeente Echt-Susteren 100 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente Echt-Susteren Totaal 100.0 [%] 100.0 [%] 0 7.1 67
Gemeente Ede 70 100.0 [%] 100.0 [%] 0 1.2 2
Gemeente Ede 80 97.6 [%] 92.4 [%] 5 19.3 126
Gemeente Ede Totaal 97.7 [%] 92.8 [%] 5 20.6 128
Gemeente Eemnes 80 100.0 [%] 100.0 [%] 0 1.1 5
Gemeente Eemnes 100 100.0 [%] 100.0 [%] 0 0.4 1
Gemeente Eemnes Totaal 100.0 [%] 100.0 [%] 0 1.6 6
Gemeente Eemsdelta 80 100.0 [%] 100.0 [%] 0 1.9 14
Gemeente Eemsdelta Totaal 100.0 [%] 100.0 [%] 0 1.9 14
Gemeente Eersel 80 100.0 [%] 100.0 [%] 0 1.0 14
Gemeente Eersel Totaal 100.0 [%] 100.0 [%] 0 1.0 14
Gemeente Eijsden-Margraten 80 92.0 [%] 74.4 [%] 2 3.8 25
Gemeente Eijsden-Margraten 100 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente Eijsden-Margraten Totaal 92.6 [%] 75.3 [%] 2 3.9 27
Gemeente Eindhoven 70 100.0 [%] 100.0 [%] 0 6.5 31
Gemeente Eindhoven 80 95.5 [%] 90.4 [%] 5 15.9 112
Gemeente Eindhoven Totaal 96.5 [%] 93.2 [%] 5 22.5 143
Gemeente Elburg 80 100.0 [%] 100.0 [%] 0 0.2 6
Gemeente Elburg Totaal 100.0 [%] 100.0 [%] 0 0.2 6
Gemeente Emmen 70 0.0 [%] 0.0 [%] 1 0.6 1
Gemeente Emmen 80 94.5 [%] 93.0 [%] 8 45.7 127
Gemeente Emmen Totaal 93.8 [%] 91.8 [%] 9 46.3 128
Gemeente Enschede 70 100.0 [%] 100.0 [%] 0 1.7 4
Gemeente Enschede 80 93.9 [%] 94.3 [%] 2 18.9 98
Gemeente Enschede 100 100.0 [%] 100.0 [%] 0 3.6 7
Gemeente Enschede Totaal 94.5 [%] 95.5 [%] 2 24.2 109
Gemeente Epe 80 94.6 [%] 84.5 [%] 1 3.4 37
Gemeente Epe Totaal 94.6 [%] 84.5 [%] 1 3.4 37
Gemeente Ermelo 80 96.3 [%] 78.6 [%] 2 7.6 27
Gemeente Ermelo Totaal 96.3 [%] 78.6 [%] 2 7.6 27
Gemeente Etten-Leur 80 100.0 [%] 100.0 [%] 0 1.3 13
Gemeente Etten-Leur Totaal 100.0 [%] 100.0 [%] 0 1.3 13
Gemeente Geertruidenberg 80 100.0 [%] 100.0 [%] 0 4.8 23
Gemeente Geertruidenberg Totaal 100.0 [%] 100.0 [%] 0 4.8 23
Gemeente Geldrop-Mierlo 80 94.1 [%] 98.5 [%] 1 3.6 34
Gemeente Geldrop-Mierlo Totaal 94.1 [%] 98.5 [%] 1 3.6 34
Gemeente Gemert-Bakel 80 91.7 [%] 85.6 [%] 10 36.8 145
Gemeente Gemert-Bakel Totaal 91.7 [%] 85.6 [%] 10 36.8 145
Gemeente Gennep 80 96.5 [%] 91.5 [%] 6 41.0 172
Gemeente Gennep Totaal 96.5 [%] 91.5 [%] 6 41.0 172
Gemeente Gilze en Rijen 80 100.0 [%] 100.0 [%] 0 0.9 7
Gemeente Gilze en Rijen Totaal 100.0 [%] 100.0 [%] 0 0.9 7
Gemeente Goeree-Overflakkee 70 100.0 [%] 100.0 [%] 0 0.0 3
Gemeente Goeree-Overflakkee 80 81.8 [%] 39.6 [%] 1 3.2 22
Gemeente Goeree-Overflakkee Totaal 84.0 [%] 40.5 [%] 1 3.2 25
Gemeente Goes 70 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Goes 80 100.0 [%] 100.0 [%] 0 2.1 14
Gemeente Goes Totaal 100.0 [%] 100.0 [%] 0 2.2 15
Gemeente Goirle 80 89.7 [%] 83.9 [%] 2 9.2 39
Gemeente Goirle Totaal 89.7 [%] 83.9 [%] 2 9.2 39
Gemeente Gooise Meren 80 91.7 [%] 85.7 [%] 2 10.9 48
Gemeente Gooise Meren Totaal 91.7 [%] 85.7 [%] 2 10.9 48
Gemeente Gorinchem 80 100.0 [%] 100.0 [%] 0 0.9 2
Gemeente Gorinchem Totaal 100.0 [%] 100.0 [%] 0 0.9 2
Gemeente Gouda 80 100.0 [%] 100.0 [%] 0 0.2 8
Gemeente Gouda Totaal 100.0 [%] 100.0 [%] 0 0.2 8
Gemeente Groningen 70 100.0 [%] 100.0 [%] 0 2.1 6
Gemeente Groningen 80 100.0 [%] 100.0 [%] 0 2.9 9
Gemeente Groningen Totaal 100.0 [%] 100.0 [%] 0 5.0 15
Gemeente Gulpen-Wittem 80 100.0 [%] 100.0 [%] 0 11.5 48
Gemeente Gulpen-Wittem Totaal 100.0 [%] 100.0 [%] 0 11.5 48
Gemeente Haaksbergen 70 90.9 [%] 79.7 [%] 1 1.2 11
Gemeente Haaksbergen 80 96.8 [%] 93.5 [%] 2 8.6 31
Gemeente Haaksbergen Totaal 95.2 [%] 91.9 [%] 3 9.8 42
Gemeente Haarlem 70 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Haarlem 80 0.0 [%] 0.0 [%] 2 0.0 1
Gemeente Haarlem Totaal 50.0 [%] 26.2 [%] 2 0.1 2
Gemeente Haarlemmermeer 70 77.8 [%] 76.7 [%] 2 4.2 18
Gemeente Haarlemmermeer 80 96.0 [%] 97.8 [%] 5 24.3 126
Gemeente Haarlemmermeer 100 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Haarlemmermeer Totaal 93.9 [%] 94.7 [%] 7 28.6 148
Gemeente Halderberge 70 75.0 [%] 88.4 [%] 2 0.9 4
Gemeente Halderberge 80 100.0 [%] 100.0 [%] 0 9.2 48
Gemeente Halderberge 100 100.0 [%] 100.0 [%] 0 2.0 1
Gemeente Halderberge Totaal 98.1 [%] 99.1 [%] 2 12.1 53
Gemeente Hardenberg 70 100.0 [%] 100.0 [%] 0 0.6 3
Gemeente Hardenberg 80 93.2 [%] 97.1 [%] 4 15.6 59
Gemeente Hardenberg Totaal 93.5 [%] 97.3 [%] 4 16.2 62
Gemeente Harderwijk 80 92.6 [%] 79.9 [%] 6 13.8 81
Gemeente Harderwijk Totaal 92.6 [%] 79.9 [%] 6 13.8 81
Gemeente Harlingen 80 100.0 [%] 100.0 [%] 0 3.5 16
Gemeente Harlingen Totaal 100.0 [%] 100.0 [%] 0 3.5 16
Gemeente Hattem 80 86.7 [%] 54.5 [%] 1 3.3 15
Gemeente Hattem Totaal 86.7 [%] 54.5 [%] 1 3.3 15
Gemeente Heemskerk 80 100.0 [%] 100.0 [%] 0 0.7 5
Gemeente Heemskerk Totaal 100.0 [%] 100.0 [%] 0 0.7 5
Gemeente Heemstede 80 100.0 [%] 100.0 [%] 0 0.2 1
Gemeente Heemstede Totaal 100.0 [%] 100.0 [%] 0 0.2 1
Gemeente Heerde 80 100.0 [%] 100.0 [%] 0 6.2 35
Gemeente Heerde Totaal 100.0 [%] 100.0 [%] 0 6.2 35
Gemeente Heerenveen 80 93.9 [%] 97.6 [%] 1 13.5 33
Gemeente Heerenveen Totaal 93.9 [%] 97.6 [%] 1 13.5 33
Gemeente Heerlen 70 100.0 [%] 100.0 [%] 0 0.2 8
Gemeente Heerlen 80 98.4 [%] 99.6 [%] 0 6.3 62
Gemeente Heerlen 100 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Heerlen Totaal 98.6 [%] 99.7 [%] 0 6.6 73
Gemeente Heeze-Leende 70 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Heeze-Leende 80 93.8 [%] 79.5 [%] 1 7.7 16
Gemeente Heeze-Leende Totaal 94.1 [%] 79.7 [%] 1 7.7 17
Gemeente Hellendoorn 80 97.3 [%] 96.1 [%] 3 21.1 111
Gemeente Hellendoorn Totaal 97.3 [%] 96.1 [%] 3 21.1 111
Gemeente Helmond 70 100.0 [%] 100.0 [%] 0 0.3 4
Gemeente Helmond 80 97.8 [%] 93.2 [%] 3 13.1 89
Gemeente Helmond 100 100.0 [%] 100.0 [%] 0 3.9 5
Gemeente Helmond Totaal 98.0 [%] 94.9 [%] 3 17.3 98
Gemeente Hengelo (O) 80 100.0 [%] 100.0 [%] 0 2.6 26
Gemeente Hengelo (O) Totaal 100.0 [%] 100.0 [%] 0 2.6 26
Gemeente Het Hogeland 70 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Het Hogeland 80 97.7 [%] 97.3 [%] 7 155.3 266
Gemeente Het Hogeland Totaal 97.8 [%] 97.3 [%] 7 155.3 267
Gemeente Heumen 80 100.0 [%] 100.0 [%] 0 1.9 6
Gemeente Heumen Totaal 100.0 [%] 100.0 [%] 0 1.9 6
Gemeente Heusden 80 97.3 [%] 95.7 [%] 1 11.0 75
Gemeente Heusden Totaal 97.3 [%] 95.7 [%] 1 11.0 75
Gemeente Hilvarenbeek 70 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente Hilvarenbeek 80 97.8 [%] 99.0 [%] 1 2.9 45
Gemeente Hilvarenbeek 100 100.0 [%] 100.0 [%] 0 0.2 2
Gemeente Hilvarenbeek Totaal 98.0 [%] 99.1 [%] 1 3.2 49
Gemeente Hilversum 80 95.5 [%] 89.9 [%] 1 2.2 22
Gemeente Hilversum Totaal 95.5 [%] 89.9 [%] 1 2.2 22
Gemeente Hoeksche Waard 80 100.0 [%] 100.0 [%] 0 2.0 13
Gemeente Hoeksche Waard Totaal 100.0 [%] 100.0 [%] 0 2.0 13
Gemeente Hof van Twente 80 95.3 [%] 95.6 [%] 1 4.9 43
Gemeente Hof van Twente Totaal 95.3 [%] 95.6 [%] 1 4.9 43
Gemeente Hollands Kroon 80 85.9 [%] 84.7 [%] 10 19.0 71
Gemeente Hollands Kroon Totaal 85.9 [%] 84.7 [%] 10 19.0 71
Gemeente Hoogeveen 70 100.0 [%] 100.0 [%] 0 0.2 2
Gemeente Hoogeveen 80 100.0 [%] 100.0 [%] 0 1.3 22
Gemeente Hoogeveen Totaal 100.0 [%] 100.0 [%] 0 1.5 24
Gemeente Hoorn 70 90.5 [%] 93.0 [%] 1 2.7 21
Gemeente Hoorn 80 100.0 [%] 100.0 [%] 0 1.8 24
Gemeente Hoorn 100 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente Hoorn Totaal 95.7 [%] 95.8 [%] 1 4.5 47
Gemeente Horst aan de Maas 80 95.1 [%] 93.3 [%] 6 34.6 143
Gemeente Horst aan de Maas Totaal 95.1 [%] 93.3 [%] 6 34.6 143
Gemeente Houten 70 100.0 [%] 100.0 [%] 0 11.7 145
Gemeente Houten 80 100.0 [%] 100.0 [%] 0 2.2 8
Gemeente Houten Totaal 100.0 [%] 100.0 [%] 0 13.8 153
Gemeente Huizen 80 100.0 [%] 100.0 [%] 0 1.0 11
Gemeente Huizen Totaal 100.0 [%] 100.0 [%] 0 1.0 11
Gemeente Hulst 80 100.0 [%] 100.0 [%] 0 0.2 6
Gemeente Hulst Totaal 100.0 [%] 100.0 [%] 0 0.2 6
Gemeente IJsselstein 80 100.0 [%] 100.0 [%] 0 2.1 9
Gemeente IJsselstein Totaal 100.0 [%] 100.0 [%] 0 2.1 9
Gemeente Kaag en Braassem 80 100.0 [%] 100.0 [%] 0 6.3 37
Gemeente Kaag en Braassem 100 100.0 [%] 100.0 [%] 0 1.5 1
Gemeente Kaag en Braassem Totaal 100.0 [%] 100.0 [%] 0 7.9 38
Gemeente Kampen 80 80.0 [%] 93.3 [%] 2 1.2 15
Gemeente Kampen Totaal 80.0 [%] 93.3 [%] 2 1.2 15
Gemeente Kapelle 80 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Kapelle Totaal 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Katwijk 80 100.0 [%] 100.0 [%] 0 0.8 3
Gemeente Katwijk Totaal 100.0 [%] 100.0 [%] 0 0.8 3
Gemeente Kerkrade 80 93.5 [%] 97.8 [%] 2 4.8 31
Gemeente Kerkrade Totaal 93.5 [%] 97.8 [%] 2 4.8 31
Gemeente Koggenland 70 100.0 [%] 100.0 [%] 0 0.6 7
Gemeente Koggenland 80 100.0 [%] 100.0 [%] 0 2.4 19
Gemeente Koggenland 100 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Koggenland Totaal 100.0 [%] 100.0 [%] 0 3.0 27
Gemeente Krimpenerwaard 80 100.0 [%] 100.0 [%] 0 0.2 5
Gemeente Krimpenerwaard Totaal 100.0 [%] 100.0 [%] 0 0.2 5
Gemeente Laarbeek 80 92.3 [%] 90.3 [%] 3 8.5 26
Gemeente Laarbeek Totaal 92.3 [%] 90.3 [%] 3 8.5 26
Gemeente Land van Cuijk 70 100.0 [%] 100.0 [%] 0 0.4 2
Gemeente Land van Cuijk 80 98.2 [%] 96.7 [%] 4 40.5 221
Gemeente Land van Cuijk Totaal 98.2 [%] 96.7 [%] 4 41.0 223
Gemeente Landgraaf 80 100.0 [%] 100.0 [%] 0 4.1 38
Gemeente Landgraaf Totaal 100.0 [%] 100.0 [%] 0 4.1 38
Gemeente Landsmeer 80 71.4 [%] 50.1 [%] 0 1.7 14
Gemeente Landsmeer Totaal 71.4 [%] 50.1 [%] 0 1.7 14
Gemeente Lansingerland 80 100.0 [%] 100.0 [%] 0 5.7 10
Gemeente Lansingerland Totaal 100.0 [%] 100.0 [%] 0 5.7 10
Gemeente Laren 80 88.9 [%] 85.0 [%] 2 2.8 18
Gemeente Laren Totaal 88.9 [%] 85.0 [%] 2 2.8 18
Gemeente Leeuwarden 70 100.0 [%] 100.0 [%] 0 1.7 14
Gemeente Leeuwarden 80 94.2 [%] 94.1 [%] 6 29.9 104
Gemeente Leeuwarden Totaal 94.9 [%] 94.4 [%] 6 31.6 118
Gemeente Leiderdorp 80 100.0 [%] 100.0 [%] 0 0.2 7
Gemeente Leiderdorp Totaal 100.0 [%] 100.0 [%] 0 0.2 7
Gemeente Leidschendam-Voorburg 70 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Leidschendam-Voorburg 80 100.0 [%] 100.0 [%] 0 0.6 6
Gemeente Leidschendam-Voorburg Totaal 100.0 [%] 100.0 [%] 0 0.6 8
Gemeente Lelystad 70 100.0 [%] 100.0 [%] 0 1.2 2
Gemeente Lelystad 80 83.5 [%] 78.0 [%] 30 131.1 243
Gemeente Lelystad 100 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Lelystad Totaal 83.7 [%] 78.2 [%] 30 132.3 246
Gemeente Leudal 80 92.6 [%] 92.6 [%] 11 27.9 122
Gemeente Leudal Totaal 92.6 [%] 92.6 [%] 11 27.9 122
Gemeente Leusden 80 84.6 [%] 52.3 [%] 2 1.8 13
Gemeente Leusden Totaal 84.6 [%] 52.3 [%] 2 1.8 13
Gemeente Lingewaard 80 99.4 [%] 99.1 [%] 2 35.3 173
Gemeente Lingewaard Totaal 99.4 [%] 99.1 [%] 2 35.3 173
Gemeente Lochem 80 100.0 [%] 100.0 [%] 0 1.2 8
Gemeente Lochem Totaal 100.0 [%] 100.0 [%] 0 1.2 8
Gemeente Loon op Zand 80 98.4 [%] 89.5 [%] 2 5.8 64
Gemeente Loon op Zand Totaal 98.4 [%] 89.5 [%] 2 5.8 64
Gemeente Lopik 80 100.0 [%] 100.0 [%] 0 0.4 2
Gemeente Lopik Totaal 100.0 [%] 100.0 [%] 0 0.4 2
Gemeente Losser 80 100.0 [%] 100.0 [%] 0 0.7 5
Gemeente Losser Totaal 100.0 [%] 100.0 [%] 0 0.7 5
Gemeente Maasdriel 80 93.5 [%] 97.8 [%] 5 38.6 139
Gemeente Maasdriel Totaal 93.5 [%] 97.8 [%] 5 38.6 139
Gemeente Maasgouw 80 93.7 [%] 91.7 [%] 7 33.1 142
Gemeente Maasgouw Totaal 93.7 [%] 91.7 [%] 7 33.1 142
Gemeente Maashorst 80 98.3 [%] 90.7 [%] 2 18.3 118
Gemeente Maashorst Totaal 98.3 [%] 90.7 [%] 2 18.3 118
Gemeente Maassluis 80 100.0 [%] 100.0 [%] 0 0.2 5
Gemeente Maassluis Totaal 100.0 [%] 100.0 [%] 0 0.2 5
Gemeente Maastricht 70 85.7 [%] 87.0 [%] 2 1.8 7
Gemeente Maastricht 80 100.0 [%] 100.0 [%] 0 2.5 16
Gemeente Maastricht Totaal 95.7 [%] 94.5 [%] 2 4.3 23
Gemeente Medemblik 80 98.2 [%] 93.2 [%] 1 7.3 55
Gemeente Medemblik Totaal 98.2 [%] 93.2 [%] 1 7.3 55
Gemeente Meerssen 80 100.0 [%] 100.0 [%] 0 1.5 15
Gemeente Meerssen Totaal 100.0 [%] 100.0 [%] 0 1.5 15
Gemeente Meierijstad 70 97.6 [%] 80.1 [%] 1 5.9 42
Gemeente Meierijstad 80 100.0 [%] 100.0 [%] 0 14.0 49
Gemeente Meierijstad Totaal 98.9 [%] 94.1 [%] 1 19.9 91
Gemeente Meppel 80 91.3 [%] 98.6 [%] 2 10.4 23
Gemeente Meppel 100 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Meppel Totaal 91.7 [%] 98.6 [%] 2 10.4 24
Gemeente Middelburg 70 100.0 [%] 100.0 [%] 0 0.5 4
Gemeente Middelburg Totaal 100.0 [%] 100.0 [%] 0 0.5 4
Gemeente Midden-Delfland 80 100.0 [%] 100.0 [%] 0 1.5 12
Gemeente Midden-Delfland Totaal 100.0 [%] 100.0 [%] 0 1.5 12
Gemeente Midden-Drenthe 80 92.3 [%] 84.8 [%] 12 73.9 168
Gemeente Midden-Drenthe Totaal 92.3 [%] 84.8 [%] 12 73.9 168
Gemeente Midden-Groningen 70 100.0 [%] 100.0 [%] 0 0.2 1
Gemeente Midden-Groningen 80 98.0 [%] 96.7 [%] 1 19.2 50
Gemeente Midden-Groningen Totaal 98.0 [%] 96.8 [%] 1 19.3 51
Gemeente Moerdijk 80 97.8 [%] 98.2 [%] 3 18.3 179
Gemeente Moerdijk 100 100.0 [%] 100.0 [%] 0 2.0 2
Gemeente Moerdijk Totaal 97.8 [%] 98.3 [%] 3 20.3 181
Gemeente Molenlanden 80 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Molenlanden Totaal 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Montferland 80 97.6 [%] 93.3 [%] 1 9.9 83
Gemeente Montferland Totaal 97.6 [%] 93.3 [%] 1 9.9 83
Gemeente Montfoort 80 100.0 [%] 100.0 [%] 0 0.0 3
Gemeente Montfoort Totaal 100.0 [%] 100.0 [%] 0 0.0 3
Gemeente Neder-Betuwe 80 98.8 [%] 99.8 [%] 2 13.2 86
Gemeente Neder-Betuwe Totaal 98.8 [%] 99.8 [%] 2 13.2 86
Gemeente Nederweert 80 97.9 [%] 95.5 [%] 9 197.6 474
Gemeente Nederweert Totaal 97.9 [%] 95.5 [%] 9 197.6 474
Gemeente Nieuwegein 70 100.0 [%] 100.0 [%] 0 0.4 4
Gemeente Nieuwegein 80 96.3 [%] 96.6 [%] 1 2.7 27
Gemeente Nieuwegein Totaal 96.8 [%] 97.0 [%] 1 3.1 31
Gemeente Nieuwkoop 80 100.0 [%] 100.0 [%] 0 4.5 9
Gemeente Nieuwkoop Totaal 100.0 [%] 100.0 [%] 0 4.5 9
Gemeente Nijkerk 80 100.0 [%] 100.0 [%] 0 2.6 14
Gemeente Nijkerk Totaal 100.0 [%] 100.0 [%] 0 2.6 14
Gemeente Nijmegen 70 100.0 [%] 100.0 [%] 0 0.7 5
Gemeente Nijmegen 80 100.0 [%] 100.0 [%] 0 8.9 89
Gemeente Nijmegen 100 100.0 [%] 100.0 [%] 0 1.4 4
Gemeente Nijmegen Totaal 100.0 [%] 100.0 [%] 0 11.0 98
Gemeente Nissewaard 70 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente Nissewaard 80 87.1 [%] 85.7 [%] 2 3.8 31
Gemeente Nissewaard Totaal 87.9 [%] 85.9 [%] 2 3.9 33
Gemeente Noardeast-Fryslân 80 98.2 [%] 98.5 [%] 0 259.7 561
Gemeente Noardeast-Fryslân Totaal 98.2 [%] 98.5 [%] 0 259.7 561
Gemeente Noordenveld 80 93.8 [%] 84.7 [%] 2 8.1 32
Gemeente Noordenveld Totaal 93.8 [%] 84.7 [%] 2 8.1 32
Gemeente Noordoostpolder 70 0.0 [%] 0.0 [%] 1 0.6 2
Gemeente Noordoostpolder 80 91.2 [%] 83.1 [%] 12 141.6 193
Gemeente Noordoostpolder Totaal 90.3 [%] 82.8 [%] 13 142.2 195
Gemeente Noordwijk 80 100.0 [%] 100.0 [%] 0 0.3 13
Gemeente Noordwijk Totaal 100.0 [%] 100.0 [%] 0 0.3 13
Gemeente Nuenen, Gerwen en Nederwetten 80 89.2 [%] 86.3 [%] 0 10.1 83
Gemeente Nuenen, Gerwen en Nederwetten Totaal 89.2 [%] 86.3 [%] 0 10.1 83
Gemeente Nunspeet 80 60.0 [%] 30.5 [%] 3 2.1 5
Gemeente Nunspeet Totaal 60.0 [%] 30.5 [%] 3 2.1 5
Gemeente Oegstgeest 80 100.0 [%] 100.0 [%] 0 2.7 11
Gemeente Oegstgeest Totaal 100.0 [%] 100.0 [%] 0 2.7 11
Gemeente Oirschot 80 95.4 [%] 82.9 [%] 3 10.8 65
Gemeente Oirschot 100 100.0 [%] 100.0 [%] 0 0.7 1
Gemeente Oirschot Totaal 95.5 [%] 83.9 [%] 3 11.5 66
Gemeente Oisterwijk 80 83.3 [%] 79.3 [%] 3 2.4 6
Gemeente Oisterwijk Totaal 83.3 [%] 79.3 [%] 3 2.4 6
Gemeente Oldambt 80 94.0 [%] 92.0 [%] 6 74.8 117
Gemeente Oldambt Totaal 94.0 [%] 92.0 [%] 6 74.8 117
Gemeente Oldebroek 80 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Oldebroek Totaal 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Oldenzaal 80 100.0 [%] 100.0 [%] 0 0.3 9
Gemeente Oldenzaal Totaal 100.0 [%] 100.0 [%] 0 0.3 9
Gemeente Olst-Wijhe 80 100.0 [%] 100.0 [%] 0 6.6 25
Gemeente Olst-Wijhe Totaal 100.0 [%] 100.0 [%] 0 6.6 25
Gemeente Ommen 80 100.0 [%] 100.0 [%] 0 7.0 26
Gemeente Ommen Totaal 100.0 [%] 100.0 [%] 0 7.0 26
Gemeente Oost Gelre 80 100.0 [%] 100.0 [%] 0 3.2 24
Gemeente Oost Gelre Totaal 100.0 [%] 100.0 [%] 0 3.2 24
Gemeente Oosterhout 80 98.2 [%] 99.8 [%] 0 28.5 110
Gemeente Oosterhout Totaal 98.2 [%] 99.8 [%] 0 28.5 110
Gemeente Ooststellingwerf 70 100.0 [%] 100.0 [%] 0 0.7 2
Gemeente Ooststellingwerf 80 97.9 [%] 99.1 [%] 1 20.0 47
Gemeente Ooststellingwerf Totaal 98.0 [%] 99.2 [%] 1 20.7 49
Gemeente Oostzaan 70 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Oostzaan 80 100.0 [%] 100.0 [%] 0 0.3 4
Gemeente Oostzaan Totaal 100.0 [%] 100.0 [%] 0 0.3 5
Gemeente Opmeer 80 100.0 [%] 100.0 [%] 0 0.3 10
Gemeente Opmeer Totaal 100.0 [%] 100.0 [%] 0 0.3 10
Gemeente Opsterland 80 96.4 [%] 99.1 [%] 2 25.5 55
Gemeente Opsterland Totaal 96.4 [%] 99.1 [%] 2 25.5 55
Gemeente Oss 70 85.7 [%] 87.6 [%] 2 1.1 7
Gemeente Oss 80 94.9 [%] 91.5 [%] 5 17.7 98
Gemeente Oss Totaal 94.3 [%] 91.3 [%] 7 18.8 105
Gemeente Oude IJsselstreek 80 94.1 [%] 94.8 [%] 1 4.6 34
Gemeente Oude IJsselstreek Totaal 94.1 [%] 94.8 [%] 1 4.6 34
Gemeente Ouder-Amstel 80 92.9 [%] 68.7 [%] 1 2.3 14
Gemeente Ouder-Amstel Totaal 92.9 [%] 68.7 [%] 1 2.3 14
Gemeente Oudewater 80 100.0 [%] 100.0 [%] 0 1.0 4
Gemeente Oudewater Totaal 100.0 [%] 100.0 [%] 0 1.0 4
Gemeente Overbetuwe 80 100.0 [%] 100.0 [%] 0 5.0 23
Gemeente Overbetuwe 100 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Overbetuwe Totaal 100.0 [%] 100.0 [%] 0 5.0 24
Gemeente Papendrecht 80 40.0 [%] 16.1 [%] 3 0.7 5
Gemeente Papendrecht Totaal 40.0 [%] 16.1 [%] 3 0.7 5
Gemeente Peel en Maas 80 89.7 [%] 74.6 [%] 3 7.5 39
Gemeente Peel en Maas Totaal 89.7 [%] 74.6 [%] 3 7.5 39
Gemeente Pekela 80 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Pekela Totaal 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Pijnacker-Nootdorp 80 84.6 [%] 95.5 [%] 1 1.5 13
Gemeente Pijnacker-Nootdorp Totaal 84.6 [%] 95.5 [%] 1 1.5 13
Gemeente Purmerend 80 100.0 [%] 100.0 [%] 0 2.1 30
Gemeente Purmerend Totaal 100.0 [%] 100.0 [%] 0 2.1 30
Gemeente Putten 80 100.0 [%] 100.0 [%] 0 1.3 7
Gemeente Putten Totaal 100.0 [%] 100.0 [%] 0 1.3 7
Gemeente Raalte 80 100.0 [%] 100.0 [%] 0 3.0 21
Gemeente Raalte Totaal 100.0 [%] 100.0 [%] 0 3.0 21
Gemeente Reimerswaal 70 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Reimerswaal 80 83.3 [%] 79.0 [%] 2 2.5 18
Gemeente Reimerswaal Totaal 84.2 [%] 79.2 [%] 2 2.5 19
Gemeente Renkum 80 93.8 [%] 95.4 [%] 1 2.1 16
Gemeente Renkum Totaal 93.8 [%] 95.4 [%] 1 2.1 16
Gemeente Renswoude 80 94.1 [%] 92.3 [%] 1 4.3 17
Gemeente Renswoude Totaal 94.1 [%] 92.3 [%] 1 4.3 17
Gemeente Reusel-De Mierden 80 100.0 [%] 100.0 [%] 0 1.3 7
Gemeente Reusel-De Mierden Totaal 100.0 [%] 100.0 [%] 0 1.3 7
Gemeente Rheden 80 100.0 [%] 100.0 [%] 0 1.9 10
Gemeente Rheden 100 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Rheden Totaal 100.0 [%] 100.0 [%] 0 2.0 11
Gemeente Rhenen 80 76.0 [%] 85.1 [%] 3 2.2 25
Gemeente Rhenen Totaal 76.0 [%] 85.1 [%] 3 2.2 25
Gemeente Ridderkerk 80 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Ridderkerk Totaal 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Rijssen-Holten 80 100.0 [%] 100.0 [%] 0 0.3 1
Gemeente Rijssen-Holten Totaal 100.0 [%] 100.0 [%] 0 0.3 1
Gemeente Rijswijk 80 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Rijswijk Totaal 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Roerdalen 80 97.2 [%] 85.8 [%] 1 8.2 36
Gemeente Roerdalen Totaal 97.2 [%] 85.8 [%] 1 8.2 36
Gemeente Roermond 70 0.0 [%] 0.0 [%] 1 0.5 2
Gemeente Roermond 80 97.6 [%] 95.6 [%] 1 8.4 42
Gemeente Roermond Totaal 93.2 [%] 90.5 [%] 2 8.8 44
Gemeente Roosendaal 80 94.3 [%] 87.2 [%] 4 18.9 87
Gemeente Roosendaal Totaal 94.3 [%] 87.2 [%] 4 18.9 87
Gemeente Rotterdam 80 95.9 [%] 91.6 [%] 28 143.3 906
Gemeente Rotterdam Totaal 95.9 [%] 91.6 [%] 28 143.3 906
Gemeente Rozendaal 80 100.0 [%] 100.0 [%] 0 0.7 2
Gemeente Rozendaal Totaal 100.0 [%] 100.0 [%] 0 0.7 2
Gemeente Rucphen 70 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Rucphen 80 100.0 [%] 100.0 [%] 0 2.2 16
Gemeente Rucphen Totaal 100.0 [%] 100.0 [%] 0 2.3 17
Gemeente Schagen 80 100.0 [%] 100.0 [%] 0 5.9 27
Gemeente Schagen Totaal 100.0 [%] 100.0 [%] 0 5.9 27
Gemeente Scherpenzeel 80 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Scherpenzeel Totaal 100.0 [%] 100.0 [%] 0 0.2 4
Gemeente Schouwen-Duiveland 80 100.0 [%] 100.0 [%] 0 0.9 12
Gemeente Schouwen-Duiveland Totaal 100.0 [%] 100.0 [%] 0 0.9 12
Gemeente Simpelveld 80 100.0 [%] 100.0 [%] 0 23.2 91
Gemeente Simpelveld Totaal 100.0 [%] 100.0 [%] 0 23.2 91
Gemeente Sint-Michielsgestel 80 100.0 [%] 100.0 [%] 0 1.2 3
Gemeente Sint-Michielsgestel Totaal 100.0 [%] 100.0 [%] 0 1.2 3
Gemeente Sittard-Geleen 70 100.0 [%] 100.0 [%] 0 0.2 6
Gemeente Sittard-Geleen 80 96.4 [%] 95.7 [%] 4 38.5 140
Gemeente Sittard-Geleen 100 100.0 [%] 100.0 [%] 0 0.2 3
Gemeente Sittard-Geleen Totaal 96.6 [%] 95.8 [%] 4 38.9 149
Gemeente Sliedrecht 80 100.0 [%] 100.0 [%] 0 0.1 5
Gemeente Sliedrecht Totaal 100.0 [%] 100.0 [%] 0 0.1 5
Gemeente Sluis 80 92.9 [%] 96.6 [%] 0 2.9 14
Gemeente Sluis Totaal 92.9 [%] 96.6 [%] 0 2.9 14
Gemeente Smallingerland 80 100.0 [%] 100.0 [%] 0 5.2 22
Gemeente Smallingerland 100 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Smallingerland Totaal 100.0 [%] 100.0 [%] 0 5.2 23
Gemeente Soest 80 89.3 [%] 86.6 [%] 3 7.4 28
Gemeente Soest Totaal 89.3 [%] 86.6 [%] 3 7.4 28
Gemeente Someren 80 98.0 [%] 97.6 [%] 4 60.6 204
Gemeente Someren Totaal 98.0 [%] 97.6 [%] 4 60.6 204
Gemeente Son en Breugel 80 94.7 [%] 90.6 [%] 1 3.0 19
Gemeente Son en Breugel Totaal 94.7 [%] 90.6 [%] 1 3.0 19
Gemeente Stadskanaal 80 96.4 [%] 95.9 [%] 10 164.5 332
Gemeente Stadskanaal Totaal 96.4 [%] 95.9 [%] 10 164.5 332
Gemeente Staphorst 80 100.0 [%] 100.0 [%] 0 0.3 2
Gemeente Staphorst 100 100.0 [%] 100.0 [%] 0 0.0 1
Gemeente Staphorst Totaal 100.0 [%] 100.0 [%] 0 0.3 3
Gemeente Stede Broec 80 82.4 [%] 90.7 [%] 2 2.0 17
Gemeente Stede Broec Totaal 82.4 [%] 90.7 [%] 2 2.0 17
Gemeente Steenbergen 80 100.0 [%] 100.0 [%] 0 21.0 100
Gemeente Steenbergen Totaal 100.0 [%] 100.0 [%] 0 21.0 100
Gemeente Steenwijkerland 80 91.7 [%] 72.8 [%] 2 11.5 36
Gemeente Steenwijkerland Totaal 91.7 [%] 72.8 [%] 2 11.5 36
Gemeente Stein 80 100.0 [%] 100.0 [%] 0 11.8 117
Gemeente Stein Totaal 100.0 [%] 100.0 [%] 0 11.8 117
Gemeente Stichtse Vecht 80 96.3 [%] 88.0 [%] 2 7.2 27
Gemeente Stichtse Vecht Totaal 96.3 [%] 88.0 [%] 2 7.2 27
Gemeente Súdwest-Fryslân 70 100.0 [%] 100.0 [%] 0 4.0 16
Gemeente Súdwest-Fryslân 80 96.8 [%] 94.6 [%] 0 64.0 281
Gemeente Súdwest-Fryslân Totaal 97.0 [%] 94.9 [%] 0 68.0 297
Gemeente Terneuzen 70 100.0 [%] 100.0 [%] 0 0.5 11
Gemeente Terneuzen 80 100.0 [%] 100.0 [%] 0 1.5 19
Gemeente Terneuzen Totaal 100.0 [%] 100.0 [%] 0 2.0 30
Gemeente Terschelling 80 88.8 [%] 87.1 [%] 14 35.6 116
Gemeente Terschelling Totaal 88.8 [%] 87.1 [%] 14 35.6 116
Gemeente Texel 80 96.0 [%] 89.3 [%] 6 11.1 100
Gemeente Texel Totaal 96.0 [%] 89.3 [%] 6 11.1 100
Gemeente Teylingen 80 100.0 [%] 100.0 [%] 0 0.1 4
Gemeente Teylingen Totaal 100.0 [%] 100.0 [%] 0 0.1 4
Gemeente Tholen 80 100.0 [%] 100.0 [%] 0 0.1 4
Gemeente Tholen Totaal 100.0 [%] 100.0 [%] 0 0.1 4
Gemeente Tiel 80 100.0 [%] 100.0 [%] 0 3.1 50
Gemeente Tiel Totaal 100.0 [%] 100.0 [%] 0 3.1 50
Gemeente Tilburg 70 100.0 [%] 100.0 [%] 0 0.9 3
Gemeente Tilburg 80 96.9 [%] 94.2 [%] 4 56.1 225
Gemeente Tilburg 100 100.0 [%] 100.0 [%] 0 2.2 8
Gemeente Tilburg Totaal 97.0 [%] 94.5 [%] 4 59.2 236
Gemeente Tubbergen 80 95.8 [%] 96.0 [%] 3 11.7 48
Gemeente Tubbergen Totaal 95.8 [%] 96.0 [%] 3 11.7 48
Gemeente Twenterand 70 100.0 [%] 100.0 [%] 0 0.4 3
Gemeente Twenterand 80 92.9 [%] 72.0 [%] 3 9.6 28
Gemeente Twenterand 100 100.0 [%] 100.0 [%] 0 0.8 2
Gemeente Twenterand Totaal 93.9 [%] 75.0 [%] 3 10.7 33
Gemeente Tynaarlo 80 93.3 [%] 89.3 [%] 2 6.7 30
Gemeente Tynaarlo Totaal 93.3 [%] 89.3 [%] 2 6.7 30
Gemeente Tytsjerksteradiel 80 99.3 [%] 98.6 [%] 1 60.2 153
Gemeente Tytsjerksteradiel Totaal 99.3 [%] 98.6 [%] 1 60.2 153
Gemeente Uitgeest 80 100.0 [%] 100.0 [%] 0 1.1 2
Gemeente Uitgeest Totaal 100.0 [%] 100.0 [%] 0 1.1 2
Gemeente Uithoorn 80 100.0 [%] 100.0 [%] 0 1.9 13
Gemeente Uithoorn Totaal 100.0 [%] 100.0 [%] 0 1.9 13
Gemeente Urk 70 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Urk 80 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Urk Totaal 100.0 [%] 100.0 [%] 0 0.2 5
Gemeente Utrecht 70 96.6 [%] 92.8 [%] 0 4.9 29
Gemeente Utrecht 80 89.7 [%] 75.3 [%] 5 3.9 39
Gemeente Utrecht Totaal 92.6 [%] 85.0 [%] 5 8.8 68
Gemeente Utrechtse Heuvelrug 80 93.4 [%] 84.6 [%] 5 18.4 61
Gemeente Utrechtse Heuvelrug Totaal 93.4 [%] 84.6 [%] 5 18.4 61
Gemeente Vaals 80 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Vaals Totaal 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Valkenburg aan de Geul 80 100.0 [%] 100.0 [%] 0 7.0 30
Gemeente Valkenburg aan de Geul Totaal 100.0 [%] 100.0 [%] 0 7.0 30
Gemeente Valkenswaard 80 96.3 [%] 90.6 [%] 1 6.8 27
Gemeente Valkenswaard Totaal 96.3 [%] 90.6 [%] 1 6.8 27
Gemeente Veendam 70 100.0 [%] 100.0 [%] 0 0.1 4
Gemeente Veendam 80 94.2 [%] 83.3 [%] 4 31.8 52
Gemeente Veendam Totaal 94.6 [%] 83.4 [%] 4 31.9 56
Gemeente Veenendaal 80 100.0 [%] 100.0 [%] 0 0.3 4
Gemeente Veenendaal Totaal 100.0 [%] 100.0 [%] 0 0.3 4
Gemeente Veere 80 96.8 [%] 93.6 [%] 1 1.6 31
Gemeente Veere Totaal 96.8 [%] 93.6 [%] 1 1.6 31
Gemeente Veldhoven 70 86.7 [%] 71.0 [%] 1 2.1 15
Gemeente Veldhoven 80 96.4 [%] 97.6 [%] 2 24.6 112
Gemeente Veldhoven Totaal 95.3 [%] 95.5 [%] 3 26.7 127
Gemeente Velsen 70 100.0 [%] 100.0 [%] 0 1.7 1
Gemeente Velsen 80 100.0 [%] 100.0 [%] 0 2.0 9
Gemeente Velsen Totaal 100.0 [%] 100.0 [%] 0 3.7 10
Gemeente Venlo 70 100.0 [%] 100.0 [%] 0 0.0 2
Gemeente Venlo 80 89.2 [%] 88.3 [%] 8 20.0 111
Gemeente Venlo Totaal 89.4 [%] 88.4 [%] 8 20.0 113
Gemeente Venray 80 93.3 [%] 91.4 [%] 3 11.5 45
Gemeente Venray Totaal 93.3 [%] 91.4 [%] 3 11.5 45
Gemeente Vijfheerenlanden 80 100.0 [%] 100.0 [%] 0 0.7 3
Gemeente Vijfheerenlanden Totaal 100.0 [%] 100.0 [%] 0 0.7 3
Gemeente Vlaardingen 80 76.5 [%] 90.6 [%] 3 2.7 17
Gemeente Vlaardingen Totaal 76.5 [%] 90.6 [%] 3 2.7 17
Gemeente Vlieland 80 100.0 [%] 100.0 [%] 0 0.3 1
Gemeente Vlieland Totaal 100.0 [%] 100.0 [%] 0 0.3 1
Gemeente Vlissingen 70 100.0 [%] 100.0 [%] 0 1.3 3
Gemeente Vlissingen 80 100.0 [%] 100.0 [%] 0 0.1 5
Gemeente Vlissingen Totaal 100.0 [%] 100.0 [%] 0 1.4 8
Gemeente Voerendaal 70 100.0 [%] 100.0 [%] 0 0.9 1
Gemeente Voerendaal 80 100.0 [%] 100.0 [%] 0 4.6 27
Gemeente Voerendaal 100 100.0 [%] 100.0 [%] 0 0.1 1
Gemeente Voerendaal Totaal 100.0 [%] 100.0 [%] 0 5.6 29
Gemeente Voorne aan Zee 80 100.0 [%] 100.0 [%] 0 4.3 32
Gemeente Voorne aan Zee Totaal 100.0 [%] 100.0 [%] 0 4.3 32
Gemeente Voorschoten 80 100.0 [%] 100.0 [%] 0 4.7 23
Gemeente Voorschoten Totaal 100.0 [%] 100.0 [%] 0 4.7 23
Gemeente Voorst 80 95.9 [%] 93.1 [%] 3 6.9 49
Gemeente Voorst Totaal 95.9 [%] 93.1 [%] 3 6.9 49
Gemeente Vught 80 95.0 [%] 98.5 [%] 1 1.7 20
Gemeente Vught 100 100.0 [%] 100.0 [%] 0 0.9 1
Gemeente Vught Totaal 95.2 [%] 99.0 [%] 1 2.5 21
Gemeente Waadhoeke 70 100.0 [%] 100.0 [%] 0 1.2 13
Gemeente Waadhoeke 80 95.7 [%] 89.8 [%] 8 50.1 164
Gemeente Waadhoeke Totaal 96.0 [%] 90.1 [%] 8 51.3 177
Gemeente Waalre 80 100.0 [%] 100.0 [%] 0 0.1 4
Gemeente Waalre Totaal 100.0 [%] 100.0 [%] 0 0.1 4
Gemeente Waalwijk 70 100.0 [%] 100.0 [%] 0 0.8 2
Gemeente Waalwijk 80 100.0 [%] 100.0 [%] 0 6.3 31
Gemeente Waalwijk Totaal 100.0 [%] 100.0 [%] 0 7.1 33
Gemeente Waddinxveen 80 100.0 [%] 100.0 [%] 0 2.3 19
Gemeente Waddinxveen Totaal 100.0 [%] 100.0 [%] 0 2.3 19
Gemeente Wageningen 80 33.3 [%] 4.1 [%] 2 0.3 3
Gemeente Wageningen Totaal 33.3 [%] 4.1 [%] 2 0.3 3
Gemeente Wassenaar 80 100.0 [%] 100.0 [%] 0 5.3 20
Gemeente Wassenaar Totaal 100.0 [%] 100.0 [%] 0 5.3 20
Gemeente Waterland 80 100.0 [%] 100.0 [%] 0 0.3 4
Gemeente Waterland Totaal 100.0 [%] 100.0 [%] 0 0.3 4
Gemeente Weert 80 97.1 [%] 96.6 [%] 2 21.1 70
Gemeente Weert Totaal 97.1 [%] 96.6 [%] 2 21.1 70
Gemeente West Betuwe 80 100.0 [%] 100.0 [%] 0 8.4 46
Gemeente West Betuwe Totaal 100.0 [%] 100.0 [%] 0 8.4 46
Gemeente West Maas en Waal 80 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente West Maas en Waal Totaal 100.0 [%] 100.0 [%] 0 0.1 2
Gemeente Westerkwartier 70 100.0 [%] 100.0 [%] 0 2.2 5
Gemeente Westerkwartier 80 97.7 [%] 93.3 [%] 4 92.7 172
Gemeente Westerkwartier Totaal 97.7 [%] 93.5 [%] 4 95.0 177
Gemeente Westerveld 70 100.0 [%] 100.0 [%] 0 0.0 3
Gemeente Westerveld 80 100.0 [%] 100.0 [%] 0 0.9 19
Gemeente Westerveld Totaal 100.0 [%] 100.0 [%] 0 0.9 22
Gemeente Westervoort 80 100.0 [%] 100.0 [%] 0 0.7 1
Gemeente Westervoort Totaal 100.0 [%] 100.0 [%] 0 0.7 1
Gemeente Westerwolde 80 97.6 [%] 97.0 [%] 15 314.2 666
Gemeente Westerwolde Totaal 97.6 [%] 97.0 [%] 15 314.2 666
Gemeente Westland 80 98.0 [%] 98.9 [%] 1 7.5 49
Gemeente Westland Totaal 98.0 [%] 98.9 [%] 1 7.5 49
Gemeente Weststellingwerf 70 100.0 [%] 100.0 [%] 0 2.0 4
Gemeente Weststellingwerf 80 98.1 [%] 99.6 [%] 1 20.0 53
Gemeente Weststellingwerf Totaal 98.2 [%] 99.6 [%] 1 21.9 57
Gemeente Wierden 80 97.1 [%] 88.8 [%] 1 5.7 34
Gemeente Wierden Totaal 97.1 [%] 88.8 [%] 1 5.7 34
Gemeente Wijchen 80 98.2 [%] 99.4 [%] 1 21.4 55
Gemeente Wijchen Totaal 98.2 [%] 99.4 [%] 1 21.4 55
Gemeente Wijdemeren 80 100.0 [%] 100.0 [%] 0 6.4 10
Gemeente Wijdemeren Totaal 100.0 [%] 100.0 [%] 0 6.4 10
Gemeente Wijk bij Duurstede 80 100.0 [%] 100.0 [%] 0 1.0 4
Gemeente Wijk bij Duurstede Totaal 100.0 [%] 100.0 [%] 0 1.0 4
Gemeente Winterswijk 80 100.0 [%] 100.0 [%] 0 0.2 2
Gemeente Winterswijk Totaal 100.0 [%] 100.0 [%] 0 0.2 2
Gemeente Woensdrecht 80 100.0 [%] 100.0 [%] 0 11.5 37
Gemeente Woensdrecht Totaal 100.0 [%] 100.0 [%] 0 11.5 37
Gemeente Woerden 80 94.1 [%] 52.8 [%] 1 3.8 17
Gemeente Woerden Totaal 94.1 [%] 52.8 [%] 1 3.8 17
Gemeente Woudenberg 80 93.8 [%] 93.2 [%] 1 2.0 16
Gemeente Woudenberg Totaal 93.8 [%] 93.2 [%] 1 2.0 16
Gemeente Zaanstad 70 90.0 [%] 89.2 [%] 1 1.4 10
Gemeente Zaanstad 80 100.0 [%] 100.0 [%] 0 4.2 12
Gemeente Zaanstad Totaal 95.5 [%] 97.4 [%] 1 5.5 22
Gemeente Zaltbommel 80 98.1 [%] 98.8 [%] 2 52.4 155
Gemeente Zaltbommel Totaal 98.1 [%] 98.8 [%] 2 52.4 155
Gemeente Zeewolde 70 100.0 [%] 100.0 [%] 0 2.6 11
Gemeente Zeewolde 80 80.5 [%] 76.5 [%] 30 116.5 133
Gemeente Zeewolde 100 100.0 [%] 100.0 [%] 0 0.1 3
Gemeente Zeewolde Totaal 82.3 [%] 77.0 [%] 30 119.3 147
Gemeente Zeist 80 90.9 [%] 68.9 [%] 3 4.2 33
Gemeente Zeist Totaal 90.9 [%] 68.9 [%] 3 4.2 33
Gemeente Zevenaar 80 100.0 [%] 100.0 [%] 0 7.0 34
Gemeente Zevenaar Totaal 100.0 [%] 100.0 [%] 0 7.0 34
Gemeente Zoetermeer 70 100.0 [%] 100.0 [%] 0 1.0 3
Gemeente Zoetermeer 80 100.0 [%] 100.0 [%] 0 0.3 5
Gemeente Zoetermeer Totaal 100.0 [%] 100.0 [%] 0 1.3 8
Gemeente Zuidplas 80 100.0 [%] 100.0 [%] 0 5.7 51
Gemeente Zuidplas Totaal 100.0 [%] 100.0 [%] 0 5.7 51
Gemeente Zundert 80 96.6 [%] 95.3 [%] 5 68.0 178
Gemeente Zundert Totaal 96.6 [%] 95.3 [%] 5 68.0 178
Gemeente Zutphen 80 97.1 [%] 84.3 [%] 1 11.1 34
Gemeente Zutphen Totaal 97.1 [%] 84.3 [%] 1 11.1 34
Gemeente Zwartewaterland 80 100.0 [%] 100.0 [%] 0 4.3 35
Gemeente Zwartewaterland Totaal 100.0 [%] 100.0 [%] 0 4.3 35
Gemeente Zwijndrecht 80 100.0 [%] 100.0 [%] 0 0.2 9
Gemeente Zwijndrecht Totaal 100.0 [%] 100.0 [%] 0 0.2 9
Gemeente Zwolle 70 100.0 [%] 100.0 [%] 0 2.4 18
Gemeente Zwolle 80 90.9 [%] 90.3 [%] 5 6.4 44
Gemeente Zwolle Totaal 93.5 [%] 92.9 [%] 5 8.7 62

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 70, 80 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.

Ten slotte is het mogelijk de grafiek op te slaan als een afbeelding (bestandstype png). Door de grafiek met de muis aan te wijzen verschijnt er een subtiele menubalk die de optie biedt de benchmark als een png te downloaden.

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

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

# data per provincie per limiet
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_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 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 70, 80 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_70 <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[1]
landelijke_score_80 <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[2]
landelijke_score_100 <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[3]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[4]

# data per provincie per limiet
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_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 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 gemeentelijke wegbeheerders, afgezet tegen het landelijk niveau. De benchmarks worden getoond voor het totale areaal en voor de wegen met een limiet van 70, 80 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_70 <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[1]
landelijke_score_80 <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[2]
landelijke_score_100 <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[3]
landelijke_score_totaal <- scores_landelijk$`Score kenmerk Afwezigheid oversteekplaatsen`[4]

# data per provincie per limiet
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_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 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 Scores en resultaten SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen op 60 km/u wegen

Op 70, 80 en 100 km/u wegen buiten de bebouwde kom geldt dat o.a. langzaam verkeer oversteken op wegvakken niet zijn toegestaan om conflicten met dit verkeer te voorkomen bij onveilige snelheden van gemotoriseerd verkeer. In voorgaande hoofdstukken hebben we in beeld gebracht, per wegbeheerder en snelheidslimiet, hoeveel oversteekplaatsen er zijn en welk deel van de wegvakken voldoen aan dit kenmerk van de SPI Veilige Infrastructuur.

De afwezigheid van oversteekplaatsen op 60 km/u wegen buiten de bebouwde kom is geen SPI criterium. Echter zijn wegen met een 60 km/u limiet wel wegen met een onveilige botssnelheid voor langzaam verkeer. Fiets- en voetgangersoversteken op deze wegen vragen dus wel aandacht. Daarom brengen we ook voor 60 km/u wegen buiten de bebouwde kom onderstaande eigenschappen in beeld.

  1. Kenmerk afwezigheid oversteekplaatsen: [aantal wegvakken dat voldoet] / [totaal aantal wegvakken]
  2. Score kenmerk naar wegvaklengte: [totale weglengte van de wegvakken die voldoen] / [totale weglengte]
  3. Aantal oversteekplaatsen
nwb_oversteekplaatsen2_60kmpu_totaal <- nwb_oversteekplaatsen2_60kmpu %>%
  st_drop_geometry(.) %>%
  rename(`Wegbeheerder soort` = WEGBEHSRT) %>%
  group_by(`Wegbeheerder soort`) %>%
  summarise(`Aantal oversteekplaatsen` = sum(aantal_oversteekplaatsen),
            Snelheidslimiet = mean(as.numeric(Snelheidslimiet)))

#### landelijke ####
scores_landelijk_60 <- nwb_oversteekplaatsen2_60kmpu %>%
  st_drop_geometry(.) %>%
  rename(`Wegbeheerder soort` = WEGBEHSRT) %>%
  group_by(`Wegbeheerder soort`) %>%
  # bepaal scores
  summarise(#`Wegbeheerder soort` = "Totaal" ,
            Wegbeheerder = "Totaal",
            Snelheidslimiet = mean(as.numeric(Snelheidslimiet)),
            `Score kenmerk Afwezigheid oversteekplaatsen` = sum(oversteekplaatsen_voldoet) / n(),
            `Score kenmerk naar wegvaklengte` = sum(ifelse(oversteekplaatsen_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1),
            ) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ round(., 1))) %>%
  ungroup() %>%
  left_join(nwb_oversteekplaatsen2_60kmpu_totaal) %>%
  mutate(`Wegbeheerder soort` = case_when(
    `Wegbeheerder soort` == "G" ~ "Gemeente",
    `Wegbeheerder soort` == "P" ~ "Provincie",
    `Wegbeheerder soort` == "R" ~ "Rijk",
    `Wegbeheerder soort` == "W" ~ "Waterschap",
    .default = "Overig" )) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_landelijk_60)

#### provincies ####

# scores voor het totaal bepalen
scores_provincies_60 <- nwb_oversteekplaatsen2_60kmpu %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "P") %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  # groepeer naar webeheerder
  group_by(Wegbeheerder) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Provincie" ,
            Snelheidslimiet = as.character(mean(as.numeric(Snelheidslimiet))),
            `Score kenmerk Afwezigheid oversteekplaatsen` = sum(oversteekplaatsen_voldoet) / n(),
            `Score kenmerk naar wegvaklengte` = sum(ifelse(oversteekplaatsen_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1),
            ) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ round(., 1))) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup() %>%
  left_join(Oversteekplaatsen_per_wegbeheerder_limiet_60, by = join_by(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet)) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  arrange(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet) %>%
  mutate(`Aantal oversteekplaatsen` = ifelse(is.na(`Aantal oversteekplaatsen`), 0, `Aantal oversteekplaatsen`)) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_provincies_60)

#### gemeenten ####

# scores voor het totaal bepalen
scores_gemeenten_60 <- nwb_oversteekplaatsen2_60kmpu %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "G") %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  # groepeer naar gemeente
  group_by(Wegbeheerder) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Gemeente" ,
            Snelheidslimiet = as.character(mean(as.numeric(Snelheidslimiet))),
            `Score kenmerk Afwezigheid oversteekplaatsen` = sum(oversteekplaatsen_voldoet) / n(),
            `Score kenmerk naar wegvaklengte` = sum(ifelse(oversteekplaatsen_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ round(., 1))) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup() %>%
  left_join(Oversteekplaatsen_per_wegbeheerder_limiet_60, by = join_by(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet)) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  arrange(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet) %>%
  mutate(`Aantal oversteekplaatsen` = ifelse(is.na(`Aantal oversteekplaatsen`), 0, `Aantal oversteekplaatsen`)) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_gemeenten_60)

#### waterschappen ####

# scores voor het totaal bepalen
scores_waterschappen_60 <- nwb_oversteekplaatsen2_60kmpu %>%
  st_drop_geometry(.) %>%
  # selecteer op basis van wegbeheersoort
  filter(WEGBEHSRT == "W") %>%
  dplyr::rename(Wegbeheerder = WEGBEHNAAM) %>%
  # groepeer naar webeheerder
  group_by(Wegbeheerder) %>%
  # bepaal scores
  summarise(`Wegbeheerder soort` = "Waterschap" ,
            Snelheidslimiet = as.character(mean(as.numeric(Snelheidslimiet))),
            `Score kenmerk Afwezigheid oversteekplaatsen` = sum(oversteekplaatsen_voldoet) / n(),
            `Score kenmerk naar wegvaklengte` = sum(ifelse(oversteekplaatsen_voldoet == 1, wegvaklengte, 0)) / sum(wegvaklengte),
            `Totale weglengte [km]` = round(sum(wegvaklengte) / 1000, 1)) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ set_units(. * 100, "%"))) %>%
  mutate(across(c(`Score kenmerk Afwezigheid oversteekplaatsen`, `Score kenmerk naar wegvaklengte`), ~ round(., 1))) %>%
  relocate(`Wegbeheerder soort`) %>%
  ungroup() %>%
  left_join(Oversteekplaatsen_per_wegbeheerder_limiet_60, by = join_by(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet)) %>%
  mutate(Snelheidslimiet = factor(Snelheidslimiet, levels = c("0","50", "60", "70", "80", "90", "100", "110", "120", "130", "Totaal"))) %>%
  arrange(`Wegbeheerder soort`, Wegbeheerder, Snelheidslimiet) %>%
  mutate(`Aantal oversteekplaatsen` = ifelse(is.na(`Aantal oversteekplaatsen`), 0, `Aantal oversteekplaatsen`)) %>%
  relocate(`Aantal oversteekplaatsen`, .before = `Totale weglengte [km]`)

# head(scores_waterschappen_60)

We tonen daarbij zowel de tabellen als de benchmarks.

6.6.1 Oversteekplaatsen en scores van wegen met een snelheidslimiet van 60 km/uur

In deze paragraaf worden scores en aantallen van fietsoversteken op wegen met een limiet van 60 km/uur getoond per wegbeheerder.

Klik met de muis op de onderstaande tabbladen om de tabellen van de verschillende typen wegbeheerders te tonen. De verschillende tabellen hebben een scrolfunctie.

Landelijk

scroltabel_gt(scores_landelijk_60, title = "SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen per wegbeheerder")
SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen per wegbeheerder
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km]
Gemeente Totaal 60 96.3 [%] 94.7 [%] 6017 40152.5
Provincie Totaal 60 95.7 [%] 93.1 [%] 281 1141.3
Overig Totaal 60 98.7 [%] 96.4 [%] 58 484.1
Waterschap Totaal 60 97.8 [%] 97.5 [%] 384 4976.0

Waterschappen

scroltabel_gt(scores_waterschappen_60, title = "SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen van waterschappen")
SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen van waterschappen
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km]
Waterschap HHS Hollands Noorderkwartier 60 97.9 [%] 98.5 [%] 9 259.6
Waterschap HHS Schieland en de Krimpenerwaard 60 92.4 [%] 83.9 [%] 12 87.3
Waterschap Waterschap De Hollandse Delta 60 96.6 [%] 96.6 [%] 80 1084.0
Waterschap Waterschap Rivierenland 60 98.0 [%] 97.5 [%] 17 385.4
Waterschap Waterschap Scheldestromen 60 98.3 [%] 98.0 [%] 107 3159.3
Waterschap Waterschap Vallei en Veluwe 60 100.0 [%] 100.0 [%] 0 0.4
Waterschap Waterschap West Friesland 60 100.0 [%] 100.0 [%] 0 0.1

Provincies

scroltabel_gt(scores_provincies_60, title = "SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen van provincies")
SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen van provincies
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km]
Provincie Drenthe 60 93.4 [%] 93.4 [%] 7 30.2
Provincie Flevoland 60 88.3 [%] 84.0 [%] 7 22.7
Provincie Friesland 60 96.5 [%] 92.3 [%] 9 121.8
Provincie Gelderland 60 95.0 [%] 90.9 [%] 27 156.8
Provincie Groningen 60 92.4 [%] 89.4 [%] 15 102.2
Provincie Limburg 60 100.0 [%] 100.0 [%] 0 6.4
Provincie Noord-Brabant 60 98.8 [%] 97.2 [%] 1 18.8
Provincie Noord-Holland 60 94.4 [%] 90.9 [%] 17 120.3
Provincie Overijssel 60 96.1 [%] 96.9 [%] 10 174.6
Provincie Utrecht 60 96.4 [%] 92.7 [%] 9 89.2
Provincie Zeeland 60 95.1 [%] 92.5 [%] 15 110.4
Provincie Zuid-Holland 60 97.8 [%] 96.6 [%] 20 187.8

Gemeenten

scroltabel_gt(scores_gemeenten_60, title = "SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen van gemeenten")
SPI Veilige Infrastructuur - Afwezigheid van oversteekplaatsen, toegepast op 60 wegen van gemeenten
Wegbeheerder soort Wegbeheerder Snelheidslimiet Score kenmerk Afwezigheid oversteekplaatsen Score kenmerk naar wegvaklengte Aantal oversteekplaatsen Totale weglengte [km]
Gemeente 's-Gravenhage 60 95.0 [%] 93.6 [%] 2 1.0
Gemeente 's-Hertogenbosch 60 97.5 [%] 97.6 [%] 11 128.3
Gemeente Aa en Hunze 60 88.4 [%] 84.4 [%] 54 257.1
Gemeente Aalburg 60 100.0 [%] 100.0 [%] 0 0.5
Gemeente Aalsmeer 60 85.7 [%] 97.0 [%] 4 5.6
Gemeente Aalten 60 96.4 [%] 96.3 [%] 14 213.0
Gemeente Achtkarspelen 60 97.8 [%] 98.1 [%] 5 132.3
Gemeente Alblasserdam 60 90.9 [%] 85.9 [%] 1 1.5
Gemeente Albrandswaard 60 86.1 [%] 84.4 [%] 4 6.3
Gemeente Alkmaar 60 97.3 [%] 93.3 [%] 5 115.2
Gemeente Almelo 60 95.5 [%] 94.4 [%] 6 57.7
Gemeente Almere 60 93.1 [%] 89.6 [%] 14 58.3
Gemeente Alphen aan den Rijn 60 95.7 [%] 89.8 [%] 12 92.7
Gemeente Alphen-Chaam 60 92.4 [%] 89.6 [%] 37 179.8
Gemeente Altena 60 96.2 [%] 94.0 [%] 20 312.7
Gemeente Ameland 60 96.5 [%] 96.8 [%] 5 55.6
Gemeente Amersfoort 60 95.0 [%] 97.2 [%] 6 39.3
Gemeente Amstelveen 60 83.7 [%] 88.7 [%] 13 30.5
Gemeente Amsterdam 60 96.8 [%] 93.9 [%] 8 55.6
Gemeente Apeldoorn 60 93.2 [%] 89.8 [%] 60 336.6
Gemeente Appingedam 60 100.0 [%] 100.0 [%] 0 0.3
Gemeente Arnhem 60 93.3 [%] 88.1 [%] 8 42.3
Gemeente Assen 60 94.7 [%] 89.4 [%] 15 91.0
Gemeente Asten 60 94.2 [%] 90.6 [%] 12 137.6
Gemeente Baarle-Nassau 60 96.8 [%] 96.4 [%] 17 199.6
Gemeente Baarn 60 96.1 [%] 87.2 [%] 7 28.8
Gemeente Barendrecht 60 100.0 [%] 100.0 [%] 0 2.7
Gemeente Barneveld 60 97.2 [%] 93.6 [%] 26 285.7
Gemeente Bedum 60 50.0 [%] 79.7 [%] 3 2.9
Gemeente Beek 60 100.0 [%] 100.0 [%] 0 37.2
Gemeente Beek en Donk 60 100.0 [%] 100.0 [%] 0 1.2
Gemeente Beekdaelen 60 97.5 [%] 96.2 [%] 9 65.0
Gemeente Beesel 60 99.4 [%] 99.4 [%] 1 41.5
Gemeente Berg en Dal 60 91.2 [%] 84.2 [%] 26 113.9
Gemeente Bergeijk 60 93.4 [%] 89.2 [%] 30 165.6
Gemeente Bergen (L.) 60 95.2 [%] 93.3 [%] 20 151.4
Gemeente Bergen (NH.) 60 96.1 [%] 96.8 [%] 7 61.3
Gemeente Bergen op Zoom 60 95.6 [%] 93.8 [%] 19 121.8
Gemeente Berkelland 60 96.2 [%] 96.3 [%] 55 688.8
Gemeente Bernheze 60 96.9 [%] 95.1 [%] 22 216.9
Gemeente Best 60 95.9 [%] 95.5 [%] 12 75.7
Gemeente Beuningen 60 96.5 [%] 96.4 [%] 7 74.2
Gemeente Beverwijk 60 95.6 [%] 94.4 [%] 2 9.3
Gemeente Binnenmaas 60 100.0 [%] 100.0 [%] 0 0.2
Gemeente Bladel 60 91.4 [%] 86.1 [%] 20 104.2
Gemeente Blaricum 60 91.5 [%] 96.3 [%] 4 5.7
Gemeente Bloemendaal 60 91.2 [%] 89.7 [%] 3 7.2
Gemeente Bodegraven-Reeuwijk 60 96.5 [%] 97.0 [%] 6 66.9
Gemeente Boekel 60 96.5 [%] 93.1 [%] 8 78.5
Gemeente Borger-Odoorn 60 95.1 [%] 95.9 [%] 33 338.2
Gemeente Borne 60 97.5 [%] 96.9 [%] 7 61.2
Gemeente Borsele 60 100.0 [%] 100.0 [%] 0 31.9
Gemeente Boxtel 60 95.2 [%] 94.8 [%] 17 127.6
Gemeente Breda 60 98.7 [%] 98.4 [%] 5 170.4
Gemeente Bronckhorst 60 96.5 [%] 95.3 [%] 43 615.5
Gemeente Brummen 60 94.8 [%] 88.0 [%] 20 148.3
Gemeente Brunssum 60 100.0 [%] 100.0 [%] 0 11.2
Gemeente Bunnik 60 96.5 [%] 94.4 [%] 4 48.9
Gemeente Bunschoten 60 90.2 [%] 96.6 [%] 7 34.3
Gemeente Buren 60 98.5 [%] 98.5 [%] 8 276.5
Gemeente Castricum 60 96.4 [%] 89.8 [%] 0 13.2
Gemeente Coevorden 60 96.0 [%] 93.8 [%] 23 213.0
Gemeente Cranendonck 60 94.8 [%] 87.3 [%] 20 118.1
Gemeente Cuijk 60 100.0 [%] 100.0 [%] 0 0.3
Gemeente Culemborg 60 96.1 [%] 91.6 [%] 3 39.4
Gemeente Dalfsen 60 98.1 [%] 97.8 [%] 13 358.6
Gemeente Dantumadiel 60 97.8 [%] 96.9 [%] 2 113.1
Gemeente De Bilt 60 92.3 [%] 87.7 [%] 9 34.0
Gemeente De Fryske Marren 60 96.5 [%] 97.3 [%] 18 364.2
Gemeente De Ronde Venen 60 98.6 [%] 95.7 [%] 6 131.6
Gemeente De Wolden 60 96.1 [%] 93.8 [%] 22 344.3
Gemeente Delft 60 88.2 [%] 95.4 [%] 3 3.2
Gemeente Den Helder 60 92.3 [%] 84.6 [%] 2 12.7
Gemeente Deurne 60 98.7 [%] 98.2 [%] 8 285.6
Gemeente Deventer 60 98.2 [%] 97.7 [%] 17 234.2
Gemeente Diemen 60 100.0 [%] 100.0 [%] 0 0.8
Gemeente Dijk en Waard 60 95.2 [%] 96.7 [%] 8 49.3
Gemeente Dinkelland 60 97.9 [%] 97.2 [%] 16 419.9
Gemeente Doesburg 60 100.0 [%] 100.0 [%] 0 12.8
Gemeente Doetinchem 60 97.2 [%] 97.2 [%] 11 142.6
Gemeente Dongen 60 96.4 [%] 95.2 [%] 2 33.2
Gemeente Dordrecht 60 91.5 [%] 89.5 [%] 14 49.8
Gemeente Drechterland 60 96.4 [%] 97.0 [%] 6 61.9
Gemeente Drimmelen 60 95.5 [%] 95.0 [%] 10 127.9
Gemeente Dronten 60 92.0 [%] 82.4 [%] 7 39.3
Gemeente Druten 60 97.9 [%] 96.5 [%] 3 52.1
Gemeente Duiven 60 96.4 [%] 97.2 [%] 5 49.3
Gemeente Echt-Susteren 60 98.2 [%] 97.4 [%] 10 181.3
Gemeente Edam-Volendam 60 100.0 [%] 100.0 [%] 0 1.8
Gemeente Ede 60 96.3 [%] 92.8 [%] 46 402.5
Gemeente Eemnes 60 95.8 [%] 95.0 [%] 5 37.5
Gemeente Eemsdelta 60 97.3 [%] 96.8 [%] 13 305.2
Gemeente Eemsmond 60 100.0 [%] 100.0 [%] 0 0.0
Gemeente Eersel 60 94.5 [%] 90.5 [%] 34 176.1
Gemeente Eijsden-Margraten 60 97.9 [%] 97.9 [%] 10 140.1
Gemeente Eindhoven 60 95.7 [%] 96.4 [%] 4 22.5
Gemeente Elburg 60 95.8 [%] 94.3 [%] 11 93.0
Gemeente Emmen 60 94.2 [%] 92.3 [%] 36 325.0
Gemeente Enkhuizen 60 100.0 [%] 100.0 [%] 0 2.0
Gemeente Enschede 60 96.8 [%] 94.8 [%] 33 272.4
Gemeente Epe 60 95.4 [%] 92.3 [%] 56 413.1
Gemeente Ermelo 60 90.4 [%] 81.4 [%] 24 98.7
Gemeente Etten-Leur 60 96.4 [%] 95.3 [%] 11 98.9
Gemeente Ferwerderadiel 60 100.0 [%] 100.0 [%] 0 0.7
Gemeente Geertruidenberg 60 92.9 [%] 93.4 [%] 7 28.0
Gemeente Geldermalsen 60 100.0 [%] 100.0 [%] 0 0.0
Gemeente Geldrop-Mierlo 60 96.2 [%] 99.3 [%] 4 40.5
Gemeente Gemert-Bakel 60 97.7 [%] 96.0 [%] 13 222.7
Gemeente Gennep 60 98.4 [%] 98.9 [%] 4 79.4
Gemeente Gilze en Rijen 60 96.0 [%] 95.3 [%] 11 121.3
Gemeente Goeree-Overflakkee 60 97.2 [%] 97.8 [%] 7 48.9
Gemeente Goes 60 97.8 [%] 99.4 [%] 2 17.3
Gemeente Goirle 60 98.3 [%] 98.7 [%] 2 72.8
Gemeente Gooise Meren 60 93.3 [%] 85.9 [%] 6 26.0
Gemeente Gorinchem 60 100.0 [%] 100.0 [%] 0 5.7
Gemeente Gouda 60 93.8 [%] 85.0 [%] 3 9.7
Gemeente Grave 60 100.0 [%] 100.0 [%] 0 0.9
Gemeente Groningen 60 95.1 [%] 95.3 [%] 16 152.5
Gemeente Gulpen-Wittem 60 97.8 [%] 98.5 [%] 6 88.9
Gemeente Haaksbergen 60 96.2 [%] 95.2 [%] 25 243.5
Gemeente Haarlem 60 100.0 [%] 100.0 [%] 0 3.6
Gemeente Haarlemmermeer 60 91.2 [%] 90.7 [%] 37 159.8
Gemeente Halderberge 60 98.0 [%] 99.2 [%] 3 126.2
Gemeente Hardenberg 60 96.5 [%] 97.0 [%] 37 609.3
Gemeente Harderwijk 60 96.8 [%] 96.5 [%] 5 38.3
Gemeente Hardinxveld-Giessendam 60 81.8 [%] 79.4 [%] 2 1.3
Gemeente Haren 60 100.0 [%] 100.0 [%] 0 0.3
Gemeente Harlingen 60 93.5 [%] 99.2 [%] 2 23.4
Gemeente Hattem 60 90.1 [%] 80.0 [%] 11 25.4
Gemeente Heemskerk 60 100.0 [%] 100.0 [%] 0 3.7
Gemeente Heemstede 60 100.0 [%] 100.0 [%] 0 0.2
Gemeente Heerde 60 88.7 [%] 84.0 [%] 41 140.8
Gemeente Heerenveen 60 98.3 [%] 96.5 [%] 11 244.2
Gemeente Heerlen 60 72.7 [%] 64.3 [%] 2 1.6
Gemeente Heeze-Leende 60 92.7 [%] 86.1 [%] 25 115.8
Gemeente Heiloo 60 100.0 [%] 100.0 [%] 0 3.8
Gemeente Hellendoorn 60 97.0 [%] 95.6 [%] 26 310.5
Gemeente Hellevoetsluis 60 100.0 [%] 100.0 [%] 0 0.0
Gemeente Helmond 60 93.3 [%] 90.7 [%] 9 50.9
Gemeente Hendrik-Ido-Ambacht 60 100.0 [%] 100.0 [%] 0 1.5
Gemeente Hengelo OV 60 97.7 [%] 97.0 [%] 10 101.8
Gemeente Het Hogeland 60 97.2 [%] 95.2 [%] 18 326.4
Gemeente Heumen 60 93.7 [%] 88.0 [%] 18 83.3
Gemeente Heusden 60 92.1 [%] 91.8 [%] 18 85.7
Gemeente Hillegom 60 100.0 [%] 100.0 [%] 0 11.1
Gemeente Hilvarenbeek 60 95.0 [%] 89.8 [%] 27 182.6
Gemeente Hilversum 60 91.5 [%] 74.1 [%] 3 12.5
Gemeente Hoeksche Waard 60 97.3 [%] 98.9 [%] 5 49.9
Gemeente Hof van Twente 60 98.0 [%] 97.6 [%] 19 403.1
Gemeente Hollands Kroon 60 98.2 [%] 98.8 [%] 10 419.5
Gemeente Hoogeveen 60 95.7 [%] 93.7 [%] 23 186.5
Gemeente Hoorn 60 96.0 [%] 98.6 [%] 2 7.2
Gemeente Horst aan de Maas 60 97.2 [%] 95.5 [%] 34 449.4
Gemeente Houten 60 97.8 [%] 95.1 [%] 4 68.5
Gemeente Huizen 60 70.6 [%] 40.0 [%] 4 3.1
Gemeente Hulst 60 96.4 [%] 99.7 [%] 1 15.0
Gemeente IJsselstein 60 97.0 [%] 96.7 [%] 1 19.3
Gemeente Kaag en Braassem 60 97.4 [%] 98.1 [%] 2 49.6
Gemeente Kampen 60 99.1 [%] 98.7 [%] 3 161.6
Gemeente Kapelle 60 100.0 [%] 100.0 [%] 0 6.6
Gemeente Katwijk 60 100.0 [%] 100.0 [%] 0 14.7
Gemeente Kerkrade 60 95.0 [%] 99.1 [%] 1 2.7
Gemeente Koggenland 60 99.2 [%] 97.0 [%] 2 68.2
Gemeente Kollumerland ca 60 100.0 [%] 100.0 [%] 0 0.0
Gemeente Krimpen aan den IJssel 60 85.7 [%] 90.8 [%] 2 1.5
Gemeente Krimpenerwaard 60 98.6 [%] 99.1 [%] 0 22.6
Gemeente Laarbeek 60 97.2 [%] 98.1 [%] 12 127.8
Gemeente Land van Cuijk 60 96.9 [%] 93.8 [%] 48 738.2
Gemeente Landgraaf 60 95.8 [%] 99.9 [%] 2 2.5
Gemeente Landsmeer 60 50.0 [%] 19.3 [%] 5 1.2
Gemeente Langbroek 60 100.0 [%] 100.0 [%] 0 0.0
Gemeente Langedijk 60 100.0 [%] 100.0 [%] 0 0.1
Gemeente Lansingerland 60 89.8 [%] 92.8 [%] 37 64.2
Gemeente Laren 60 85.2 [%] 55.2 [%] 3 6.4
Gemeente Leeuwarden 60 96.9 [%] 96.7 [%] 15 228.8
Gemeente Leiden 60 100.0 [%] 100.0 [%] 0 2.6
Gemeente Leiderdorp 60 91.7 [%] 72.7 [%] 1 5.1
Gemeente Leidschendam-Voorburg 60 83.9 [%] 80.3 [%] 14 25.5
Gemeente Lelystad 60 82.7 [%] 79.5 [%] 8 27.8
Gemeente Leudal 60 98.2 [%] 97.0 [%] 14 355.4
Gemeente Leusden 60 91.4 [%] 79.2 [%] 13 39.1
Gemeente Lingewaard 60 99.3 [%] 97.1 [%] 1 70.1
Gemeente Lisse 60 97.5 [%] 94.1 [%] 2 18.3
Gemeente Lochem 60 97.6 [%] 97.1 [%] 24 525.4
Gemeente Loon op Zand 60 95.9 [%] 95.6 [%] 14 87.2
Gemeente Lopik 60 94.4 [%] 97.4 [%] 4 32.6
Gemeente Loppersum 60 100.0 [%] 100.0 [%] 0 0.6
Gemeente Losser 60 96.4 [%] 95.4 [%] 16 178.1
Gemeente Maasdriel 60 94.3 [%] 93.0 [%] 6 63.5
Gemeente Maasgouw 60 98.1 [%] 98.5 [%] 6 96.3
Gemeente Maashorst 60 95.3 [%] 93.2 [%] 38 271.1
Gemeente Maassluis 60 71.4 [%] 69.9 [%] 1 0.4
Gemeente Maastricht 60 95.3 [%] 93.0 [%] 5 33.5
Gemeente Marum 60 100.0 [%] 100.0 [%] 0 0.5
Gemeente Medemblik 60 97.2 [%] 96.7 [%] 4 109.0
Gemeente Meerssen 60 95.8 [%] 94.1 [%] 7 52.3
Gemeente Meierijstad 60 97.0 [%] 94.6 [%] 46 442.7
Gemeente Meppel 60 98.6 [%] 99.0 [%] 2 63.0
Gemeente Middelburg 60 100.0 [%] 100.0 [%] 0 10.6
Gemeente Midden-Delfland 60 95.8 [%] 94.9 [%] 6 47.5
Gemeente Midden-Drenthe 60 95.4 [%] 91.3 [%] 40 451.9
Gemeente Midden-Groningen 60 97.4 [%] 96.2 [%] 12 305.9
Gemeente Moerdijk 60 97.8 [%] 99.0 [%] 13 241.2
Gemeente Molenlanden 60 100.0 [%] 100.0 [%] 0 5.7
Gemeente Montferland 60 97.4 [%] 94.2 [%] 13 213.6
Gemeente Montfoort 60 97.8 [%] 99.8 [%] 1 20.9
Gemeente Mook en Middelaar 60 98.6 [%] 97.9 [%] 1 21.3
Gemeente Neder-Betuwe 60 97.5 [%] 96.4 [%] 9 122.6
Gemeente Nederweert 60 98.7 [%] 97.1 [%] 3 80.7
Gemeente Nieuwegein 60 95.9 [%] 97.9 [%] 2 13.7
Gemeente Nieuwkoop 60 96.3 [%] 94.4 [%] 6 69.4
Gemeente Nijkerk 60 96.5 [%] 92.8 [%] 11 116.8
Gemeente Nijmegen 60 95.7 [%] 92.6 [%] 1 6.5
Gemeente Nissewaard 60 93.0 [%] 91.8 [%] 5 10.1
Gemeente Noardeast-Fryslan 60 98.0 [%] 96.8 [%] 11 229.2
Gemeente Noord-Beveland 60 97.0 [%] 95.6 [%] 5 30.6
Gemeente Noordenveld 60 93.6 [%] 89.8 [%] 29 241.6
Gemeente Noordoostpolder 60 88.5 [%] 76.9 [%] 42 237.6
Gemeente Noordwijk 60 96.5 [%] 93.1 [%] 9 66.8
Gemeente Nuenen, Gerwen en Nederw 60 99.0 [%] 99.4 [%] 2 73.1
Gemeente Nunspeet 60 92.1 [%] 82.2 [%] 28 128.3
Gemeente Oegstgeest 60 94.1 [%] 90.8 [%] 2 2.4
Gemeente Oirschot 60 96.3 [%] 93.5 [%] 17 183.9
Gemeente Oisterwijk 60 96.3 [%] 95.6 [%] 21 181.2
Gemeente Oldambt 60 96.6 [%] 98.5 [%] 5 156.2
Gemeente Oldebroek 60 96.3 [%] 92.2 [%] 13 109.9
Gemeente Oldenzaal 60 95.9 [%] 92.0 [%] 4 24.3
Gemeente Olst-Wijhe 60 98.0 [%] 96.0 [%] 12 179.9
Gemeente Ommen 60 94.6 [%] 91.3 [%] 61 395.0
Gemeente Oost Gelre 60 96.1 [%] 95.3 [%] 22 299.2
Gemeente Oosterhout 60 98.0 [%] 98.4 [%] 4 65.3
Gemeente Ooststellingwerf 60 96.7 [%] 94.3 [%] 17 258.9
Gemeente Oostzaan 60 62.0 [%] 47.5 [%] 23 6.8
Gemeente Opmeer 60 99.0 [%] 93.0 [%] 1 30.1
Gemeente Opsterland 60 96.6 [%] 95.1 [%] 20 281.3
Gemeente Oss 60 97.2 [%] 97.5 [%] 25 340.6
Gemeente Ossendrecht 60 100.0 [%] 100.0 [%] 0 0.3
Gemeente Oude IJsselstreek 60 96.1 [%] 95.5 [%] 20 272.8
Gemeente Ouder-Amstel 60 92.2 [%] 92.7 [%] 2 28.9
Gemeente Oudewater 60 100.0 [%] 100.0 [%] 0 34.8
Gemeente Overbetuwe 60 96.8 [%] 97.7 [%] 14 162.6
Gemeente Papendrecht 60 100.0 [%] 100.0 [%] 0 0.0
Gemeente Peel en Maas 60 97.3 [%] 95.2 [%] 18 418.4
Gemeente Pekela 60 97.2 [%] 97.2 [%] 0 34.7
Gemeente Pijnacker-Nootdorp 60 92.2 [%] 88.9 [%] 11 40.1
Gemeente Purmerend 60 92.9 [%] 86.7 [%] 1 4.2
Gemeente Putten 60 97.1 [%] 94.8 [%] 20 205.8
Gemeente Raalte 60 98.5 [%] 97.7 [%] 18 403.8
Gemeente Reimerswaal 60 97.1 [%] 93.3 [%] 3 16.6
Gemeente Renkum 60 88.8 [%] 69.5 [%] 13 40.2
Gemeente Renswoude 60 94.6 [%] 91.5 [%] 4 27.6
Gemeente Reusel-De Mierden 60 95.8 [%] 89.7 [%] 18 159.4
Gemeente Rheden 60 94.1 [%] 89.0 [%] 14 58.8
Gemeente Rhenen 60 96.1 [%] 95.4 [%] 4 44.0
Gemeente Ridderkerk 60 96.4 [%] 97.0 [%] 1 1.8
Gemeente Rijssen-Holten 60 97.2 [%] 95.4 [%] 17 204.5
Gemeente Rijswijk 60 50.0 [%] 48.4 [%] 1 0.3
Gemeente Roerdalen 60 97.2 [%] 94.3 [%] 16 231.1
Gemeente Roermond 60 97.0 [%] 93.2 [%] 9 85.4
Gemeente Roosendaal 60 98.4 [%] 97.8 [%] 8 178.9
Gemeente Rotterdam 60 96.9 [%] 94.2 [%] 7 51.4
Gemeente Rozendaal 60 94.3 [%] 97.1 [%] 2 20.2
Gemeente Rucphen 60 96.6 [%] 95.7 [%] 15 169.9
Gemeente Schagen 60 97.6 [%] 99.1 [%] 8 207.5
Gemeente Scherpenzeel 60 96.9 [%] 98.2 [%] 2 21.7
Gemeente Schiedam 60 90.9 [%] 94.6 [%] 2 3.0
Gemeente Schiermonnikoog 60 89.2 [%] 85.2 [%] 3 9.2
Gemeente Schouwen-Duiveland 60 97.4 [%] 94.0 [%] 4 38.5
Gemeente Simpelveld 60 100.0 [%] 100.0 [%] 0 4.4
Gemeente Sint Anthonis 60 0.0 [%] 0.0 [%] 1 0.8
Gemeente Sint-Michielsgestel 60 98.1 [%] 96.9 [%] 10 152.5
Gemeente Sittard-Geleen 60 96.9 [%] 97.5 [%] 2 38.2
Gemeente Sliedrecht 60 100.0 [%] 100.0 [%] 0 0.2
Gemeente Sluis Z 60 96.1 [%] 90.7 [%] 8 22.2
Gemeente Smallingerland 60 97.4 [%] 97.9 [%] 9 160.5
Gemeente Soest 60 94.9 [%] 93.0 [%] 3 18.9
Gemeente Someren 60 96.3 [%] 94.3 [%] 19 139.2
Gemeente Son en Breugel 60 96.6 [%] 90.9 [%] 5 22.4
Gemeente Stadskanaal 60 100.0 [%] 100.0 [%] 0 5.2
Gemeente Staphorst 60 97.2 [%] 97.0 [%] 12 280.5
Gemeente Stede Broec 60 88.5 [%] 86.5 [%] 4 16.9
Gemeente Steenbergen 60 99.1 [%] 99.1 [%] 4 245.6
Gemeente Steenwijkerland 60 94.3 [%] 93.2 [%] 35 363.9
Gemeente Stein 60 98.2 [%] 97.2 [%] 1 29.3
Gemeente Stichtse Vecht 60 92.7 [%] 91.5 [%] 15 104.2
Gemeente Sudwest-Fryslan 60 97.4 [%] 97.9 [%] 21 536.7
Gemeente Ten Boer 60 100.0 [%] 100.0 [%] 0 0.5
Gemeente Terneuzen 60 100.0 [%] 100.0 [%] 0 35.1
Gemeente Terschelling 60 85.1 [%] 48.6 [%] 8 25.9
Gemeente Texel 60 94.9 [%] 93.7 [%] 19 199.0
Gemeente Teylingen 60 97.9 [%] 95.5 [%] 3 28.5
Gemeente Tholen 60 97.4 [%] 98.7 [%] 1 11.7
Gemeente Tiel 60 100.0 [%] 100.0 [%] 0 42.6
Gemeente Tilburg 60 97.6 [%] 96.7 [%] 18 180.0
Gemeente Tubbergen 60 96.9 [%] 95.4 [%] 24 368.8
Gemeente Twenterand 60 99.6 [%] 99.5 [%] 3 193.7
Gemeente Tynaarlo 60 94.0 [%] 92.0 [%] 25 206.0
Gemeente Tytsjerksteradiel 60 97.1 [%] 96.0 [%] 13 184.8
Gemeente Uitgeest 60 100.0 [%] 100.0 [%] 0 12.2
Gemeente Uithoorn 60 97.1 [%] 97.0 [%] 1 9.9
Gemeente Urk 60 98.0 [%] 92.6 [%] 1 5.2
Gemeente Utrecht 60 98.7 [%] 99.2 [%] 2 34.4
Gemeente Utrechtse Heuvelrug 60 91.8 [%] 86.1 [%] 34 150.6
Gemeente Vaals 60 95.2 [%] 92.6 [%] 9 63.7
Gemeente Valkenburg aan de Geul 60 93.4 [%] 92.2 [%] 5 28.1
Gemeente Valkenswaard 60 95.7 [%] 95.7 [%] 2 46.4
Gemeente Veendam 60 96.0 [%] 95.9 [%] 2 49.4
Gemeente Veenendaal 60 100.0 [%] 100.0 [%] 0 3.2
Gemeente Veere 60 98.7 [%] 94.7 [%] 1 10.8
Gemeente Veldhoven 60 92.4 [%] 88.9 [%] 6 18.7
Gemeente Velsen 60 79.8 [%] 61.9 [%] 22 20.9
Gemeente Venlo 60 97.6 [%] 96.7 [%] 16 244.4
Gemeente Venray 60 96.4 [%] 93.0 [%] 23 275.5
Gemeente Vijfheerenlanden 60 100.0 [%] 100.0 [%] 0 8.3
Gemeente Vlaardingen 60 76.0 [%] 60.3 [%] 12 5.1
Gemeente Vlieland 60 75.8 [%] 48.9 [%] 13 18.5
Gemeente Vlissingen 60 100.0 [%] 100.0 [%] 0 11.1
Gemeente Voerendaal 60 97.0 [%] 96.0 [%] 5 65.5
Gemeente Voorne aan Zee 60 97.2 [%] 95.0 [%] 3 20.7
Gemeente Voorschoten 60 100.0 [%] 100.0 [%] 0 1.1
Gemeente Voorst 60 96.0 [%] 93.9 [%] 15 205.7
Gemeente Vught 60 95.8 [%] 93.6 [%] 15 94.6
Gemeente Waadhoeke 60 97.5 [%] 97.8 [%] 16 314.6
Gemeente Waalre 60 94.7 [%] 91.1 [%] 6 32.0
Gemeente Waalwijk 60 94.4 [%] 93.1 [%] 8 84.1
Gemeente Waddinxveen 60 90.6 [%] 92.2 [%] 5 17.8
Gemeente Wageningen 60 89.2 [%] 90.1 [%] 7 29.1
Gemeente Wassenaar 60 67.6 [%] 65.0 [%] 8 9.0
Gemeente Waterland 60 100.0 [%] 100.0 [%] 0 1.3
Gemeente Weert 60 98.3 [%] 96.6 [%] 13 246.1
Gemeente Weesp 60 100.0 [%] 100.0 [%] 0 0.4
Gemeente West Betuwe 60 99.0 [%] 97.4 [%] 9 338.9
Gemeente West Maas en Waal 60 99.4 [%] 100.0 [%] 2 134.5
Gemeente Westerkwartier 60 97.8 [%] 97.4 [%] 19 390.8
Gemeente Westerveld 60 93.6 [%] 90.2 [%] 64 417.3
Gemeente Westervoort 60 100.0 [%] 100.0 [%] 0 3.4
Gemeente Westerwolde 60 98.4 [%] 98.8 [%] 1 57.8
Gemeente Westland 60 97.4 [%] 97.0 [%] 18 203.3
Gemeente Weststellingwerf 60 98.5 [%] 98.0 [%] 8 265.0
Gemeente Wierden 60 96.8 [%] 96.0 [%] 16 250.2
Gemeente Wijchen 60 95.1 [%] 93.8 [%] 18 105.9
Gemeente Wijdemeren 60 100.0 [%] 100.0 [%] 0 2.4
Gemeente Wijk bij Duurstede 60 97.9 [%] 92.7 [%] 5 77.6
Gemeente Winsum 60 100.0 [%] 100.0 [%] 0 2.8
Gemeente Winterswijk 60 96.9 [%] 95.2 [%] 28 361.5
Gemeente Woensdrecht 60 98.5 [%] 97.2 [%] 15 214.9
Gemeente Woerden 60 96.4 [%] 96.9 [%] 7 78.6
Gemeente Wormerland 60 100.0 [%] 100.0 [%] 0 0.1
Gemeente Woudenberg 60 92.8 [%] 89.7 [%] 10 46.8
Gemeente Zaanstad 60 100.0 [%] 100.0 [%] 0 18.1
Gemeente Zaltbommel 60 98.0 [%] 94.7 [%] 3 65.2
Gemeente Zandvoort 60 100.0 [%] 100.0 [%] 0 1.7
Gemeente Zeewolde 60 89.4 [%] 83.4 [%] 15 76.6
Gemeente Zeist 60 97.0 [%] 94.6 [%] 8 40.7
Gemeente Zevenaar 60 96.9 [%] 98.6 [%] 10 140.0
Gemeente Zoetermeer 60 86.7 [%] 72.3 [%] 4 2.7
Gemeente Zoeterwoude 60 93.2 [%] 86.3 [%] 3 16.8
Gemeente Zuidhorn 60 100.0 [%] 100.0 [%] 0 0.0
Gemeente Zuidplas 60 96.7 [%] 95.8 [%] 9 85.6
Gemeente Zundert 60 98.1 [%] 97.1 [%] 9 171.0
Gemeente Zutphen 60 93.9 [%] 92.9 [%] 7 31.8
Gemeente Zwartewaterland 60 93.7 [%] 93.0 [%] 8 86.0
Gemeente Zwijndrecht 60 87.5 [%] 89.1 [%] 3 2.0
Gemeente Zwolle 60 97.4 [%] 97.1 [%] 10 133.1

6.6.2 Benchmarks 60 km/u wegen per wegbeheerder categorie

In deze paragraaf worden benchmarks getoond van fietsoversteken op wegen met een limiet van 60 km/uur getoond per wegbeheerder. Let op, deze 60 wegen vallen buiten de scope van de SPI Veilige Infrastructuur - onderdeel oversteekplaatsen.

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_60$`Score kenmerk Afwezigheid oversteekplaatsen`[1]

# data per provincie per limiet
#scores_provincies_60
#scores_gemeenten_60
#scores_waterschappen_60

# Create the dropdown menu options
groepskeuzen_provincies_60 <- scores_provincies_60$Wegbeheerder
groepskeuzen_gemeenten_60 <- scores_gemeenten_60$Wegbeheerder
groepskeuzen_waterschappen_60 <- scores_waterschappen_60$Wegbeheerder

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

Benchmark provincies

# maak een benchmark grafiek voor provinciale wegbeheerders met wegen 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 gemeenten

# 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 waterschappen

# maak een benchmark grafiek voor waterschap 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

6.7 Aandachtspunten bij de SPI Veilige Infrastructuur - kenmerk Afwezigheid oversteekplaatsen

Het kenmerk geeft geen volledig beeld van de situatie van oversteekplaatsen op wegvakken.

  • Er is gesteld dat op wegen met een snelheid van 70 km/u of hoger oversteekplaatsen voor langzaam verkeer op wegvakken onwenselijk is. Echter worden 70 km/u wegen binnen de bebouwde kom vooralsnog buiten beschouwing gelaten. Deze analyse richt zich op wegen buiten de bebouwde kom.
  • 60 km/u wegen buiten de bebouwde kom zijn als extra meegenomen in de analyse en bijgevoegd in de export. Echter is de afwezigheid van oversteekplaatsen voor langzaam verkeer op wegvakken geen SPI criterium. Deze wegen zijn meegenomen in de analyse om inzichtelijk te maken waar, en hoeveel oversteekplaatsen momenteel aanwezig zijn op 60 km/u wegen buiten de kom. Deze wegen en oversteeklocaties vragen aandacht omdat de snelheidslimiet een onveilige botssnelheid is voor kwetsbare verkeersdeelnemers.
  • De aanwezigheid van oversteekplaatsen wordt beoordeeld op basis van de betrokkenheid van een wegvak bij een oversteekplaats. Met als gevolg dat een oversteekplaats op de grens van twee (rijbaan)wegvakken maakt dat beide wegvakken niet voldoen aan het SPI criterium. Een oversteekplaats middenop een wegvak heeft echter invloed op de beoordeling van slechts één wegvak. Dit tweede scenario doet zich voornamelijk voor op plekken waar het NWB wat betreft de fietsinfrastructuur nog onvolledig is. De kwaliteit van het NWB (en de ontwikkeling daarvan) is daarmee ook van invloed op het aantal wegvakken dat wordt afgekeurd aan de hand van de SPI.
  • De beoordeling van oversteeklocaties is uitgevoerd op een selectie van wegvakken die voor tenminste 50% buiten de kom liggen en waarvan de maatgevende limiet 70, 80 of 100 km/uur betreft. Dit heeft een aantal consequenties:
    • Oversteeklocaties buiten de bebouwde kom op wegvakken met een maatgevende limiet van 50 km/uur blijven buiten beschouwing. Ook als de limiet lokaal hoger is en/of gereden snelheden rond de 80 liggen zoals bij een bubeko GOW wordt verwacht.
    • Het aantal oversteeklocaties meegenomen in de beoordeling wijkt af van het aantal oversteeklocaties die in de WKD oversteekplaatsen zijn vastgelegd.
    • Er kunnen oversteeklocaties zijn meegenomen waarvan de lokale limiet lager ligt dan die voor het wegvak maatgevende limiet.
    • Een aparte telling van oversteeklocaties per wegbeheerder en limiet is uitgevoerd op het WKD oversteekplaatsen bestand. Deze aantallen wijken af van de geïdentificeerde oversteeklocaties op de voor de beoordeling geselecteerde wegvakken uit het NWB

7 Data export wegvakken

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

# sf df om te exporteren
nwb_oversteekplaatsen_export <- nwb_oversteekplaatsen2 %>%
  # toevoegen 60 km/u wegen aan de totale export
  bind_rows(nwb_oversteekplaatsen2_60kmpu) %>%
  relocate(BST_CODE, .after = GME_NAAM) %>%
  relocate(oversteekplaatsen_voldoet, oversteekplaatsen_aanwezig, .after = Snelheidslimiet) %>%
  relocate(aandeel_bubeko, lengte_limiet_aandeel, .after = oversteekplaatsen_aanwezig) 

nwb_oversteekplaatsen_export70plus <- nwb_oversteekplaatsen_export %>% filter(Snelheidslimiet != "60")
nwb_oversteekplaatsen_export60 <- nwb_oversteekplaatsen_export %>% filter(Snelheidslimiet == "60")

# names(nwb_oversteekplaatsen_export)

# Attributen tabel in tekstformat
nwb_oversteekplaatsen_export_attributentabel <- rbind( 
  c("Attribuut", "Omschrijving"),
  c("WVK_ID", "NWB variabele - Wegvak-ID: De unieke identificatie van een wegvak."), 
  c("Snelheidslimiet", "De maximum snelheid of snelheidslimiet, op basis van de WKD. Wanneer het wegvak
    meerdere limieten kent, is de limiet die toegekent die het grootste aandeel van het wegvak beslaat."),
  c("oversteekplaatsen_voldoet","Beoordeling of het wegvak voldoet aan het kenmerk 'Afwezigheid oversteekplaatsen'.
    1: voldoet, 0: voldoet niet."),
  c("oversteekplaatsen_aanwezig","Beoordeling of ergens op het wegvak één of meer oversteekplaatsen aanwezig zijn: 
    Oversteekplaats aanwezig / Oversteekplaats afwezig."),
  c("wegvaklengte","Lengte van het wegvak in meters."),
  c("aantal_oversteekplaatsen","Het totaal aantal oversteekplaatsen op het wegvak. Oversteekplaatsen kunnen aan het begin, eind of midden op een wegvak liggen. Een oversteekplaatsen kunnen aan meerdere wegvakken zijn gekoppeld."),
  c("aandeel_bubeko","Het aandeel van het wegvak dat buiten de kom ligt."),
  c("lengte_limiet_aandeel","Het aandeel van het wegvak waarvoor de toegekende snelheidslimiet geldt."),
  c("WEGBEHSRT","NWB variabele - Wegbeheerdersoort: De categorie wegbeheerder (R, P, G, W of T)."),
  c("WEGBEHNAAM","NWB variabele - Wegbeheerdernaam: De naam van de wegbeheerder van de weg."),
  c("WEGNUMMER","NWB variabele - Wegnummer: Het wegnummer zoals deze formeel is vastgelegd."),
  c("STT_NAAM","NWB variabele - Straatnaam: De straatnaam zoals in BAG wordt gehanteerd of is vastgesteld door de wegbeheerder."),
  c("WPSNAAM","NWB variabele - Woonplaats: De naam van de woonplaats zoals in BAG gehanteerd wordt."),
  c("GME_NAAM","NWB variabele - Gemeentenaam: De naam van een gemeente zoals in BAG gehanteerd wordt."),
  c("BST_CODE","NWB variabele - Baansubsoortcode: Een subtypering van een baansoort.")
  ) %>%
  as.data.frame()

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

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

# maak een scrol tabel van de attributen tabel
scroltabel_gt(nwb_oversteekplaatsen_export_attributentabel, title = "Attributen tabel SPI_kenmerkscore_oversteekplaatsen.gpkg en SPI_kenmerkscore_oversteekplaatsen.csv")
Attributen tabel SPI_kenmerkscore_oversteekplaatsen.gpkg en SPI_kenmerkscore_oversteekplaatsen.csv
Attribuut Omschrijving
WVK_ID NWB variabele - Wegvak-ID: De unieke identificatie van een wegvak.
Snelheidslimiet De maximum snelheid of snelheidslimiet, op basis van de WKD. Wanneer het wegvak meerdere limieten kent, is de limiet die toegekent die het grootste aandeel van het wegvak beslaat.
oversteekplaatsen_voldoet Beoordeling of het wegvak voldoet aan het kenmerk 'Afwezigheid oversteekplaatsen'. 1: voldoet, 0: voldoet niet.
oversteekplaatsen_aanwezig Beoordeling of ergens op het wegvak één of meer oversteekplaatsen aanwezig zijn: Oversteekplaats aanwezig / Oversteekplaats afwezig.
wegvaklengte Lengte van het wegvak in meters.
aantal_oversteekplaatsen Het totaal aantal oversteekplaatsen op het wegvak. Oversteekplaatsen kunnen aan het begin, eind of midden op een wegvak liggen. Een oversteekplaatsen kunnen aan meerdere wegvakken zijn gekoppeld.
aandeel_bubeko Het aandeel van het wegvak dat buiten de kom ligt.
lengte_limiet_aandeel Het aandeel van het wegvak waarvoor de toegekende snelheidslimiet geldt.
WEGBEHSRT NWB variabele - Wegbeheerdersoort: De categorie wegbeheerder (R, P, G, W of T).
WEGBEHNAAM NWB variabele - Wegbeheerdernaam: De naam van de wegbeheerder van de weg.
WEGNUMMER NWB variabele - Wegnummer: Het wegnummer zoals deze formeel is vastgelegd.
STT_NAAM NWB variabele - Straatnaam: De straatnaam zoals in BAG wordt gehanteerd of is vastgesteld door de wegbeheerder.
WPSNAAM NWB variabele - Woonplaats: De naam van de woonplaats zoals in BAG gehanteerd wordt.
GME_NAAM NWB variabele - Gemeentenaam: De naam van een gemeente zoals in BAG gehanteerd wordt.
BST_CODE NWB variabele - Baansubsoortcode: Een subtypering van een baansoort.

Op basis hiervan is eenvoudig te visualiseren welke wegvakken van een wegbeheerder al dan niet voldoen aan dit kenmerk. Onderstaand geven we hiervan een voorbeeld voor wegen buiten de kom met limiet 80 van de provincie Noord-Brabant.

oversteekplaatsen_NB <- nwb_oversteekplaatsen_export %>%
  filter(WEGBEHNAAM == "Noord-Brabant" & Snelheidslimiet == "80")
mapviewOptions(basemaps.color.shuffle = FALSE)
mapview(oversteekplaatsen_NB, zcol = "oversteekplaatsen_aanwezig", legend = TRUE, basemaps = c("Esri.WorldImagery"))

Wegvakken in de kaart zijn aan te klikken. Daarmee wordt de attributen tabel van het wegvak geladen en kunnen andere scores en kenmerken van het wegvak worden bekeken. De achtergrond is ook te wijzigen naar bijvoorbeeld luchtfoto’s.

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 in het csv bestand. De data in het geopackage is ‘.’ decimaalgescheiden (conform internationale standaarden).

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

# export naar geopackage
st_write(nwb_oversteekplaatsen_export70plus, here("Output", "SPI_kenmerkscore_oversteekplaatsen.gpkg"), 
         layer = "SPI_kenmerkscore_oversteekplaatsen", Append = FALSE, delete_dsn = TRUE, delete_layer = TRUE)
st_write(nwb_oversteekplaatsen_export60, here("Output", "SPI_kenmerkscore_oversteekplaatsen.gpkg"), 
         layer = "SPI_kenmerkscore_oversteekplaatsen60", Append = FALSE, delete_layer = TRUE)

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