# 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("
Station: ",stations2015$Station,"
") 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