##########
# 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))
