Formål : Bygging av et interaktivt kart over sykehus i Norge
library(tidyverse)
library(leaflet)
library(geojsonio)
library(readxl)
library(htmltools)
Importere datasett som inneholder geografiske koordinater (bredde og lengde) av sykehus og fylker.
- Geografiske koordinater av sykehus som er hentet fra google, er ikke kvalitetssikret.
- Datasettet for antall er et fiktivt datasett for testing.
hf <- read_excel("hf.xlsx")
fylke <- geojsonio::geojson_read("https://raw.githubusercontent.com/Knaevelsrud/GoeJSON/master/Fylker_Kartverket_2020.json", what = "sp")
antall <- read_excel("antallhf.xlsx")
Kartet med samme farge i hele norge:
hf %>%
leaflet() %>%
addTiles() %>%
addPolygons(data = fylke,fillColor = "blue",
weight = 0.5,
opacity = 1,
color = "blue",
dashArray = "5",
fillOpacity = 0.7,
highlight = highlightOptions(weight = 1,
color = "white",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE)) %>%
addMarkers(popup = ~htmlEscape(Sykehus) )
Kartet med ulike farger i ulike fylke:
colorsmap = colors()[1:length(unique(fylke$navn))]
groupColors = colorFactor(palette = "RdYlBu", domain = fylke$navn)
hf %>%
leaflet() %>%
addTiles() %>%
addPolygons(data = fylke,
fillColor = ~groupColors(navn),
weight = 0.5,
opacity = 1,
color = "blue",
dashArray = "5",
fillOpacity = 0.7,
highlight = highlightOptions(weight = 5,
color = "#0666",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE))%>%
addMarkers(popup = ~htmlEscape(Sykehus) )
Skiller norge ut fra verdenskartet:
hf %>%
leaflet() %>%
addPolygons(data = fylke,fillColor = "blue",
weight = 0.5,
opacity = 1,
color = "blue",
dashArray = "5",
fillOpacity = 0.7,
highlight = highlightOptions(weight = 1,
color = "white",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE)) %>%
addMarkers(popup = ~htmlEscape(Sykehus) )
Skiller norge ut fra verdenskartet med ulike farge:
colorsmap = colors()[1:length(unique(fylke$navn))]
groupColors = colorFactor(palette = "RdYlBu", domain = fylke$navn)
hf %>%
leaflet() %>%
addPolygons(data = fylke,
fillColor = ~groupColors(navn),
weight = 0.5,
opacity = 1,
color = "blue",
dashArray = "5",
fillOpacity = 0.7,
highlight = highlightOptions(weight = 5,
color = "#0666",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE)) %>%
addMarkers(popup = ~htmlEscape(Sykehus) )
Vise statistikk på kartet
labels <- sprintf(
"<strong>%s</strong><br/> Antall: %g", # <br/>: Line break
antall$Sykehus, antall$Antall
) %>% lapply(htmltools::HTML)
antall %>%
leaflet() %>%
addPolygons(data = fylke,
fillColor = ~groupColors(navn),
weight = 0.5,
opacity = 1,
color = "blue",
dashArray = "5",
fillOpacity = 0.7,
highlight = highlightOptions(weight = 5,
color = "#0666",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE)) %>%
addMarkers(popup = ~htmlEscape(Sykehus),label = labels )