blog/content/br/stlenneg/roadennou/1-sevel-kartennou/fardan_ur_gartenn.R
2021-04-05 18:55:58 +02:00

95 lines
2.5 KiB
R

##########
# 1. Kargañ al levraouegoù
##########
library("ggplot2")
library("osmdata")
library("dplyr")
library("sf")
# Evit lavarout da R e peseurt teuliad emaomp o labourat
setwd("~/dev/blog/content/br/stlenneg/roadennou/1-sevel-kartennou/")
##########
# 2. Dastum roadennoù OpenStreetMAp
##########
## Pellgargañ an holl gumunioù Breizh
# Daveennoù douaroniel Breizh
roadennou_osm <- opq(bbox=c(-5.5584,46.7773,-0.7409,48.9728),
# Moaien zo hiraat an "timeout" ma 'z eus ur fazi "timeout"
timeout = 180) %>%
# Dibab ar c'humunioù hepken
add_osm_feature(key = 'boundary', value = 'administrative') %>%
add_osm_feature(key = 'admin_level', value = '8') %>%
osmdata_sf
## Kalz a ditouroù a zo didalvoud neuze e silomp
# Al lodenn osm_multipolygons a zo stumm ar c'humunioù hepken
kumuniou <- roadennou_osm$osm_multipolygons %>%
# Diwar an niverenn INSEE e c'hellomp kaout niverenn an departamant
mutate(departamant = substr(ref.INSEE, 1,2)) %>%
# kumunioù e Breizh hepken
filter(departamant %in% c("22", "29", "35", "44", "56"))
# Hor c'hartenn gentañ ! Gwelet e vo diwezatoc'h evit ar munudoù grafikel
ggplot(kumuniou, aes(fill=departamant))+
geom_sf()
##########
# 3. Dastum roadennoù ar prizioù
##########
# Kargañ ar restr
priziou <- read.csv("./dvf-communes-2019.csv", sep=";") %>%
as_tibble %>%
# Miromp kumunioù e Breizh hepken
filter(INSEE_DEP %in% c("22", "29", "35", "44", "56"))
# Prest omp evit eren pep tra !
##########
# 4. Eren (joindre, merge) ar roadennoù
##########
# Eren
data <- merge(kumuniou,
priziou,
by.x="ref.INSEE",
by.y="INSEE_COM", all.x=TRUE)
# Luziet eo "data" neuze e tibabomp an ditouroù hon eus ezhomm en-dro
data_simpl <- data %>%
select(ref.INSEE, name, name.br, geometry,
POPULATION, Nb_Ventes, PrixMoyen_M2) %>%
# hag implijout a reomp un urzh a simplaat stummad ar c'humunioù (re a vunudoù zo)
st_simplify(preserveTopology = TRUE, dTolerance = 0.001)
##########
# 5. Tresañ an disoc'h !
##########
ggplot(data_simpl, aes(fill=Nb_Ventes))+
geom_sf()+
scale_fill_gradientn(
colors = c("#ffdbdb", "#ea0000"),
space = "Lab",
na.value = "grey75",
guide = "colourbar",
aesthetics = "fill",
name="Priz"
)+
ggtitle("Keitad priz ar metrad karrez dre gumun e Breizh")+
theme_void()+
theme(plot.title = element_text(face = "bold", hjust=0.5, size=15))