Olemme hiljalleen kirjoittaneet ropengov-porukalla seuraajaa gisfin-paketille nimeltä geofi
. Paketti mahdollistaa avointen Suomea koskevien paikkatietoaineistojen käytön R:ssä. Painopiste on ollut hallinnollisissa aluerajoissa ja tällä hetkellä ensisijaisena aineistolähteenä on Tilastokeskuksen wfs
-rajapinta, josta geofi
-paketin funktioilla voi ladata kuntarajat, postinumeroalueet sekä väestöruudukot.
geofi
-pakettia ei ole vielä julkaistu CRAN:ssa, etkä voi asentaa sitä intall.packages()
-funktiolla. Sen sijaan voit asentaa sen suoraan Github:sta komennolla: remotes::install_github("ropengov/geofi")
ja kokeilla seuraavien esimerkkien tai tämän geofi_selain
-sovelluksen avulla.
Kuntarajat
library(geofi)
library(ggplot2)
<- get_municipalities(year = 2020, scale = 4500)
municipalities ggplot(municipalities) +
geom_sf(aes(fill = as.integer(kunta))) +
scale_fill_viridis_c()
Postinumeroalueet
<- get_zipcodes(year = 2020)
zipcodes ggplot(zipcodes) +
geom_sf(aes(fill = as.integer(posti_alue)), color = alpha("white", 1/3)) +
scale_fill_viridis_c()
Väestöruudukko
<- get_population_grid(year = 2018, resolution = 5)
pop_grid ggplot(pop_grid) +
geom_sf(aes(fill = objectid), color = alpha("white", 1/3)) +
scale_fill_viridis_c()
Maakuntajako, sairaanhoitopiirit ja useat muut aluejaot perustuvat kuntajakoon. get_municipalities()
-funtion palauttamassa datassa löytyvät nämä attribuuttimuuttujat (vuosi 2020), joiden avulla voit aggregoida kuntatason dataa ylemmille tasoille.
library(dplyr)
<- get_municipalities(year = 2019, scale = 4500)
municipalities <- municipalities %>%
regions group_by(maakunta_name_fi) %>% summarise()
ggplot(regions) +
geom_sf(aes(fill = maakunta_name_fi)) +
scale_fill_viridis_d()
Luonnollisesti voit yhdistää geofi
:n datoihin muita attribuuttidatoja. Alla olevassa esimerkissä haetaa Tilastokeskuksen kuntien avainluvut ja luodaan kartta kuntien väkiluvuista.
library(tidyr)
library(pxweb)
library(janitor)
<- get_municipalities(year = 2017)
municipalities17
# pull municipality data from Statistics Finland
<-
pxweb_query_list list("Alue 2019"=c("*"),
"Tiedot"=c("*"),
"Vuosi"=c("2017"))
<-
px_data pxweb_get(url = "http://pxnet2.stat.fi/PXWeb/api/v1/fi/Kuntien_avainluvut/2019/kuntien_avainluvut_2019_aikasarja.px",
query = pxweb_query_list)
# Convert to data.frame
<- as.data.frame(px_data, column.name.type = "text", variable.value.type = "text")
tk_data <- tk_data %>%
tk_data2 rename(name = `Alue 2019`) %>%
mutate(name = as.character(name),
# Paste Tiedot and Vuosi
Tiedot = paste(Tiedot, Vuosi)) %>%
select(-Vuosi) %>%
spread(Tiedot, `Kuntien avainluvut`) %>%
as_tibble()
<- janitor::clean_names(tk_data2)
tk_data3
# Join with Statistics Finland attribute data
<- left_join(municipalities17, tk_data3)
dat
ggplot(dat) +
geom_sf(aes(fill = vakiluku_2017), color = alpha("white", 1/3)) +
scale_fill_viridis_c(trans = "sqrt")
Katso lisää paketin kehityssivuilta Github:sta ja tule apuun kehittämisessä!