# InteractiefKaartvensterInRStudio.R
# Auteur: Egge-Jan Polle - 16 november 2015 - http://www.twiav.nl/
# Het laden van de benodigde packages
library(sp)
library(rgdal)
library(leaflet)
# Maak een submap aan in de werkmap (worikng directory) om data op te slaan
dir.create("./Data")
# download en unzip de dataset met gemeentelijke data
URL <- "http://www.twiav.nl/files/NL_Gemeenten2014.zip"
download.file(URL, destfile ="./Data/NL_Gemeenten2014.zip", mode = "wb")
unzip("./Data/NL_Gemeenten2014.zip", exdir = "./Data")
unlink("./Data/NL_Gemeenten2014.zip") # gooi het zip bestand weg
# download en unzip de datasets met spoorwegdata
URL <- "http://www.twiav.nl/files/Spoorwegen2015.zip"
download.file(URL, destfile ="./Data/Spoorwegen2015.zip", mode = "wb")
unzip("./Data/Spoorwegen2015.zip", exdir = "./Data")
unlink("./Data/Spoorwegen2015.zip") # gooi het zip bestand weg
rm(URL)
# lees de gegevens in
gem2014 <- readOGR("Data", "NL_Gemeenten2014")
stations2015 <- readOGR("Data", "NL_Stations2015")
spoorwegen2015 <- readOGR("Data", "NL_Spoorwegen2015")
# Bekijk de gegevens (optioneel)
View(gem2014)
View(stations2015)
View(spoorwegen2015)
plot(gem2014, col = "darkgreen", border = "darkgreen")
plot(spoorwegen2015, col = "blue", add = TRUE)
plot(stations2015, pch = 19, col = "red", add = TRUE)
# Maak de popups/tooltips aan (opmaak met html)
station_popup <- paste0("
")
spoorweg_popup <- paste0("Traject: | ",spoorwegen2015$Traject," |
Treindienst: | ",spoorwegen2015$Treindienst," |
")
gem_popup <- paste0("Naam: | ",gem2014$Gemeentenaam," |
Provincie: | ",gem2014$Provincie_naam," |
Inwoners: | ",format(gem2014$Inwoners, big.mark = ".", decimal.mark = ",")," |
")
# Maak de interactieve kaart aan
inl <- leaflet() %>%
# Base groups
addTiles(group = "Openstreetmap") %>%
addProviderTiles("Stamen.TonerLite", group = "Stamen Toner Lite") %>%
addProviderTiles("Stamen.Watercolor", group = "Stamen Watercolor") %>%
setView(lng = 4.9, lat = 52.378333, zoom = 12) %>% # Amsterdam Centraal
# Overlay groups
addPolygons(
data=spTransform(gem2014, CRS("+init=epsg:4326")),
group = "Gemeenten (2014)",
popup = gem_popup,
fillOpacity = 0,
color = "#900000",
weight = 2
) %>%
addPolylines(
data=spTransform(spoorwegen2015, CRS("+init=epsg:4326")),
group = "Spoorwegen",
popup = spoorweg_popup,
opacity = 1
) %>%
addCircles(
data=spTransform(stations2015, CRS("+init=epsg:4326")),
group = "Stations",
popup = station_popup,
weight = 3,
radius=80,
color="#FF0000",
stroke = TRUE,
fillOpacity = 0.8
) %>%
# Layers control
addLayersControl(
baseGroups = c("Openstreetmap", "Stamen Toner Lite", "Stamen Watercolor"),
overlayGroups = c("Stations", "Spoorwegen", "Gemeenten (2014)"),
options = layersControlOptions(collapsed = FALSE)
)
# Toon de interactieve kaart
inl