95 lines
2.5 KiB
R
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))
|