## NULL

For BIGSSS - Segregation and Polarization.

In this section you will import and process spatial data from Statistics Netherlands. You will learn how to manipulate these data (e.g. how to convert between different coordinate reference systems; how to join spatial datasets) and how to visualise vector and raster GIS.

In doing so, you will be introduced to some definitions of “neighborhoods” that will come handy in the next sections, where we’ll use them to measure segregation.


1 Getting started

1.1 Cleaning up the local environment

rm(list = ls())
gc()
#>           used (Mb) gc trigger  (Mb) max used  (Mb)
#> Ncells 1160196 62.0    3490023 186.4  4362528 233.0
#> Vcells 1915370 14.7    9804476  74.9  8656118  66.1

1.2 General custom functions

  • fpacage.check: Check if packages are installed (and install if not) in R (source).
  • fsave: Function to save data with time stamp in correct directory
fsave <- function(x, file, location = "./data/processed/", ...) {
    if (!dir.exists(location))
        dir.create(location)
    datename <- substr(gsub("[:-]", "", Sys.time()), 1, 8)
    totalname <- paste(location, datename, file, sep = "")
    print(paste("SAVED: ", totalname, sep = ""))
    save(x, file = totalname)
}

fpackage.check <- function(packages) {
    lapply(packages, FUN = function(x) {
        if (!require(x, character.only = TRUE)) {
            install.packages(x, dependencies = TRUE)
            library(x, character.only = TRUE)
        }
    })
}

colorize <- function(x, color) {
    sprintf("<span style='color: %s;'>%s</span>", color, x)
}

1.3 Load necessary packages

packages = c("sf", "ggplot2", "ggmap", "leaflet")

fpackage.check(packages)

2 Imparting raw GIS

2.1 Download instructions

The GIS data we’ll use includes raster and vector data. Raster data gives us the position and demographic composition of each cell resulting from partitioning the map of the Netherlands with a grid - each raster cell is sized 100-by-100 meters. Vector data includes the shape of various administrative spatial units (neighbourhoods, aka buurten; districts, aka wijken; and zipcode areas).
Raster and vector data is to be downloaded from Statistics Netherlands (CBS) at the following addresses:

  • Raster data is found here. Please download the file named Statistische gegevens per vierkant 2021.
  • Vector data (neighbourhood and district shapes) is here. Please download the file “Bestand - Wijk- en Buurtkaart 2021 v1”.
  • Vector data (4-, 5- and 6-digits zipcodes) are found here. Please download these three files “Naar numerieke postcode (PC4), 2020”, “Naar numerieke postcode (PC5), 2020” and “Naar numerieke postcode (PC6), 2020”.

Please download these files, unzip them, and place the resulting folders in the folder “./data/rawGIS/”.

2.2 Creating folder

if (!dir.exists("./data/rawGIS/")) dir.create("./data/rawGIS/")

2.3 Importing data

Next we load the raw GIS data:

  • rast is where we store the rasterized demographic statistics from the CBS;
  • neighbShape is the shapefile of the administrative neighbourhoods (“buurt” in Dutch).
  • districtShape is the shapefile of the administrative districts (“wijk”)
  • postcode4Shape, postcode5Shape and postcode6Shape give us the shapes of the 4-, 5- and 6-digits postcodes.

Note: loading these datasets might take a few minutes.

Troubleshooting: if the import fails, make sure the unzipped data files are in the correct folder, ./data/rawGIS

# Loading 100m-by-100m raster data:
rast <- sf::st_read(dsn = "./data/rawGIS/2022-cbs_vk100_2021_v1/cbs_vk100_2021_v1.gpkg")


# Next we load the shapefile of the administrative neighbourhoods ('buurt') and districts ('wijk'):
neighbShape <- sf::st_read(dsn = "./data/rawGIS/WijkBuurtkaart_2021_v1", layer = "buurt_2021_v1")
districtShape <- sf::st_read(dsn = "./data/rawGIS/WijkBuurtkaart_2021_v1", layer = "wijk_2021_v1")
# ... And then the zipcode shapes:
postcode4Shape <- sf::st_read(dsn = "./data/rawGIS/CBS-PC4-2020-v1", layer = "CBS_pc4_2020_v1")
postcode5Shape <- sf::st_read(dsn = "./data/rawGIS/CBS-PC5-2020-v1", layer = "CBS_pc5_2020_v1")
postcode6Shape <- sf::st_read(dsn = "./data/rawGIS/CBS-PC6-2020-v1", layer = "CBS_pc6_2020_v1")

Concerning the raster demographics, Statistics Netherlands only provides data for raster cells that have a population of 5 or more. Uninhabited raster cells are omitted; and raster cells with 1 to 4 inhabitants are coded rast$aantal_inwoners == -99997. We need to decide how to handle raster cells with value “-99997”. We have some options as to how to do this. We could just remove these cells, since so statistics are provided anyway. Or we could mark them as NA. Or we could give them an arbitrary population size between 1 and 4.

# If we want to remove them:
rast <- rast[rast$aantal_inwoners != -99997, ]

# If we want to replace -99997 with an arbitrary integer in [1,4]:
# rast$aantal_inwoners[rast$aantal_inwoners == -99997] <- 2

# If we want to replace -99997 with NA: rast$aantal_inwoners[rast$aantal_inwoners == -99997] <- NA

2.4 Formatting coordinates

The coordinates from the raster data come in RD (“Rijksdriehoek”) format. We convert to WGS84 and extract the centroid of each raster cell.

rast <- sf::st_transform(x = rast, crs = sf::st_crs("+proj=longlat +datum=WGS84"))

rast <- sf::st_centroid(rast)

Let us make all CRS of the shape files consistent to WGS84.
Note: This may take a few minutes.

neighbShape <- sf::st_transform(x = neighbShape, crs = sf::st_crs("+proj=longlat +datum=WGS84"))
districtShape <- sf::st_transform(x = districtShape, crs = sf::st_crs("+proj=longlat +datum=WGS84"))
postcode4Shape <- sf::st_transform(x = postcode4Shape, crs = sf::st_crs("+proj=longlat +datum=WGS84"))
postcode5Shape <- sf::st_transform(x = postcode5Shape, crs = sf::st_crs("+proj=longlat +datum=WGS84"))
postcode6Shape <- sf::st_transform(x = postcode6Shape, crs = sf::st_crs("+proj=longlat +datum=WGS84"))

3 Plotting our spatial data

Here we show a few versatile ways to plot geometries on a basemap. This will come handy as a tool to visualise and inspect the data we are working with. We distinguish between interactive and static maps.

3.1 Interactive maps

Interactive maps are ones that can be zoomed in/out and scrolled around. They are most useful when plotting a large map and there is need to easily move around / zoom into specific features to see the details. Interactive maps are best used in dynamic (web)pages, e.g. Shinyapps or html, where the user can interact with them.

city <- "Delft"

# Selecting relevant districts:
shape <- districtShape[districtShape$GM_NAAM == city,]

# Assigning random colors to the districts:
shape$color <- sample(rainbow(n = nrow(shape)))

leaflet::leaflet(shape) |>
  leaflet::addTiles() |>
  leaflet::addProviderTiles(providers$Stamen.Toner) |> # Basemap style
  leaflet::addPolygons(color = ~color, fillColor = ~color, label = ~WK_NAAM)

Figure 3.1: Districts of the city Delft

##Static maps

Static maps are more convenient to export: they can be easily exported in high resolution raster images (e.g. PNG or TIFF) or as vector graphics (e.g. SVG).
We use ggplot and ggmap to plot static maps – although other options are available.
We first print the basemap. Then we then we overlay our district polygons. Finally, we add a label with the district name in the middle (centroid) of each district.

city <- "Delft"
shape <- districtShape[districtShape$GM_NAAM == city,]
shape$color <- sample(rainbow(n = nrow(shape), alpha = 1)) 

zoom = 12 # Higher values give more detailed basemaps. 12-15 usually suffice.

# extracting the coordinates
coords <- as.data.frame(sf::st_coordinates(shape))

# Downloading basemap tiles:
mapTiles <- ggmap::get_stamenmap( # Stamen Design
    bbox = c(
      left = min(coords$X),
      bottom = min(coords$Y),
      right = max(coords$X),
      top = max(coords$Y)),
    maptype = "toner-background",
    crop = FALSE, zoom = zoom
  )

# Specifying a "blank" theme for our ggplot visualisation:
mapTheme <- ggplot2::theme(
    legend.position = "bottom",
    panel.border = element_blank(),
    axis.title = element_blank(),
    axis.ticks = element_blank(),
    axis.text = element_blank()
  )

# Printing the basemap:
plot <- ggmap(mapTiles) + ggtitle(city)
print(plot + mapTheme)

# Overlaying the district shapes:
plot <- ggmap(mapTiles, darken = c(0.8, "white")) +
  ggtitle(city) + 
  geom_sf(
    data = shape, 
    aes(fill = WK_NAAM),
    color = "black",
    alpha = 0.5,
    inherit.aes = FALSE
  ) +
  coord_sf(datum = NA)

print(plot + mapTheme + theme(legend.position = "none"))

If the map doesn’t get too busy, we can also add labels with the name of each district. We need to determine where the labels should go - I’ll place them in the centroid of each district.

# 
labels <- sf::st_centroid(shape) |> sf::st_coordinates() |> as.data.frame()
labels$label <- shape$WK_NAAM
plotlabels <- geom_text(
  data = labels,
  #position = position_dodge2(0.1), # option to reduce overplotting
  aes(x = X, y = Y, label = label)
)
print(plot + plotlabels + mapTheme + theme(legend.position = "none"))

3.2 Plotting geometry characteristics

Besides plotting the “shape” of neighborhoods, cities and districts, we will be generally using maps to visualize how some attributes are distributed across these areas. The code for generating interactive and static maps can easily be adapted to this purpose. The following code, for example, plots the population density of each neighborhood of a Dutch city (variable name AANT_INW).
This time, we take care of adding a legend.

3.2.1 Solution with leaflet:

city <- "Amsterdam"
shape <- subset(
  districtShape,
  districtShape$GM_NAAM == city & districtShape$AANT_INW >= 0 # removes NA's
)
palette <- leaflet::colorNumeric(
  palette = "viridis", # or other RColorBrewer palettes e.g "Greens", "magma"
  domain = shape$AANT_INW
)

leaflet::leaflet(shape) |>
  leaflet::addTiles() |>
  leaflet::addProviderTiles(providers$Stamen.Toner) |>
  leaflet::addPolygons(color = ~palette(AANT_INW), label = ~WK_NAAM) |>
  leaflet::addLegend(
    "topleft",
    pal = palette, 
    values = ~AANT_INW,
    title = "Population",
    opacity = 1
  )

3.2.2 Solution with ggplot:

zoom = 12 # Higher values give more detailed basemaps. 12-15 usually suffice.
coords <- as.data.frame(sf::st_coordinates(shape))
mapTiles <- ggmap::get_stamenmap(
    bbox = c(
      left = min(coords$X),
      bottom = min(coords$Y),
      right = max(coords$X),
      top = max(coords$Y)),
    maptype = "toner-background",
    crop = FALSE, zoom = zoom
  )
mapTheme <- ggplot2::theme(
    legend.position = "left",
    panel.border = element_blank(),
    axis.title = element_blank(),
    axis.ticks = element_blank(),
    axis.text = element_blank()
  )
ggmap(mapTiles, darken = c(0.8, "white")) +
  ggtitle(city) + 
  geom_sf(
    data = shape, 
    aes(fill = AANT_INW),#, label = WK_NAAM),
    color = NA,
    alpha = 0.5,
    inherit.aes = FALSE
  ) +
  scale_fill_viridis_c() +
  labs(fill = "Population") +
  coord_sf(datum = NA) +
  mapTheme


4 Joining raster and higher-level polygons

Later, we will try to make a local environment for each raster cell for the calculation of segregation measures. As we will show you a bit later, it comes in handy to know to which administrative unit each raster cells belongs. Therefore, in the following we’ll join the raster data with the geometry of the different administrative regions: neighborhood (BU_CODE and BU_NAAM), district (WK_CODE), municipality (GM_CODE and GM_NAAM) and postcode (postcode). In practice, this means adding a few columns to the rast dataframe to indicate which neighborhood, district etc. the raster cell belongs to.

Note: this will take a while.

Furthermore, there seems to be a slight bug in the st_intersection function. Run this code directly in your console, not via your .rmd execute button. Make sure to set the code chunk options to ‘eval=FALSE’ before knitting.

# Adding administrative area information:
rast <- sf::st_intersection(x = sf::st_as_sf(rast), y = neighbShape, sf::sf_use_s2(FALSE)  # See https://github.com/r-spatial/sf/issues/1817
)[,
    c(1:39, 78)]  # selecting only relevant columns

# Adding postcode information:
rast <- sf::st_intersection(x = sf::st_as_sf(rast), y = postcode6Shape, sf::sf_use_s2(FALSE))[, c(1:40,
    74)]  # selecting only relevant columns

# We now have the 6-digits postcodes; the 4- and 5- digits postcodes then are:
rast$PC5 <- substr(rast$PC6, start = 1, stop = 5)
rast$PC4 <- substr(rast$PC6, start = 1, stop = 4)

4.1 Have a quick peek

kableExtra::kable(rast[1:200, ], "html") %>%
    kableExtra::kable_styling() %>%
    kableExtra::scroll_box(width = "100%", height = "300px")
crs28992res100m aantal_inwoners aantal_mannen aantal_vrouwen aantal_inwoners_0_tot_15_jaar aantal_inwoners_15_tot_25_jaar aantal_inwoners_25_tot_45_jaar aantal_inwoners_45_tot_65_jaar aantal_inwoners_65_jaar_en_ouder percentage_nederlandse_achtergrond percentage_westerse_migr_achtergr percentage_niet_westerse_migr_achtergr aantal_part_huishoudens aantal_eenpersoonshuishoudens aantal_meerpersoonshuishoudens_zonder_kind aantal_eenouderhuishoudens aantal_tweeouderhuishoudens gemiddelde_huishoudensgrootte aantal_woningen aantal_woningen_bouwjaar_voor_1945 aantal_woningen_bouwjaar_45_tot_65 aantal_woningen_bouwjaar_65_tot_75 aantal_woningen_bouwjaar_75_tot_85 aantal_woningen_bouwjaar_85_tot_95 aantal_woningen_bouwjaar_95_tot_05 aantal_woningen_bouwjaar_05_tot_15 aantal_woningen_bouwjaar_15_en_later aantal_meergezins_woningen percentage_koopwoningen percentage_huurwoningen aantal_huurwoningen_in_bezit_woningcorporaties aantal_niet_bewoonde_woningen gemiddelde_woz_waarde_woning aantal_personen_met_uitkering_onder_aowlft BU_CODE BU_NAAM WK_CODE GM_CODE GM_NAAM PC6 geom PC5 PC4
109880 E1245N4878 20 10 10 -99997 -99997 -99997 15 -99997 80 -99997 -99997 15 10 -99997 -99997 -99997 1.3 15 15 -99997 -99997 -99997 -99997 -99997 -99997 -99997 15 -99997 -99997 -99997 -99997 352 5 BU03633303 KNSM-eiland WK036333 GM0363 Amsterdam 1019BH POINT (4.940018 52.37767) 1019B 1019
109881 E1246N4878 200 110 85 10 5 60 65 55 50 30 20 130 75 45 -99997 10 1.5 130 5 -99997 -99997 -99997 25 100 -99997 -99997 130 80 20 5 5 503 10 BU03633303 KNSM-eiland WK036333 GM0363 Amsterdam 1019BH POINT (4.941487 52.37768) 1019B 1019
109882 E1247N4878 85 50 35 -99997 -99997 20 40 20 80 20 -99997 50 20 20 -99997 10 1.8 50 -99997 -99997 -99997 -99997 50 -99997 -99997 -99997 50 90 10 -99997 -99997 530 5 BU03633303 KNSM-eiland WK036333 GM0363 Amsterdam 1019BH POINT (4.942955 52.37768) 1019B 1019
103884 E1252N4902 150 75 75 20 15 50 30 40 50 20 30 90 45 25 5 10 1.7 85 -99997 -99997 85 -99997 -99997 -99997 -99997 -99997 85 80 20 -99997 5 253 10 BU03636800 Baanakkerspark Noord WK036368 GM0363 Amsterdam 1024AP POINT (4.950085 52.39928) 1024A 1024
104189 E1237N4900 110 60 55 5 15 35 20 30 50 20 30 70 40 20 5 5 1.6 70 -99997 -99997 -99997 70 -99997 -99997 -99997 -99997 70 50 40 20 5 274 10 BU03636902 Loenermark WK036369 GM0363 Amsterdam 1025SN POINT (4.928065 52.3974) 1025S 1025
104032 E1238N4901 270 145 130 25 45 95 60 40 40 20 30 180 120 35 10 15 1.5 140 -99997 -99997 -99997 140 -99997 -99997 -99997 -99997 140 40 60 50 -99997 269 35 BU03636902 Loenermark WK036369 GM0363 Amsterdam 1025SX POINT (4.929525 52.39831) 1025S 1025
102473 E1227N4912 180 85 90 40 20 85 20 5 30 10 60 85 45 10 5 25 2.1 75 -99997 -99997 -99997 10 -99997 -99997 35 30 50 70 30 10 -99997 368 10 BU03637000 Banne Zuidwest WK036370 GM0363 Amsterdam 1034AB POINT (4.913258 52.40813) 1034A 1034
102341 E1228N4913 130 55 70 -99997 -99997 25 25 75 60 10 20 90 55 35 -99997 -99997 1.4 95 -99997 -99997 -99997 -99997 -99997 -99997 95 -99997 95 20 80 65 -99997 294 15 BU03637000 Banne Zuidwest WK036370 GM0363 Amsterdam 1034AC POINT (4.914718 52.40903) 1034A 1034
103023 E1223N4908 150 50 100 -99997 -99997 -99997 10 140 80 10 10 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 10 BU03637000 Banne Zuidwest WK036370 GM0363 Amsterdam 1034XZ POINT (4.907418 52.40451) 1034X 1034
103024 E1224N4908 110 55 55 15 30 40 20 5 20 20 60 55 30 10 -99997 15 2.0 35 -99997 -99997 35 -99997 -99997 -99997 -99997 -99997 35 70 30 -99997 -99997 268 5 BU03637000 Banne Zuidwest WK036370 GM0363 Amsterdam 1034XZ POINT (4.908888 52.40452) 1034X 1034
103305 E1223N4906 10 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU03637000 Banne Zuidwest WK036370 GM0363 Amsterdam 1034XZ POINT (4.907438 52.40271) 1034X 1034
114268 E1197N4863 200 95 105 10 15 45 75 55 50 20 30 135 90 25 10 10 1.5 115 25 -99997 -99997 -99997 90 -99997 -99997 -99997 115 10 90 100 10 483 55 BU03632001 WG-terrein WK036320 GM0363 Amsterdam 1054NG POINT (4.869685 52.36391) 1054N 1054
114567 E1179N4862 115 60 55 10 15 65 20 5 40 30 30 75 40 25 -99997 5 1.5 60 -99997 -99997 60 -99997 -99997 -99997 -99997 -99997 60 60 40 -99997 -99997 422 -99997 BU03638603 Rembrandtpark Zuid WK036386 GM0363 Amsterdam 1058EM POINT (4.843271 52.36289) 1058E 1058
116396 E1175N4856 65 30 35 -99997 -99997 60 -99997 -99997 20 60 20 65 65 -99997 -99997 -99997 1.0 5 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 25 BU03638705 Schipluidenbuurt WK036387 GM0363 Amsterdam 1062HE POINT (4.837466 52.35747) 1062H 1062
116707 E1173N4855 45 25 25 -99997 -99997 45 -99997 -99997 30 50 20 35 25 10 -99997 -99997 1.3 35 -99997 -99997 -99997 -99997 -99997 -99997 -99997 35 35 -99997 100 -99997 -99997 225 -99997 BU03638705 Schipluidenbuurt WK036387 GM0363 Amsterdam 1062HE POINT (4.834541 52.35656) 1062H 1062
116709 E1175N4855 95 50 40 20 5 50 10 -99997 40 40 20 45 20 15 -99997 10 2.0 50 -99997 -99997 -99997 -99997 -99997 -99997 -99997 50 50 70 30 -99997 -99997 445 10 BU03638705 Schipluidenbuurt WK036387 GM0363 Amsterdam 1062HE POINT (4.837477 52.35657) 1062H 1062
116710 E1176N4855 60 35 25 -99997 -99997 50 5 -99997 30 50 20 45 30 15 -99997 -99997 1.3 55 -99997 -99997 -99997 -99997 -99997 -99997 -99997 50 55 60 40 -99997 10 283 -99997 BU03638705 Schipluidenbuurt WK036387 GM0363 Amsterdam 1062HE POINT (4.838945 52.35658) 1062H 1062
117018 E1170N4854 40 20 20 10 -99997 15 -99997 5 40 20 40 20 5 5 -99997 -99997 2.0 20 -99997 20 -99997 -99997 -99997 -99997 -99997 -99997 -99997 40 60 10 -99997 321 -99997 BU03638901 Jacques Veltmanbuurt WK036389 GM0363 Amsterdam 1065TT POINT (4.830149 52.35564) 1065T 1065
109513 E1154N4879 25 10 15 -99997 5 10 5 -99997 30 -99997 70 15 5 -99997 -99997 -99997 1.9 45 -99997 45 -99997 -99997 -99997 -99997 -99997 -99997 45 -99997 100 -99997 30 225 5 BU03637802 Buurt 8 WK036378 GM0363 Amsterdam 1067CA POINT (4.80637 52.37799) 1067C 1067
109821 E1154N4878 150 85 65 30 15 65 30 5 10 10 70 60 20 15 -99997 25 2.6 60 -99997 30 -99997 -99997 -99997 35 -99997 -99997 60 -99997 100 -99997 10 287 20 BU03637802 Buurt 8 WK036378 GM0363 Amsterdam 1067CA POINT (4.806382 52.37709) 1067C 1067
110442 E1145N4876 40 25 15 5 -99997 10 5 15 60 20 20 25 15 5 -99997 -99997 1.5 20 -99997 20 -99997 -99997 -99997 -99997 -99997 -99997 10 20 80 15 -99997 287 5 BU03637801 Buurt 7 WK036378 GM0363 Amsterdam 1067LJ POINT (4.793189 52.37523) 1067L 1067
109503 E1143N4879 40 20 20 10 -99997 15 5 10 30 10 60 25 10 -99997 5 -99997 1.8 20 -99997 -99997 -99997 -99997 20 -99997 -99997 -99997 20 -99997 80 15 -99997 298 10 BU03637900 Osdorper Binnenpolder WK036379 GM0363 Amsterdam 1067LJ POINT (4.790216 52.37791) 1067L 1067
109504 E1144N4879 20 5 15 5 -99997 5 -99997 -99997 60 -99997 40 5 -99997 -99997 -99997 -99997 1.8 10 -99997 -99997 -99997 -99997 10 -99997 -99997 -99997 10 -99997 80 10 -99997 329 -99997 BU03637900 Osdorper Binnenpolder WK036379 GM0363 Amsterdam 1067LJ POINT (4.791685 52.37792) 1067L 1067
117380 E1216N4853 50 30 20 -99997 10 15 10 10 70 20 10 25 10 10 -99997 5 2.0 30 30 -99997 -99997 -99997 -99997 -99997 -99997 -99997 30 30 70 -99997 10 658 5 BU03632404 Sarphatiparkbuurt WK036324 GM0363 Amsterdam 1073CT POINT (4.897678 52.35504) 1073C 1073
117696 E1216N4852 50 30 20 15 -99997 20 10 5 60 30 -99997 25 10 5 -99997 5 2.0 25 25 -99997 -99997 -99997 -99997 -99997 -99997 -99997 25 50 30 -99997 -99997 689 -99997 BU03632404 Sarphatiparkbuurt WK036324 GM0363 Amsterdam 1073CT POINT (4.897688 52.35414) 1073C 1073
122385 E1197N4834 10 5 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 5 5 -99997 -99997 -99997 1.5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU03632303 Zuidas Zuid WK036323 GM0363 Amsterdam 1082MD POINT (4.869989 52.33784) 1082M 1082
122810 E1198N4832 620 305 315 105 45 350 95 25 40 30 30 335 145 100 40 50 1.8 360 -99997 -99997 -99997 -99997 -99997 -99997 -99997 360 360 20 80 50 35 614 30 BU03632303 Zuidas Zuid WK036323 GM0363 Amsterdam 1082MK POINT (4.871477 52.33605) 1082M 1082
115860 E1272N4858 95 45 50 25 15 20 35 -99997 70 10 20 30 5 -99997 -99997 20 3.1 30 -99997 -99997 -99997 -99997 -99997 -99997 30 -99997 -99997 90 -99997 -99997 -99997 727 5 BU03633501 Steigereiland Zuid WK036335 GM0363 Amsterdam 1086ZM POINT (4.979834 52.35984) 1086Z 1086
119429 E1226N4846 35 20 15 -99997 -99997 10 5 10 60 30 10 20 10 5 -99997 -99997 1.7 15 15 -99997 -99997 -99997 -99997 -99997 -99997 -99997 15 -99997 -99997 -99997 -99997 604 -99997 BU03632701 Weesperzijde Midden/Zuid WK036327 GM0363 Amsterdam 1091ET POINT (4.912423 52.34881) 1091E 1091
111991 E1262N4871 30 5 25 -99997 25 10 -99997 -99997 20 40 40 30 30 -99997 -99997 -99997 1.0 30 -99997 -99997 -99997 -99997 -99997 -99997 -99997 30 30 -99997 100 -99997 -99997 148 -99997 BU03633405 RI Oost terrein WK036334 GM0363 Amsterdam 1095MS POINT (4.965043 52.37147) 1095M 1095
111992 E1263N4871 390 180 210 75 130 130 45 15 40 20 50 240 155 15 35 30 1.6 245 -99997 -99997 -99997 -99997 -99997 -99997 -99997 245 245 10 90 70 10 275 50 BU03633405 RI Oost terrein WK036334 GM0363 Amsterdam 1095MS POINT (4.966512 52.37148) 1095M 1095
112264 E1263N4870 20 10 15 -99997 10 5 -99997 -99997 30 -99997 50 15 10 -99997 -99997 -99997 1.6 15 -99997 -99997 -99997 -99997 -99997 -99997 10 -99997 15 -99997 -99997 -99997 -99997 85 -99997 BU03633405 RI Oost terrein WK036334 GM0363 Amsterdam 1095MS POINT (4.96652 52.37058) 1095M 1095
112265 E1264N4870 260 120 135 75 25 85 65 10 40 10 60 115 45 10 35 25 2.1 120 -99997 -99997 -99997 -99997 -99997 -99997 -99997 120 120 20 80 95 -99997 375 70 BU03633405 RI Oost terrein WK036334 GM0363 Amsterdam 1095MS POINT (4.967988 52.37059) 1095M 1095
127318 E1255N4809 30 15 15 -99997 -99997 15 5 5 -99997 -99997 70 25 20 -99997 -99997 -99997 1.3 10 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 10 -99997 -99997 -99997 -99997 231 10 BU03639304 Amsterdamse Poort WK036393 GM0363 Amsterdam 1102BC POINT (4.955307 52.31572) 1102B 1102
127946 E1256N4806 230 95 135 55 30 45 60 45 10 10 80 110 50 15 35 10 2.1 100 -99997 -99997 100 -99997 -99997 -99997 -99997 -99997 100 -99997 100 100 -99997 225 55 BU03639306 Rechte H-buurt WK036393 GM0363 Amsterdam 1102CM POINT (4.9568 52.31302) 1102C 1102
126348 E1257N4814 370 185 185 105 80 100 70 15 10 10 80 160 80 15 30 35 2.3 115 -99997 -99997 90 -99997 -99997 -99997 20 -99997 90 20 80 80 -99997 264 65 BU03639303 F-buurt WK036393 GM0363 Amsterdam 1102JW POINT (4.958197 52.32022) 1102J 1102
126349 E1258N4814 40 15 25 10 5 10 15 -99997 20 -99997 70 15 -99997 -99997 -99997 5 2.8 15 -99997 -99997 -99997 -99997 -99997 -99997 15 -99997 -99997 90 -99997 -99997 -99997 327 -99997 BU03639303 F-buurt WK036393 GM0363 Amsterdam 1102JW POINT (4.959664 52.32022) 1102J 1102
131583 E1259N4791 155 70 90 -99997 -99997 -99997 20 135 30 10 60 145 135 10 -99997 -99997 1.1 155 -99997 -99997 -99997 155 -99997 -99997 -99997 -99997 155 -99997 100 155 5 138 25 BU03639600 Holendrecht West WK036396 GM0363 Amsterdam 1106SJ POINT (4.961328 52.29956) 1106S 1106
95511 E1358N4968 50 25 25 -99997 5 10 20 10 100 -99997 -99997 20 5 10 -99997 5 2.3 25 20 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 266 -99997 BU08520200 Havenbuurt en Kerkbuurt WK085202 GM0852 Waterland 1156AP POINT (5.105453 52.45907) 1156A 1156
121948 E1135N4836 115 55 60 20 10 55 30 -99997 70 20 10 60 25 20 10 10 2.0 60 -99997 60 -99997 -99997 -99997 -99997 -99997 -99997 55 70 30 -99997 -99997 256 10 BU03940553 Badhoevedorp West WK039405 GM0394 Haarlemmermeer 1171BA POINT (4.778998 52.33921) 1171B 1171
126886 E1195N4811 95 40 50 30 15 15 25 5 40 30 30 25 -99997 -99997 -99997 20 3.7 25 -99997 25 -99997 -99997 -99997 -99997 -99997 -99997 -99997 90 -99997 -99997 -99997 626 -99997 BU03620102 Randwijck Oost WK036201 GM0362 Amstelveen 1181CK POINT (4.867297 52.31716) 1181C 1181
133588 E1197N4784 45 25 15 5 -99997 35 -99997 -99997 -99997 40 60 30 20 5 -99997 -99997 1.5 25 -99997 -99997 25 -99997 -99997 -99997 -99997 -99997 25 -99997 -99997 -99997 25 193 -99997 BU03620901 Langerhuize WK036209 GM0362 Amstelveen 1186AC POINT (4.870512 52.29291) 1186A 1186
152537 E1402N4708 80 50 30 -99997 15 45 10 5 60 30 10 60 50 10 -99997 -99997 1.2 55 50 -99997 -99997 -99997 -99997 -99997 -99997 5 55 -99997 100 -99997 5 181 5 BU04020101 Centrum WK040201 GM0402 Hilversum 1211BN POINT (5.171328 52.22553) 1211B 1211
152535 E1400N4708 80 40 40 10 20 5 30 10 90 10 -99997 30 5 10 -99997 10 2.7 30 25 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 90 -99997 -99997 -99997 874 -99997 BU04020201 Boomberg WK040202 GM0402 Hilversum 1217RJ POINT (5.1684 52.22552) 1217R 1217
104576 E1482N4898 80 35 45 10 -99997 20 20 25 70 -99997 30 45 20 15 5 5 1.7 50 -99997 -99997 -99997 -99997 -99997 -99997 50 -99997 40 90 -99997 -99997 -99997 210 5 BU00340310 Indischebuurt WK003403 GM0034 Almere 1335HJ POINT (5.288033 52.39645) 1335H 1335
104403 E1483N4899 120 45 75 10 -99997 20 15 75 70 20 20 80 55 20 -99997 5 1.5 75 -99997 -99997 -99997 -99997 -99997 40 35 -99997 60 10 90 60 -99997 210 5 BU00340310 Indischebuurt WK003403 GM0034 Almere 1335HN POINT (5.2895 52.39735) 1335H 1335
105586 E1482N4893 15 5 10 -99997 -99997 -99997 5 -99997 40 40 -99997 5 -99997 -99997 -99997 -99997 2.3 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU00340309 Regenboogbuurt WK003403 GM0034 Almere 1339GA POINT (5.288043 52.39196) 1339G 1339
105826 E1485N4892 15 10 5 -99997 -99997 5 -99997 -99997 100 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU00340309 Regenboogbuurt WK003403 GM0034 Almere 1339GA POINT (5.292452 52.39106) 1339G 1339
106074 E1486N4891 25 10 15 -99997 5 -99997 10 -99997 50 -99997 30 5 -99997 -99997 -99997 5 3.4 5 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 357 -99997 BU00340309 Regenboogbuurt WK003403 GM0034 Almere 1339GA POINT (5.293923 52.39016) 1339G 1339
106325 E1487N4890 30 15 15 -99997 5 -99997 15 -99997 70 -99997 30 10 -99997 5 -99997 5 2.7 10 -99997 -99997 -99997 -99997 -99997 10 -99997 -99997 -99997 100 -99997 -99997 -99997 362 -99997 BU00340309 Regenboogbuurt WK003403 GM0034 Almere 1339GA POINT (5.295394 52.38927) 1339G 1339
106326 E1488N4890 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU00340309 Regenboogbuurt WK003403 GM0034 Almere 1339GA POINT (5.296863 52.38927) 1339G 1339
119993 E1387N4844 80 40 40 15 10 30 15 5 20 10 70 35 15 -99997 5 10 2.2 30 -99997 -99997 -99997 -99997 -99997 -99997 30 -99997 5 30 70 15 -99997 350 5 BU00340401 Europakwartier west WK003404 GM0034 Almere 1363BL POINT (5.14872 52.34772) 1363B 1363
141024 E1407N4753 55 25 25 -99997 5 15 25 5 90 10 -99997 40 30 5 -99997 -99997 1.4 40 -99997 40 -99997 -99997 -99997 -99997 -99997 -99997 35 80 20 -99997 -99997 237 -99997 BU19420207 Midden Eng-Oost WK194202 GM1942 Gooise Meren 1403TZ POINT (5.178456 52.26599) 1403T 1403
133563 E1163N4784 20 10 10 -99997 -99997 5 -99997 5 90 -99997 -99997 10 -99997 -99997 -99997 -99997 2.0 10 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 80 -99997 -99997 -99997 324 -99997 BU03580206 Schinkelpolder WK035802 GM0358 Aalsmeer 1432BM POINT (4.820677 52.29268) 1432B 1432
88743 E1254N5017 30 15 15 -99997 -99997 5 10 10 80 -99997 -99997 15 5 5 -99997 -99997 1.9 15 -99997 -99997 -99997 -99997 -99997 -99997 -99997 15 -99997 90 -99997 -99997 -99997 261 -99997 BU04390103 Zuiderpolder WK043901 GM0439 Purmerend 1441HG POINT (4.952009 52.50265) 1441H 1441
89149 E1251N5015 150 75 75 25 20 30 55 25 90 0 0 60 10 25 10 15 2.5 55 -99997 -99997 -99997 -99997 55 -99997 -99997 -99997 -99997 80 20 10 -99997 282 10 BU04390103 Zuiderpolder WK043901 GM0439 Purmerend 1441HG POINT (4.947608 52.50083) 1441H 1441
89150 E1252N5015 35 20 20 -99997 -99997 5 15 10 90 -99997 -99997 15 -99997 10 -99997 -99997 2.2 15 -99997 15 -99997 -99997 -99997 -99997 -99997 -99997 -99997 70 30 5 -99997 294 -99997 BU04390103 Zuiderpolder WK043901 GM0439 Purmerend 1441HG POINT (4.949081 52.50084) 1441H 1441
89362 E1251N5014 45 25 20 5 5 5 20 10 90 -99997 -99997 20 -99997 10 -99997 5 2.4 20 -99997 -99997 -99997 -99997 20 -99997 -99997 -99997 -99997 90 -99997 -99997 -99997 286 -99997 BU04390103 Zuiderpolder WK043901 GM0439 Purmerend 1441HG POINT (4.947617 52.49993) 1441H 1441
89363 E1252N5014 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04390103 Zuiderpolder WK043901 GM0439 Purmerend 1441HG POINT (4.94909 52.49994) 1441H 1441
84006 E1263N5043 25 10 10 -99997 -99997 15 -99997 -99997 50 -99997 40 20 15 -99997 -99997 -99997 1.3 20 -99997 -99997 -99997 20 -99997 -99997 -99997 -99997 20 -99997 80 -99997 -99997 168 5 BU04390204 Overwhere-Noord WK043902 GM0439 Purmerend 1444WN POINT (4.96504 52.52606) 1444W 1444
84005 E1262N5043 210 100 110 20 35 70 60 25 50 10 30 120 65 20 25 15 1.8 120 -99997 -99997 -99997 120 -99997 -99997 -99997 -99997 120 30 70 -99997 5 189 30 BU04390204 Overwhere-Noord WK043902 GM0439 Purmerend 1444WR POINT (4.963566 52.52605) 1444W 1444
91306 E1263N5005 20 10 10 -99997 -99997 -99997 10 -99997 100 -99997 -99997 10 -99997 -99997 -99997 -99997 2.6 10 -99997 -99997 -99997 -99997 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 292 -99997 BU04390602 Purmer-Zuid/Zuid WK043906 GM0439 Purmerend 1447GX POINT (4.965366 52.49191) 1447G 1447
91466 E1263N5004 120 40 80 -99997 -99997 -99997 20 90 80 10 10 90 70 20 -99997 -99997 1.3 90 -99997 -99997 -99997 -99997 90 -99997 -99997 -99997 85 10 90 85 -99997 214 15 BU04390602 Purmer-Zuid/Zuid WK043906 GM0439 Purmerend 1447GX POINT (4.965375 52.49101) 1447G 1447
91468 E1265N5004 50 25 25 -99997 10 10 15 15 90 -99997 -99997 20 -99997 10 -99997 5 2.4 20 -99997 -99997 -99997 -99997 20 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 346 -99997 BU04390602 Purmer-Zuid/Zuid WK043906 GM0439 Purmerend 1447GX POINT (4.968319 52.49102) 1447G 1447
98846 E1168N4943 60 25 40 -99997 -99997 -99997 5 50 90 -99997 10 40 20 15 -99997 -99997 1.5 40 -99997 -99997 -99997 -99997 40 -99997 -99997 -99997 40 -99997 100 -99997 -99997 246 5 BU04792130 Het Eiland WK047921 GM0479 Zaanstad 1506PB POINT (4.826202 52.43561) 1506P 1506
98960 E1169N4942 60 35 30 10 10 10 25 5 60 30 10 25 5 5 -99997 10 2.7 20 -99997 -99997 -99997 -99997 10 10 -99997 -99997 -99997 90 -99997 -99997 -99997 424 -99997 BU04792130 Het Eiland WK047921 GM0479 Zaanstad 1506PB POINT (4.827684 52.43472) 1506P 1506
93873 E1174N4980 45 20 25 -99997 -99997 10 15 15 80 10 -99997 30 20 5 -99997 -99997 1.4 30 -99997 -99997 -99997 30 -99997 -99997 -99997 -99997 30 40 60 10 -99997 216 5 BU04791610 Kalf WK047916 GM0479 Zaanstad 1509ED POINT (4.83461 52.4689) 1509E 1509
69001 E1342N5200 100 50 50 30 10 25 20 15 80 10 10 35 -99997 10 5 15 2.9 35 -99997 -99997 -99997 30 -99997 -99997 -99997 -99997 -99997 40 60 20 -99997 220 10 BU04053002 Zwaag - Buurt 30 02 WK040530 GM0405 Hoorn 1689BA POINT (5.080466 52.66751) 1689B 1689
69212 E1341N5199 50 25 25 10 -99997 10 10 20 90 -99997 -99997 25 10 5 -99997 5 2.0 25 -99997 -99997 -99997 10 -99997 15 -99997 -99997 15 50 50 10 -99997 231 -99997 BU04053002 Zwaag - Buurt 30 02 WK040530 GM0405 Hoorn 1689BK POINT (5.078994 52.66661) 1689B 1689
70163 E1177N5194 50 25 25 5 5 10 15 10 100 -99997 -99997 20 -99997 10 -99997 5 2.5 20 -99997 -99997 20 -99997 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 306 -99997 BU03980601 Bomenbuurt WK039806 GM0398 Heerhugowaard 1702XC POINT (4.836629 52.66124) 1702X 1702
70162 E1176N5194 30 15 10 10 -99997 5 5 5 90 -99997 -99997 10 -99997 -99997 -99997 5 2.5 10 -99997 -99997 10 -99997 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 298 -99997 BU03981000 Molenwijk WK039810 GM0398 Heerhugowaard 1702XC POINT (4.835151 52.66124) 1702X 1702
70339 E1177N5193 20 10 10 -99997 -99997 -99997 -99997 10 90 -99997 -99997 10 -99997 -99997 -99997 -99997 1.9 10 -99997 -99997 10 -99997 -99997 -99997 -99997 -99997 -99997 90 -99997 -99997 -99997 323 -99997 BU03981000 Molenwijk WK039810 GM0398 Heerhugowaard 1702XC POINT (4.83664 52.66034) 1702X 1702
68952 E1169N5200 50 20 30 -99997 -99997 -99997 -99997 45 80 10 10 30 25 -99997 -99997 -99997 1.2 50 -99997 -99997 -99997 -99997 -99997 50 -99997 -99997 50 10 90 30 10 225 -99997 BU03980901 Stadshart WK039809 GM0398 Heerhugowaard 1703DZ POINT (4.824736 52.66658) 1703D 1703
69960 E1166N5195 70 35 35 10 10 15 10 25 90 -99997 10 30 -99997 15 -99997 10 2.5 30 -99997 -99997 -99997 30 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 268 -99997 BU03980800 Edelstenenwijk WK039808 GM0398 Heerhugowaard 1703EP POINT (4.820359 52.66206) 1703E 1703
69568 E1170N5197 55 25 30 -99997 -99997 5 -99997 45 90 10 -99997 35 15 15 -99997 -99997 1.6 35 -99997 -99997 -99997 -99997 20 -99997 15 -99997 35 30 70 -99997 -99997 276 -99997 BU03980901 Stadshart WK039809 GM0398 Heerhugowaard 1703SC POINT (4.826248 52.66389) 1703S 1703
67708 E1160N5207 25 15 10 5 -99997 10 5 -99997 70 -99997 -99997 10 -99997 -99997 -99997 5 3.1 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 509 -99997 BU03981900 Broekhorn WK039819 GM0398 Heerhugowaard 1704MX POINT (4.81135 52.67281) 1704M 1704
67879 E1160N5206 25 10 10 10 -99997 10 -99997 -99997 100 -99997 -99997 5 -99997 -99997 -99997 5 3.3 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 430 -99997 BU03981900 Broekhorn WK039819 GM0398 Heerhugowaard 1704MX POINT (4.811362 52.67191) 1704M 1704
67880 E1161N5206 25 15 10 10 -99997 10 -99997 -99997 100 -99997 -99997 5 -99997 -99997 -99997 5 3.7 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU03981900 Broekhorn WK039819 GM0398 Heerhugowaard 1704MX POINT (4.81284 52.67191) 1704M 1704
67883 E1164N5206 85 45 40 15 10 30 25 -99997 90 10 -99997 35 10 10 -99997 15 2.5 35 -99997 -99997 -99997 -99997 -99997 -99997 -99997 35 -99997 100 -99997 -99997 -99997 320 -99997 BU03981900 Broekhorn WK039819 GM0398 Heerhugowaard 1704MX POINT (4.817275 52.67194) 1704M 1704
52205 E1153N5348 75 35 40 20 5 25 10 15 90 -99997 10 30 5 10 5 10 2.6 30 -99997 -99997 30 -99997 -99997 -99997 -99997 -99997 -99997 70 30 -99997 -99997 227 -99997 BU04411005 Groeneweg-Noord WK044110 GM0441 Schagen 1741WS POINT (4.799306 52.79946) 1741W 1741
62962 E1113N5243 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04410590 Buitengebied Warmenhuizen WK044105 GM0441 Schagen 1749AZ POINT (4.741391 52.7048) 1749A 1749
63383 E1114N5240 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04410590 Buitengebied Warmenhuizen WK044105 GM0441 Schagen 1749AZ POINT (4.74291 52.70211) 1749A 1749
63532 E1119N5239 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04410590 Buitengebied Warmenhuizen WK044105 GM0441 Schagen 1749AZ POINT (4.75032 52.70125) 1749A 1749
63687 E1124N5238 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04410590 Buitengebied Warmenhuizen WK044105 GM0441 Schagen 1749AZ POINT (4.75773 52.70039) 1749A 1749
48653 E1308N5410 100 30 70 -99997 -99997 15 -99997 80 90 10 -99997 65 55 15 -99997 -99997 1.2 100 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 95 20 80 75 10 177 5 BU19110701 Wieringerwerf Centrum WK191107 GM1911 Hollands Kroon 1771CA POINT (5.028666 52.85609) 1771C 1771
48760 E1308N5409 15 -99997 10 -99997 -99997 -99997 -99997 15 100 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 20 -99997 -99997 -99997 -99997 -99997 20 -99997 -99997 20 -99997 -99997 -99997 5 -99997 -99997 BU19110701 Wieringerwerf Centrum WK191107 GM1911 Hollands Kroon 1771CA POINT (5.028674 52.85519) 1771C 1771
44642 E1263N5466 45 25 20 5 -99997 20 5 10 70 20 -99997 25 10 5 -99997 5 2.0 25 15 -99997 -99997 5 -99997 -99997 -99997 -99997 10 60 40 -99997 -99997 173 5 BU19110501 Hippolytushoef Centrum (woonkern) WK191105 GM1911 Hollands Kroon 1777CA POINT (4.961369 52.90619) 1777C 1777
43395 E1295N5495 15 10 10 -99997 -99997 -99997 10 5 80 -99997 -99997 10 5 -99997 -99997 -99997 1.6 10 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 80 -99997 -99997 -99997 196 -99997 BU19110602 Oosterland WK191106 GM1911 Hollands Kroon 1779GD POINT (5.008705 52.93241) 1779G 1779
43396 E1296N5495 20 10 10 -99997 -99997 -99997 5 10 90 -99997 -99997 10 -99997 5 -99997 -99997 2.1 10 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 80 -99997 -99997 -99997 -99997 -99997 BU19110602 Oosterland WK191106 GM1911 Hollands Kroon 1779GD POINT (5.010192 52.93242) 1779G 1779
32548 E1167N5619 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04480007 Verspreide huizen Op Het Oude Land WK044800 GM0448 Texel 1791LK POINT (4.816889 53.04308) 1791L 1791
34653 E1122N5590 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04480008 Verspreide huizen De Kuil, Hoornder Nieuwland WK044800 GM0448 Texel 1797SB POINT (4.750179 53.01669) 1797S 1797
75911 E1120N5143 85 45 40 15 15 25 20 5 20 10 70 40 15 -99997 10 10 2.3 40 -99997 40 -99997 -99997 -99997 -99997 -99997 -99997 40 -99997 100 -99997 -99997 146 15 BU03610302 Overdie-Oost WK036103 GM0361 Alkmaar 1813LW POINT (4.753045 52.61499) 1813L 1813
75459 E1108N5148 40 15 20 -99997 -99997 -99997 5 30 90 -99997 -99997 25 10 15 -99997 -99997 1.6 25 -99997 -99997 -99997 -99997 -99997 -99997 25 -99997 25 90 -99997 -99997 -99997 278 -99997 BU03610100 Kooimeer WK036101 GM0361 Alkmaar 1814GR POINT (4.735261 52.61939) 1814G 1814
75458 E1107N5148 90 55 40 10 15 15 30 20 80 10 10 40 10 10 -99997 15 2.4 40 10 -99997 -99997 -99997 -99997 20 10 -99997 15 100 -99997 -99997 5 337 10 BU03610109 Burgemeesterskwartier WK036101 GM0361 Alkmaar 1814GR POINT (4.733785 52.61938) 1814G 1814
74404 E1099N5161 80 35 45 -99997 10 20 30 20 80 10 10 55 35 15 5 -99997 1.5 55 -99997 -99997 55 -99997 -99997 -99997 -99997 -99997 50 60 40 -99997 -99997 184 -99997 BU03610400 De Hoef III en IV WK036104 GM0361 Alkmaar 1816NK POINT (4.721796 52.631) 1816N 1816
74252 E1098N5163 140 60 75 -99997 -99997 10 50 80 70 10 10 125 110 10 -99997 -99997 1.1 130 -99997 5 120 -99997 -99997 -99997 -99997 -99997 120 0 100 -99997 -99997 147 30 BU03610401 De Hoef I en II WK036104 GM0361 Alkmaar 1816PL POINT (4.720291 52.63279) 1816P 1816
74180 E1126N5164 155 70 85 40 25 40 45 10 50 10 40 70 25 10 25 10 2.2 70 -99997 -99997 70 -99997 -99997 -99997 -99997 -99997 70 -99997 100 -99997 -99997 168 40 BU03610204 Oudorperpolder-Zuid WK036102 GM0361 Alkmaar 1823VE POINT (4.761635 52.63391) 1823V 1823
74280 E1126N5163 105 40 65 25 20 20 30 15 40 10 50 50 25 5 15 5 2.1 50 -99997 -99997 50 -99997 -99997 -99997 -99997 -99997 50 -99997 100 -99997 -99997 168 30 BU03610204 Oudorperpolder-Zuid WK036102 GM0361 Alkmaar 1823VE POINT (4.761648 52.63301) 1823V 1823
74279 E1125N5163 75 30 40 15 10 20 20 10 50 10 40 35 15 5 10 5 2.1 35 -99997 -99997 35 -99997 -99997 -99997 -99997 -99997 35 -99997 100 -99997 -99997 169 15 BU03610204 Oudorperpolder-Zuid WK036102 GM0361 Alkmaar 1823XL POINT (4.760171 52.633) 1823X 1823
74179 E1125N5164 145 65 85 20 15 35 30 50 50 20 30 80 40 20 15 10 1.8 80 -99997 -99997 80 -99997 -99997 -99997 -99997 -99997 80 -99997 100 80 -99997 169 30 BU03610204 Oudorperpolder-Zuid WK036102 GM0361 Alkmaar 1823XR POINT (4.760158 52.6339) 1823X 1823
72554 E1125N5178 55 30 30 10 5 20 15 10 60 10 20 35 20 5 5 -99997 1.7 30 -99997 -99997 -99997 30 -99997 -99997 -99997 -99997 15 40 60 20 -99997 198 10 BU03610503 Huiswaard-2-Oost WK036105 GM0361 Alkmaar 1824KB POINT (4.759979 52.64648) 1824K 1824
87825 E1067N5022 45 15 25 -99997 -99997 -99997 5 35 90 -99997 -99997 25 15 10 -99997 -99997 1.6 25 -99997 -99997 -99997 -99997 25 -99997 -99997 -99997 25 -99997 -99997 -99997 -99997 221 -99997 BU03960801 Verzetstrijdersbuurt WK039608 GM0396 Heemskerk 1965EA POINT (4.676549 52.50581) 1965E 1965
87826 E1068N5022 55 20 35 10 -99997 20 10 15 80 10 10 25 5 10 -99997 5 2.2 25 -99997 -99997 -99997 -99997 -99997 -99997 20 5 20 30 70 20 -99997 339 -99997 BU03960802 Beijerlust WK039608 GM0396 Heemskerk 1965EA POINT (4.678022 52.50582) 1965E 1965
88020 E1067N5021 20 10 10 -99997 -99997 -99997 5 15 90 -99997 -99997 10 5 5 -99997 -99997 1.6 10 -99997 -99997 -99997 -99997 10 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 490 -99997 BU03960802 Beijerlust WK039608 GM0396 Heemskerk 1965EA POINT (4.676564 52.50491) 1965E 1965
88022 E1069N5021 10 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU03960802 Beijerlust WK039608 GM0396 Heemskerk 1965EA POINT (4.679509 52.50493) 1965E 1965
95955 E1034N4964 80 35 40 10 5 15 25 25 90 10 -99997 35 10 20 -99997 5 2.1 30 10 5 -99997 -99997 -99997 15 -99997 -99997 10 90 -99997 -99997 -99997 379 5 BU04530201 Vogelbuurt WK045302 GM0453 Velsen 1971JR POINT (4.628844 52.45338) 1971J 1971
95953 E1032N4964 50 20 25 5 -99997 15 10 15 90 -99997 -99997 35 25 -99997 -99997 -99997 1.5 35 -99997 35 -99997 -99997 -99997 -99997 -99997 -99997 35 -99997 100 -99997 -99997 154 5 BU04530202 Bomenbuurt WK045302 GM0453 Velsen 1971JR POINT (4.625902 52.45337) 1971J 1971
97616 E1074N4952 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 1.4 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU04530901 Zuid-Spaarndammerpolder WK045309 GM0453 Velsen 1981LN POINT (4.687854 52.44296) 1981L 1981
98944 E1055N4942 60 30 30 -99997 15 20 20 -99997 90 -99997 -99997 30 10 10 5 -99997 1.9 30 -99997 -99997 -99997 -99997 30 -99997 -99997 -99997 30 -99997 90 -99997 -99997 292 5 BU04530805 Bastionbuurt WK045308 GM0453 Velsen 1991WE POINT (4.66006 52.43381) 1991W 1991
114216 E1050N4863 70 35 35 -99997 10 50 5 -99997 70 10 20 45 20 20 -99997 -99997 1.6 45 -99997 -99997 -99997 -99997 45 -99997 -99997 -99997 45 -99997 100 -99997 -99997 218 -99997 BU03921901 Romolenpolder-oost WK039219 GM0392 Haarlem 2035VS POINT (4.653884 52.36277) 2035V 2035
121183 E1038N4839 10 5 5 -99997 -99997 -99997 -99997 10 90 -99997 -99997 5 -99997 -99997 -99997 -99997 1.7 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU03970001 Oude Dorp, Indische buurt en omgeving WK039700 GM0397 Heemstede 2102LX POINT (4.636633 52.34109) 2102L 2102
121184 E1039N4839 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU03970001 Oude Dorp, Indische buurt en omgeving WK039700 GM0397 Heemstede 2102LX POINT (4.6381 52.3411) 2102L 2102
145824 E0982N4734 120 50 65 15 5 30 40 30 60 10 30 75 50 10 10 5 1.6 75 -99997 -99997 75 -99997 -99997 -99997 -99997 -99997 75 -99997 100 75 -99997 199 30 BU05530304 Schildersbuurt WK055303 GM0553 Lisse 2162EH POINT (4.556232 52.24617) 2162E 2162
150165 E0902N4717 85 40 50 -99997 -99997 -99997 30 55 90 10 -99997 65 45 20 -99997 -99997 1.3 65 -99997 -99997 -99997 -99997 65 -99997 -99997 -99997 50 70 30 20 -99997 285 5 BU05750104 Vinkeveld Noord WK057501 GM0575 Noordwijk 2201GL POINT (4.439431 52.23001) 2201G 2201
206570 E0804N4496 25 15 15 5 -99997 10 10 -99997 50 -99997 30 10 -99997 -99997 -99997 5 2.7 15 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 -99997 50 50 -99997 -99997 522 5 BU06030852 Strijp WK060308 GM0603 Rijswijk 2285JJ POINT (4.300848 52.03017) 2285J 2285
169538 E0943N4638 170 80 90 15 35 55 45 20 70 10 20 105 65 25 5 10 1.6 105 15 10 -99997 80 -99997 -99997 -99997 -99997 90 10 90 80 10 245 30 BU05460107 Havenwijk-Zuid WK054601 GM0546 Leiden 2312XC POINT (4.50085 52.15948) 2312X 2312
170048 E0955N4636 75 35 40 5 -99997 15 30 20 60 30 10 40 15 20 -99997 5 1.8 40 -99997 -99997 -99997 40 -99997 -99997 -99997 -99997 40 90 10 -99997 -99997 365 -99997 BU05460409 Waardeiland WK054604 GM0546 Leiden 2314EH POINT (4.51842 52.15782) 2314E 2314
165625 E0942N4656 5 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 5 -99997 -99997 -99997 1.2 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU05460800 Slaaghwijk WK054608 GM0546 Leiden 2318BZ POINT (4.499066 52.17565) 2318B 2318
173859 E0937N4620 230 105 125 10 80 115 20 -99997 70 20 20 175 130 30 -99997 10 1.3 175 -99997 -99997 -99997 -99997 -99997 -99997 -99997 175 175 40 60 -99997 -99997 213 5 BU05460406 Cronestein WK054604 GM0546 Leiden 2321KL POINT (4.492406 52.14324) 2321K 2321
168054 E0961N4644 50 20 30 -99997 -99997 -99997 15 30 70 -99997 30 30 15 10 -99997 5 1.8 30 -99997 -99997 5 5 15 -99997 -99997 -99997 20 -99997 -99997 -99997 -99997 249 -99997 BU05470200 Buitenhof-Oost-Zuid WK054702 GM0547 Leiderdorp 2353GJ POINT (4.527048 52.16507) 2353G 2353
168055 E0962N4644 110 40 75 -99997 5 5 20 75 80 0 20 80 60 15 -99997 -99997 1.4 80 -99997 -99997 -99997 10 70 -99997 -99997 -99997 70 -99997 100 80 -99997 218 15 BU05470200 Buitenhof-Oost-Zuid WK054702 GM0547 Leiderdorp 2353GJ POINT (4.52851 52.16508) 2353G 2353
173427 E1064N4622 155 85 70 15 15 70 25 30 60 20 20 95 55 30 10 5 1.6 95 -99997 -99997 95 -99997 -99997 -99997 -99997 -99997 95 20 80 15 -99997 171 20 BU04840303 Ericapark WK048403 GM0484 Alphen aan den Rijn 2403CT POINT (4.677896 52.1463) 2403C 2403
154177 E1124N4702 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU05690109 Verspreide huizen in het Noorden WK056901 GM0569 Nieuwkoop 2441GA POINT (4.764547 52.21869) 2441G 2441
154767 E1118N4700 10 5 5 -99997 -99997 -99997 -99997 5 90 -99997 -99997 5 -99997 -99997 -99997 -99997 1.6 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 385 -99997 BU05690109 Verspreide huizen in het Noorden WK056901 GM0569 Nieuwkoop 2441GA POINT (4.755793 52.21685) 2441G 2441
153914 E1043N4703 10 10 -99997 5 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 490 -99997 BU18840001 Oude Wetering WK188400 GM1884 Kaag en Braassem 2451VZ POINT (4.646009 52.21891) 2451V 2451
154174 E1043N4702 5 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU18840001 Oude Wetering WK188400 GM1884 Kaag en Braassem 2451VZ POINT (4.646024 52.21801) 2451V 2451
191862 E0819N4548 230 110 120 40 30 50 60 45 30 10 60 115 60 20 20 20 2.0 105 5 -99997 -99997 100 -99997 -99997 -99997 -99997 90 -99997 100 105 -99997 221 45 BU05182813 Uilebomen WK051828 GM0518 ’s-Gravenhage 2511XM POINT (4.321591 52.0771) 2511X 2511
194767 E0802N4540 300 160 140 55 50 90 80 25 0 20 80 125 55 15 5 45 2.4 95 20 -99997 -99997 20 -99997 55 -99997 -99997 95 50 50 20 -99997 195 60 BU05182915 Schildersbuurt-West WK051829 GM0518 ’s-Gravenhage 2512RB POINT (4.296972 52.06969) 2512R 2512
191139 E0805N4550 175 90 85 15 15 60 60 25 50 20 30 110 65 25 10 10 1.6 120 15 -99997 -99997 20 85 -99997 -99997 -99997 115 40 60 40 10 248 30 BU05182811 Kortenbos WK051828 GM0518 ’s-Gravenhage 2513TV POINT (4.301129 52.07871) 2513T 2513
194783 E0818N4540 245 115 135 55 40 60 65 25 10 10 90 115 65 5 30 20 2.1 115 -99997 -99997 -99997 -99997 115 -99997 -99997 -99997 115 -99997 100 115 -99997 202 70 BU05182718 Huygenspark WK051827 GM0518 ’s-Gravenhage 2515BT POINT (4.320304 52.0699) 2515B 2515
194788 E0828N4540 1840 1525 315 65 240 970 550 20 20 10 70 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 1450 BU05183960 Binckhorst WK051839 GM0518 ’s-Gravenhage 2516BN POINT (4.334887 52.07003) 2516B 2516
194782 E0817N4540 205 105 100 15 85 65 30 10 20 10 70 150 125 10 -99997 10 1.4 120 90 -99997 -99997 -99997 10 -99997 20 -99997 60 20 80 100 5 -99997 15 BU05182718 Huygenspark WK051827 GM0518 ’s-Gravenhage 2526CG POINT (4.318846 52.06989) 2526C 2526
202217 E0788N4511 215 120 95 45 20 110 30 10 20 20 60 115 65 15 15 20 1.9 105 -99997 40 -99997 -99997 -99997 -99997 -99997 70 105 20 80 80 -99997 160 30 BU05183480 Morgenstond-Zuid WK051834 GM0518 ’s-Gravenhage 2541SV POINT (4.277203 52.04343) 2541S 2541
201906 E0777N4512 260 125 130 45 40 105 55 5 10 40 50 125 65 20 10 35 2.1 105 -99997 105 -99997 -99997 -99997 -99997 -99997 -99997 100 50 50 5 -99997 145 35 BU05183387 Venen, Oorden en Raden WK051833 GM0518 ’s-Gravenhage 2544VA POINT (4.261149 52.04418) 2544V 2544
200488 E0781N4517 40 20 20 5 5 10 15 -99997 20 20 70 15 -99997 -99997 -99997 5 2.7 15 -99997 -99997 -99997 -99997 -99997 15 -99997 -99997 -99997 100 -99997 -99997 -99997 338 -99997 BU05183488 Morgenstond-West WK051834 GM0518 ’s-Gravenhage 2545AE POINT (4.266866 52.04873) 2545A 2545
196185 E0781N4534 115 50 65 5 10 -99997 25 65 60 10 30 70 35 20 5 5 1.7 75 -99997 -99997 75 -99997 -99997 -99997 -99997 -99997 75 -99997 100 75 5 192 10 BU05183284 Leyenburg WK051832 GM0518 ’s-Gravenhage 2547KT POINT (4.266484 52.06401) 2547K 2547
196423 E0764N4533 160 75 85 40 20 45 45 10 50 20 30 75 35 5 15 15 2.1 75 -99997 -99997 -99997 75 -99997 -99997 -99997 -99997 75 -99997 100 75 -99997 188 35 BU05181840 Nieuw Waldeck WK051818 GM0518 ’s-Gravenhage 2551LJ POINT (4.24172 52.06287) 2551L 2551
196704 E0775N4532 35 20 15 5 -99997 15 5 5 90 -99997 -99997 20 5 10 -99997 -99997 1.9 25 10 5 -99997 -99997 -99997 -99997 -99997 10 15 -99997 80 -99997 5 313 -99997 BU05181882 Rosenburg WK051818 GM0518 ’s-Gravenhage 2552GG POINT (4.257781 52.06213) 2552G 2552
192604 E0798N4546 75 40 35 10 -99997 35 15 10 40 30 30 35 20 10 -99997 5 1.8 50 -99997 -99997 -99997 -99997 -99997 -99997 50 -99997 50 -99997 100 10 -99997 189 10 BU05182110 Rond de Energiecentrale WK051821 GM0518 ’s-Gravenhage 2571DK POINT (4.291007 52.07502) 2571D 2571
186648 E0844N4565 35 20 15 -99997 -99997 15 10 5 40 30 30 30 25 -99997 -99997 -99997 1.2 30 -99997 -99997 -99997 30 -99997 -99997 -99997 -99997 30 60 40 -99997 -99997 170 -99997 BU05182569 Burgen en Horsten WK051825 GM0518 ’s-Gravenhage 2592HA POINT (4.357702 52.0927) 2592H 2592
183294 E0818N4579 35 10 25 -99997 15 -99997 5 10 60 20 20 25 20 -99997 -99997 -99997 1.6 20 20 -99997 -99997 -99997 -99997 -99997 -99997 -99997 20 60 40 -99997 -99997 541 -99997 BU05180476 Duinzigt WK051804 GM0518 ’s-Gravenhage 2597HX POINT (4.319468 52.10495) 2597H 2597
183295 E0819N4579 90 40 50 15 10 25 20 15 40 30 30 50 30 5 -99997 10 1.8 45 45 -99997 -99997 -99997 -99997 -99997 -99997 -99997 45 60 40 -99997 5 441 5 BU05180476 Duinzigt WK051804 GM0518 ’s-Gravenhage 2597HX POINT (4.320927 52.10496) 2597H 2597
217182 E0839N4461 175 95 80 20 30 45 60 25 30 20 50 80 35 20 5 20 2.2 80 -99997 -99997 -99997 -99997 -99997 -99997 75 -99997 75 50 50 35 -99997 258 25 BU05032401 Poptahof-Zuid WK050324 GM0503 Delft 2624NJ POINT (4.352569 51.99918) 2624N 2624
217482 E0839N4460 140 70 70 25 20 55 35 10 30 10 60 70 30 15 5 15 2.1 65 -99997 -99997 -99997 -99997 -99997 -99997 65 -99997 55 50 50 30 -99997 249 15 BU05032401 Poptahof-Zuid WK050324 GM0503 Delft 2624NJ POINT (4.35259 51.99828) 2624N 2624
216851 E0828N4462 175 75 95 15 10 55 55 40 80 10 10 100 50 35 -99997 15 1.7 100 -99997 -99997 -99997 -99997 -99997 80 25 -99997 75 40 60 60 -99997 266 10 BU18420001 Den Hoorn WK184200 GM1842 Midden-Delfland 2635GM POINT (4.336533 51.99993) 2635G 2635
219001 E0934N4454 60 25 30 -99997 5 20 15 15 70 -99997 30 35 20 10 5 -99997 1.7 30 -99997 -99997 -99997 -99997 -99997 -99997 -99997 30 30 -99997 100 -99997 -99997 270 5 BU16211231 Ackerse Zoom WK162112 GM1621 Lansingerland 2662HK POINT (4.491017 51.99402) 2662H 2662
212147 E0760N4476 35 20 15 -99997 -99997 10 15 10 90 -99997 -99997 20 5 5 -99997 5 1.9 20 15 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 50 50 10 -99997 333 -99997 BU17830211 Burgemeesterswijk WK178302 GM1783 Westland 2675SW POINT (4.237204 52.01159) 2675S 2675
211851 E0761N4477 15 10 5 -99997 -99997 -99997 5 5 80 -99997 -99997 10 -99997 -99997 -99997 -99997 2.0 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU17830257 Buitengebied Honselersdijk WK178302 GM1783 Westland 2675SW POINT (4.238638 52.0125) 2675S 2675
206790 E0713N4495 10 5 5 -99997 -99997 -99997 -99997 5 80 -99997 -99997 5 -99997 -99997 -99997 -99997 2.4 5 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 228 -99997 BU17830504 Kleine Geest en Molenwijk WK178305 GM1783 Westland 2681VN POINT (4.168293 52.02797) 2681V 2681
207585 E0713N4492 105 55 55 -99997 5 15 25 65 80 20 -99997 65 30 35 -99997 -99997 1.6 50 -99997 -99997 -99997 -99997 -99997 -99997 45 -99997 45 90 10 -99997 -99997 349 10 BU17830506 Grote Geest en Molenwijk WK178305 GM1783 Westland 2681VN POINT (4.168367 52.02528) 2681V 2681
201095 E0935N4515 60 35 30 10 5 25 15 5 70 30 10 30 15 10 -99997 -99997 2.0 30 -99997 30 -99997 -99997 -99997 -99997 -99997 -99997 25 90 -99997 -99997 -99997 182 -99997 BU06370001 Dorp WK063700 GM0637 Zoetermeer 2712RZ POINT (4.491378 52.04885) 2712R 2712
197879 E0916N4528 115 60 55 30 15 35 25 10 90 10 10 40 10 10 -99997 20 2.7 45 -99997 -99997 20 25 -99997 -99997 -99997 -99997 25 90 -99997 -99997 -99997 260 -99997 BU06370100 Meerzicht-West WK063701 GM0637 Zoetermeer 2716LZ POINT (4.463441 52.06032) 2716L 2716
229449 E1013N4416 120 50 65 20 25 30 25 20 50 10 30 70 45 10 10 5 1.7 75 -99997 -99997 75 -99997 -99997 -99997 -99997 -99997 75 -99997 100 75 -99997 146 25 BU18920410 Bomenbuurt WK189204 GM1892 Zuidplas 2912NB POINT (4.606627 51.96069) 2912N 2912
245569 E1008N4363 140 65 75 35 20 40 35 10 80 10 10 50 10 10 5 25 2.7 50 -99997 15 35 -99997 -99997 -99997 -99997 -99997 -99997 90 10 -99997 -99997 228 5 BU05420002 Kortland-Zuid WK054200 GM0542 Krimpen aan den IJssel 2923CL POINT (4.600188 51.91301) 2923C 2923
237339 E1213N4390 5 5 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19781901 Waal-Dorp WK197819 GM1978 Molenlanden 2968GA POINT (4.897857 51.93889) 2968G 2968
237340 E1214N4390 20 10 10 -99997 5 -99997 10 -99997 90 -99997 -99997 10 -99997 -99997 -99997 5 2.8 10 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 315 -99997 BU19781901 Waal-Dorp WK197819 GM1978 Molenlanden 2968GA POINT (4.899311 51.9389) 2968G 2968
237341 E1215N4390 35 15 15 5 -99997 10 15 -99997 90 -99997 -99997 10 -99997 5 -99997 5 2.8 10 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 326 -99997 BU19781901 Waal-Dorp WK197819 GM1978 Molenlanden 2968GA POINT (4.900765 51.9389) 2968G 2968
257334 E1007N4315 10 -99997 10 5 -99997 -99997 -99997 -99997 60 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 5 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 191 -99997 BU05970100 Centrum WK059701 GM0597 Ridderkerk 2981ET POINT (4.59949 51.86985) 2981E 2981
257519 E1007N4314 15 5 10 -99997 -99997 5 -99997 5 90 -99997 -99997 10 5 -99997 -99997 -99997 1.7 10 -99997 -99997 -99997 -99997 10 -99997 -99997 -99997 10 70 -99997 -99997 -99997 220 -99997 BU05970100 Centrum WK059701 GM0597 Ridderkerk 2981ET POINT (4.599506 51.86896) 2981E 2981
253548 E1010N4329 90 50 40 10 20 45 15 5 70 20 20 60 35 10 10 -99997 1.6 60 -99997 60 -99997 -99997 -99997 -99997 -99997 -99997 60 30 70 40 5 138 10 BU05970600 Slikkerveer WK059706 GM0597 Ridderkerk 2983CN POINT (4.603627 51.88247) 2983C 2983
253805 E1009N4328 60 30 30 5 -99997 25 20 5 80 -99997 20 40 20 10 -99997 -99997 1.6 40 -99997 30 10 -99997 -99997 -99997 -99997 -99997 40 20 80 30 -99997 139 10 BU05970600 Slikkerveer WK059706 GM0597 Ridderkerk 2983CN POINT (4.60219 51.88156) 2983C 2983
258159 E1022N4311 45 20 25 -99997 -99997 -99997 5 30 80 -99997 10 25 10 10 -99997 -99997 1.7 25 -99997 -99997 -99997 -99997 25 -99997 -99997 -99997 25 -99997 -99997 -99997 -99997 227 -99997 BU05970500 Het Zand WK059705 GM0597 Ridderkerk 2984EB POINT (4.62133 51.8664) 2984E 2984
249953 E0994N4342 115 45 65 10 15 10 30 50 60 10 30 65 40 15 -99997 10 1.7 70 -99997 25 -99997 -99997 45 -99997 -99997 -99997 50 30 70 50 5 181 10 BU05970700 Bolnes WK059707 GM0597 Ridderkerk 2987XH POINT (4.580181 51.89399) 2987X 2987
233184 E0920N4403 10 10 -99997 -99997 -99997 -99997 -99997 -99997 90 -99997 -99997 5 -99997 -99997 -99997 -99997 2.4 5 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 475 -99997 BU05990660 Schiebroek WK059906 GM0599 Rotterdam 3052KR POINT (4.471571 51.94803) 3052K 3052
233463 E0921N4402 55 25 35 10 5 10 15 15 70 20 10 20 -99997 10 -99997 10 2.7 20 -99997 -99997 -99997 -99997 20 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 410 -99997 BU05990660 Schiebroek WK059906 GM0599 Rotterdam 3052KR POINT (4.473044 51.94714) 3052K 3052
229394 E0915N4416 50 25 25 15 5 10 15 5 90 -99997 -99997 15 -99997 -99997 -99997 10 3.3 15 5 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 544 -99997 BU05990660 Schiebroek WK059906 GM0599 Rotterdam 3053CX POINT (4.464059 51.95966) 3053C 3053
229395 E0916N4416 100 50 45 35 15 25 25 -99997 80 10 10 25 -99997 -99997 -99997 20 3.8 25 -99997 5 -99997 -99997 -99997 -99997 15 -99997 -99997 100 -99997 -99997 -99997 557 -99997 BU05990660 Schiebroek WK059906 GM0599 Rotterdam 3053CX POINT (4.465514 51.95967) 3053C 3053
224610 E1000N4435 125 55 70 -99997 -99997 5 50 70 70 10 20 100 75 20 -99997 -99997 1.3 105 -99997 -99997 -99997 -99997 -99997 -99997 105 -99997 105 -99997 100 105 5 251 40 BU05991468 Nesselande WK059914 GM0599 Rotterdam 3059RD POINT (4.58741 51.97764) 3059R 3059
243417 E0793N4370 10 10 -99997 -99997 -99997 -99997 5 -99997 100 -99997 -99997 5 -99997 -99997 -99997 -99997 2.4 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 402 -99997 BU06220205 Buitengebied Zuidbuurt WK062202 GM0622 Vlaardingen 3132KA POINT (4.2876 51.91679) 3132K 3132
246298 E0807N4360 20 10 10 -99997 -99997 10 5 -99997 100 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 10 BU06220205 Buitengebied Zuidbuurt WK062202 GM0622 Vlaardingen 3132KA POINT (4.308162 51.90799) 3132K 3132
247092 E0837N4357 140 70 70 25 15 45 45 15 50 10 40 80 50 15 10 5 1.7 85 -99997 -99997 -99997 85 -99997 -99997 -99997 -99997 85 -99997 100 85 -99997 156 35 BU06220402 Oostbuurt WK062204 GM0622 Vlaardingen 3134TC POINT (4.351815 51.90569) 3134T 3134
247320 E0836N4356 80 35 50 15 10 25 20 10 50 20 30 45 25 5 10 5 1.9 45 -99997 -99997 -99997 45 -99997 -99997 -99997 -99997 45 -99997 100 -99997 -99997 153 20 BU06220402 Oostbuurt WK062204 GM0622 Vlaardingen 3134TC POINT (4.350383 51.90477) 3134T 3134
259676 E0902N4304 10 5 5 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 5 -99997 -99997 -99997 -99997 1.7 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 457 -99997 BU06130522 Buitengebied WK061305 GM0613 Albrandswaard 3161EP POINT (4.447254 51.85885) 3161E 3161
247880 E0764N4353 10 -99997 10 -99997 -99997 -99997 -99997 -99997 50 -99997 -99997 10 5 -99997 -99997 -99997 1.4 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU05992704 Rozenburg WK059927 GM0599 Rotterdam 3181EL POINT (4.245844 51.90111) 3181E 3181
248217 E0772N4351 95 45 50 20 10 30 20 25 60 10 30 55 30 10 10 10 1.8 50 -99997 -99997 50 -99997 -99997 -99997 -99997 -99997 30 20 80 45 -99997 154 15 BU05992704 Rozenburg WK059927 GM0599 Rotterdam 3181ZV POINT (4.257511 51.89942) 3181Z 3181
263782 E0691N4284 50 25 25 10 -99997 15 10 10 80 10 -99997 20 5 5 -99997 5 2.4 20 -99997 -99997 15 5 -99997 -99997 -99997 -99997 -99997 90 -99997 -99997 -99997 249 -99997 BU05300103 Kulck-Zuid WK053001 GM0530 Hellevoetsluis 3223EV POINT (4.141513 51.83802) 3223E 3223
265790 E0693N4275 110 30 80 -99997 -99997 -99997 15 90 90 10 -99997 100 90 10 -99997 -99997 1.1 105 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 105 -99997 100 100 5 129 10 BU05300701 Centrumgebied-Oost WK053007 GM0530 Hellevoetsluis 3224HA POINT (4.144637 51.82997) 3224H 3224
265791 E0694N4275 20 10 10 -99997 -99997 -99997 5 15 100 -99997 -99997 15 5 5 -99997 -99997 1.6 15 -99997 -99997 -99997 15 -99997 -99997 -99997 -99997 15 100 -99997 -99997 -99997 188 -99997 BU05300701 Centrumgebied-Oost WK053007 GM0530 Hellevoetsluis 3224HA POINT (4.146088 51.82998) 3224H 3224
265266 E0694N4277 35 15 15 -99997 -99997 5 15 5 80 -99997 20 20 5 10 -99997 -99997 1.7 15 -99997 -99997 -99997 15 -99997 -99997 -99997 -99997 15 90 -99997 -99997 -99997 171 -99997 BU05300701 Centrumgebied-Oost WK053007 GM0530 Hellevoetsluis 3224HB POINT (4.146038 51.83178) 3224H 3224
265267 E0695N4277 15 10 -99997 -99997 -99997 -99997 5 -99997 70 -99997 -99997 10 5 -99997 -99997 -99997 1.4 10 -99997 -99997 -99997 10 -99997 -99997 -99997 -99997 10 100 -99997 -99997 -99997 185 -99997 BU05300701 Centrumgebied-Oost WK053007 GM0530 Hellevoetsluis 3224HB POINT (4.147489 51.83179) 3224H 3224
265518 E0694N4276 70 40 30 -99997 -99997 15 30 20 90 10 -99997 45 20 15 -99997 -99997 1.6 45 -99997 -99997 -99997 45 -99997 -99997 -99997 -99997 45 100 -99997 -99997 -99997 184 10 BU05300701 Centrumgebied-Oost WK053007 GM0530 Hellevoetsluis 3224HB POINT (4.146063 51.83088) 3224H 3224
265519 E0695N4276 20 10 10 -99997 -99997 -99997 5 10 80 -99997 -99997 10 -99997 10 -99997 -99997 1.8 10 -99997 -99997 -99997 10 -99997 -99997 -99997 -99997 10 100 -99997 -99997 -99997 191 -99997 BU05300701 Centrumgebied-Oost WK053007 GM0530 Hellevoetsluis 3224HB POINT (4.147513 51.8309) 3224H 3224
265797 E0700N4275 50 25 25 5 -99997 15 10 15 90 10 -99997 20 5 10 -99997 5 2.2 20 -99997 -99997 -99997 -99997 20 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 217 5 BU05300400 Hout Hoeffe WK053004 GM0530 Hellevoetsluis 3225CB POINT (4.15479 51.83007) 3225C 3225
265798 E0701N4275 60 25 35 10 -99997 15 15 15 90 10 -99997 25 10 5 -99997 10 2.2 25 -99997 -99997 -99997 25 -99997 -99997 -99997 -99997 -99997 60 40 10 -99997 193 5 BU05300400 Hout Hoeffe WK053004 GM0530 Hellevoetsluis 3225CB POINT (4.156241 51.83009) 3225C 3225
266067 E0701N4274 35 20 15 10 -99997 15 10 -99997 40 30 30 15 5 -99997 -99997 5 2.3 10 -99997 -99997 -99997 10 -99997 -99997 -99997 -99997 -99997 50 50 -99997 -99997 183 5 BU05300400 Hout Hoeffe WK053004 GM0530 Hellevoetsluis 3225CB POINT (4.156265 51.82919) 3225C 3225
280520 E0711N4200 5 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240307 Middelharnis buitengebied WK192403 GM1924 Goeree-Overflakkee 3241PA POINT (4.172562 51.76284) 3241P 3241
280521 E0712N4200 50 25 25 -99997 -99997 5 30 15 80 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 10 -99997 -99997 -99997 -99997 -99997 10 -99997 -99997 10 -99997 -99997 -99997 -99997 -99997 35 BU19240307 Middelharnis buitengebied WK192403 GM1924 Goeree-Overflakkee 3241PA POINT (4.17401 51.76285) 3241P 3241
280839 E0710N4198 10 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240307 Middelharnis buitengebied WK192403 GM1924 Goeree-Overflakkee 3241PA POINT (4.171162 51.76103) 3241P 3241
288994 E0715N4135 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.179917 51.70448) 3255L 3255
289182 E0717N4133 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.182857 51.70272) 3255L 3255
289283 E0719N4132 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.185774 51.70185) 3255L 3255
289568 E0721N4130 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.188714 51.70008) 3255L 3255
289703 E0721N4129 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.188738 51.69918) 3255L 3255
290254 E0726N4125 15 10 10 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.196064 51.69566) 3255L 3255
290415 E0727N4124 10 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997.0 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.197534 51.69478) 3255L 3255
290776 E0731N4122 20 10 10 5 -99997 5 10 -99997 40 -99997 50 5 -99997 -99997 -99997 -99997 3.0 5 -99997 -99997 -99997 -99997 5 -99997 -99997 -99997 -99997 -99997 -99997 -99997 -99997 184 5 BU19240606 Oude-Tonge buitengebied WK192406 GM1924 Goeree-Overflakkee 3255LJ POINT (4.203365 51.69304) 3255L 3255
267907 E0877N4268 25 10 15 -99997 -99997 -99997 10 10 90 -99997 -99997 15 10 5 -99997 -99997 1.6 15 15 -99997 -99997 -99997 -99997 -99997 -99997 -99997 5 60 40 -99997 -99997 413 -99997 BU19630000 Oud-Beijerland Centrum WK196300 GM1963 Hoeksche Waard 3262JE POINT (4.411669 51.8262) 3262J 3262
268244 E0877N4267 25 10 15 -99997 -99997 5 10 10 90 -99997 -99997 15 5 -99997 -99997 -99997 1.8 15 10 -99997 -99997 -99997 -99997 -99997 -99997 -99997 10 50 40 -99997 -99997 328 -99997 BU19630000 Oud-Beijerland Centrum WK196300 GM1963 Hoeksche Waard 3262JE POINT (4.411688 51.8253) 3262J 3262
273845 E0985N4244 40 15 20 -99997 -99997 5 5 25 100 -99997 -99997 20 10 10 -99997 -99997 1.8 25 -99997 5 -99997 -99997 -99997 10 -99997 -99997 15 40 60 10 -99997 218 -99997 BU19630400 Puttershoek Woonkern WK196304 GM1963 Hoeksche Waard 3297BM POINT (4.568709 51.80582) 3297B 3297
278079 E1057N4215 50 20 30 5 5 10 10 15 90 -99997 -99997 20 5 10 -99997 5 2.3 20 -99997 -99997 15 5 -99997 -99997 -99997 -99997 -99997 100 -99997 -99997 -99997 270 -99997 BU05050903 Driehoek en omgeving WK050509 GM0505 Dordrecht 3328PC POINT (4.67351 51.78044) 3328P 3328

4.2 Saving raster file

Let us save our raster data.

fsave(rast, compress = TRUE, file = "raster.RData")

4.3 Plotting our new raster data

Let’s plot the raster to see what we’ve got. We could for example plot the raster cell on a basemap and color them by district, neighborhood or postcode area.
Note that the geometry of our raster cells are saved as “points” (as opposed to polygons). Therefore, we plot them using leaflet::addCircles instead of leaflet::addPolygons. The advantage of addCircles is that it adjusts the size of the points dynamically as you zoom in/out. The downside, of course, is that it uses circles instead of squares.
Also note that it’s not advisable to attempt to plot the whole country raster. We select a city instead.

# Loading the file
load("./data/processed/20220711raster.RData")  # Make sure filename is correct!
rast <- x
rm(x)


# Plotting the raster of a city:
city = "Amsterdam"
cityrast <- rast[rast$GM_NAAM == city,]

palette <- leaflet::colorFactor(
  palette = "Set3", # or other RColorBrewer palettes e.g "Greens", "magma"
  domain = cityrast$BU_NAAM
)
leaflet::leaflet(cityrast) |>
  leaflet::addTiles() |>
  leaflet::addProviderTiles(providers$Stamen.Toner) |>
  leaflet::addCircles(
    label = ~BU_NAAM,
    color = ~palette(BU_NAAM),
    opacity = 0.7
  )

5 Voronoi diagrams

Given a set of locations on a map (the “seeds”), a Voronoi diagram is the partition of the map such that each point of the map is assigned to its closest seed. In other words, a Voronoi diagram is a partition of an area such that each partion (called a “tile”) is the set of points that are closest to the same seed.
Here we want to use a Voronoi diagram to partition the raster using polling station locations as seeds. In other words, we use a Voronoi diagram to assign each raster cell to its closest polling station. Each Voronoi tile then represents the ‘catchment area’ of its corresponding polling station.

5.1 Loading polling station data

This dataset is constructed here.

Note: make sure you update the filenames in the following blocks of code.

load("./data/processed/20220702polling_df")
pollstations <- x
rm(x)
load("./data/processed/20220711raster.RData")
rast <- x
rm(x)

For convenience I use the library sf to create the spatial points with the location of each polling station:

pollstations <- sf::st_as_sf(x = as.data.frame(pollstations), crs = sf::st_crs("+proj=longlat +datum=WGS84"),
    coords = c("long", "lat"))

5.2 Creating the actual Voronoi diagram

Now we can use the polling station points (in pollstations) as “seeds” to create a Voronoi diagram. To do this, we pass the pollstations spatial points as argument “x” to the function st_voronoi.

voronoi <- sf::st_voronoi(x = do.call(c, pollstations$geometry), envelope = NULL  # this is in case we want to specify the Voronoi boundaries
)

# This ensures that 'voronoi' has the correct CRS
voronoi <- sf::st_sf(sf::st_collection_extract(voronoi, type = "POLYGON"), crs = sf::st_crs("+proj=longlat +datum=WGS84"))

# This will be the 'id' of each Voronoi tile:
voronoi$voronoi <- 1:nrow(voronoi)

5.3 Plotting the Voronoi diagram

Let’s plot the Voronoi diagram we have produced. We can show tiles in blue and their seed (the polling stations) in red. The map starts out pointed to Amsterdam.

leaflet::leaflet(voronoi) |>
  leaflet::addTiles() |>
  leaflet::addProviderTiles(providers$Stamen.Toner) |>
  leaflet::addPolygons(color = "blue") |>
  leaflet::addCircles(data = pollstations, color = "red") |>
  leaflet::setView( # This defaults the map view so that it points to Amsterdam
    lng = 4.9041,
    lat = 52.3676,
    zoom = 14
  )

Question: Looking at how the Voronoi tiling of a Dutch city, what shortcomings/limitations can you find about using a Voronoi diagram to define the “catchment area” of each polling station?
Can you think of potential solutions to these shortcomings?

5.4 Assign raster cells to their Voronoi tile

Now we can join the raster and the Voronoi diagram.

rast <- sf::st_intersection(x = sf::st_as_sf(rast), y = voronoi, sf::sf_use_s2(FALSE))

Let’s inspect the results. We can plot the raster cells on top of the Voronoi diagram of Amsterdam - and if we color the raster cells by the Voronoi tile they’ve been assigned to, we should see that all raster cells from the same tile will have the same color.

city = "Amsterdam"
cityrast <- rast[rast$GM_NAAM == city, ]

palette <- leaflet::colorFactor(sample(colors(), length(unique(cityrast$voronoi))), domain = cityrast$voronoi)

leaflet::leaflet(voronoi) |>
    leaflet::addTiles() |>
    leaflet::addProviderTiles(providers$Stamen.Toner) |>
    leaflet::addPolygons(color = "blue") |>
    leaflet::addCircles(data = pollstations, color = "red", opacity = 1) |>
    leaflet::addCircles(data = cityrast, label = ~voronoi, color = ~palette(as.factor(voronoi)), opacity = 0.7) |>
    leaflet::setView(lng = 4.9041, lat = 52.3676, zoom = 14)

It seems that raster cells were correctly assigned to their correct Voronoi tile.


6 Output

6.1 Saving the raster with Voronoi tile information

We save our progress so far. We put our raster data in one file, and all shape information in another.

fsave(rast, compress = TRUE, file = "raster_vor.RData")

6.2 Saving spatial data

We are saving the data of Statistics Netherlands again. We drop all irrelevant columns and save the files with the correct CRS for later use.

neighbShape <- neighbShape[, c(1, 2, 42:44)]
districtShape <- districtShape[, c(1:4, 39:41)]
postcode4Shape <- postcode4Shape[, c(1, 37)]
postcode5Shape <- postcode5Shape[, c(1, 37)]
postcode6Shape <- postcode6Shape[, c(1, 35)]
fsave(list(neighbShape, districtShape, postcode4Shape, postcode5Shape, postcode6Shape, voronoi), compress = TRUE,
    file = "shapes.RData")


Copyright © 2022 Jochem Tolsma / Thomas Feliciani / Rob Franken