init
This commit is contained in:
parent
229f7ccd9e
commit
cfb81d0dab
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1,3 +1,7 @@
|
|||
data/
|
||||
tmp/
|
||||
|
||||
|
||||
# ---> R
|
||||
# History files
|
||||
.Rhistory
|
||||
|
|
92
scripts/enporzhiañ.R
Normal file
92
scripts/enporzhiañ.R
Normal file
|
@ -0,0 +1,92 @@
|
|||
library(readODS)
|
||||
library(magrittr)
|
||||
library(dplyr)
|
||||
library(tidyr)
|
||||
#library(osmdata)
|
||||
library(tidywikidatar)
|
||||
|
||||
##############################
|
||||
## Arventennoù
|
||||
# Cheñch teuliad
|
||||
source_path <- rstudioapi::getActiveDocumentContext()$path
|
||||
setwd(dirname(dirname(source_path)))
|
||||
|
||||
# Anv ar c'holonennoù, hervez an niver a dud aterset
|
||||
anv_kolon <- function(n, gant_lechierezh=TRUE, gant_evezhiou=TRUE) {
|
||||
anviou <- c("anv_latin")
|
||||
anviou <- c(anviou, paste0("anv_bzg_", seq(1,n)))
|
||||
anviou <- c(anviou, "anv_glg")
|
||||
if (gant_lechierezh) {
|
||||
anviou <- c(anviou, "lechierezh")
|
||||
}
|
||||
if (gant_evezhiou) {
|
||||
anviou <- c(anviou, "evezhiou")
|
||||
}
|
||||
anviou <- c(anviou, "strollad")
|
||||
return(anviou)
|
||||
}
|
||||
|
||||
# WikiData
|
||||
tw_enable_cache()
|
||||
tw_set_cache_folder(path = fs::path(getwd(), "tmp/tw_data"))
|
||||
tw_set_language(language = "br")
|
||||
tw_create_cache_folder(ask = FALSE)
|
||||
|
||||
## Renabl eus ar restroù
|
||||
# Brieg
|
||||
brieg1 <- read_ods("./data/Brieg.ods", sheet=1, range="A1:G44") %>%
|
||||
as_tibble() %>%
|
||||
mutate(strollad=1)
|
||||
names(brieg1) <- anv_kolon(3)
|
||||
brieg2 <- read_ods("./data/Brieg.ods", sheet=2, range="A1:E23") %>%
|
||||
as_tibble() %>%
|
||||
mutate(strollad=2)
|
||||
names(brieg2) <- anv_kolon(1)
|
||||
gps_brieg <- tw_search(search="Brieg") %>%
|
||||
tw_filter_first(p="P31", q="Q484170") %>%
|
||||
tw_get_property(p="P625") %>%
|
||||
mutate(kumun="Brieg", led=as.numeric(strsplit(value, ",")[[1]][1]), hed=as.numeric(strsplit(value, ",")[[1]][2])) %>%
|
||||
select(kumun, led, hed)
|
||||
brieg = bind_rows(brieg1, brieg2) %>%
|
||||
bind_cols(., gps_brieg)
|
||||
|
||||
|
||||
# Louergad
|
||||
louergad1 <- read_ods("./data/Louergad (Seubil).ods", sheet=1, range="A1:E44") %>%
|
||||
as_tibble() %>%
|
||||
mutate(strollad=1)
|
||||
names(louergad1) <- anv_kolon(2, gant_lechierezh=FALSE)
|
||||
louergad2 <- read_ods("./data/Louergad (Seubil).ods", sheet=2, range="A1:D23") %>%
|
||||
as_tibble() %>%
|
||||
mutate(strollad=2)
|
||||
names(louergad2) <- anv_kolon(2, gant_lechierezh=FALSE, gant_evezhiou=FALSE)
|
||||
gps_louergad <- tw_search(search="Louergad") %>%
|
||||
tw_filter_first(p="P31", q="Q484170") %>%
|
||||
tw_get_property(p="P625") %>%
|
||||
mutate(kumun="Louergad", led=as.numeric(strsplit(value, ",")[[1]][1]), hed=as.numeric(strsplit(value, ",")[[1]][2])) %>%
|
||||
select(kumun, led, hed)
|
||||
louergad = bind_rows(louergad1, louergad2) %>%
|
||||
bind_cols(., gps_louergad)
|
||||
|
||||
|
||||
# Ploneour Lanwern
|
||||
ploneour_lanwern1 <- read_ods("./data/Ploneour Lanwern.ods", sheet=1, range="A1:E44") %>%
|
||||
as_tibble() %>%
|
||||
mutate(strollad=1)
|
||||
names(ploneour_lanwern1) <- anv_kolon(1)
|
||||
ploneour_lanwern2 <- read_ods("./data/Ploneour Lanwern.ods", sheet=2, range="A1:E23") %>%
|
||||
as_tibble() %>%
|
||||
mutate(strollad=2)
|
||||
names(ploneour_lanwern2) <- anv_kolon(1)
|
||||
gps_ploneour_lanwern <- tw_search(search="Ploneour-Lanwern") %>%
|
||||
tw_filter_first(p="P31", q="Q484170") %>%
|
||||
tw_get_property(p="P625") %>%
|
||||
mutate(kumun="Ploneour-Lanwern", led=as.numeric(strsplit(value, ",")[[1]][1]), hed=as.numeric(strsplit(value, ",")[[1]][2])) %>%
|
||||
select(kumun, led, hed)
|
||||
ploneour_lanwern = bind_rows(ploneour_lanwern1, ploneour_lanwern2) %>%
|
||||
bind_cols(., gps_ploneour_lanwern)
|
||||
|
||||
|
||||
data = bind_rows(brieg,
|
||||
louergad,
|
||||
ploneour_lanwern)
|
68
scripts/enporzhiañ_kartenn.R
Normal file
68
scripts/enporzhiañ_kartenn.R
Normal file
|
@ -0,0 +1,68 @@
|
|||
library("osmdata")
|
||||
library("sf")
|
||||
|
||||
##############################
|
||||
## Arventennoù
|
||||
# Cheñch teuliad
|
||||
source_path <- rstudioapi::getActiveDocumentContext()$path
|
||||
setwd(dirname(dirname(source_path)))
|
||||
|
||||
|
||||
## Kemer an data
|
||||
# An harzoù
|
||||
if (!file.exists("./tmp/kumunioù.RData")) {
|
||||
kumuniou_22 <- opq(bbox="Côtes-d'Armor") %>%
|
||||
add_osm_feature(key = 'boundary', value = 'administrative') %>%
|
||||
add_osm_feature(key = 'admin_level', value = '8') %>%
|
||||
osmdata_sf
|
||||
kumuniou_29 <- opq(bbox="Finistère") %>%
|
||||
add_osm_feature(key = 'boundary', value = 'administrative') %>%
|
||||
add_osm_feature(key = 'admin_level', value = '8') %>%
|
||||
osmdata_sf
|
||||
kumuniou_56 <- opq(bbox="Morbihan") %>%
|
||||
add_osm_feature(key = 'boundary', value = 'administrative') %>%
|
||||
add_osm_feature(key = 'admin_level', value = '8') %>%
|
||||
osmdata_sf
|
||||
|
||||
kumuniou <- c(kumuniou_22,
|
||||
kumuniou_29,
|
||||
kumuniou_56
|
||||
) %>% unique_osmdata
|
||||
|
||||
kumuniou_poly <- kumuniou$osm_multipolygons
|
||||
kumuniou_poly <- kumuniou_poly %>%
|
||||
mutate(ref.INSEE = as.numeric(as.character(ref.INSEE))) %>%
|
||||
filter(grepl("^(22|29|56)", ref.INSEE))
|
||||
|
||||
|
||||
ggplot(municipalities_poly)+
|
||||
geom_sf()
|
||||
|
||||
|
||||
dept_22 <- opq(bbox = "Côtes-d'Armor") %>%
|
||||
add_osm_feature(key = 'boundary', value = 'administrative') %>%
|
||||
add_osm_feature(key = 'admin_level', value = '6') %>%
|
||||
osmdata_sf %>% unique_osmdata
|
||||
dept_29 <- opq(bbox = "Finistère") %>%
|
||||
add_osm_feature(key = 'boundary', value = 'administrative') %>%
|
||||
add_osm_feature(key = 'admin_level', value = '6') %>%
|
||||
osmdata_sf %>% unique_osmdata
|
||||
dept_56 <- opq(bbox = "Morbihan") %>%
|
||||
add_osm_feature(key = 'boundary', value = 'administrative') %>%
|
||||
add_osm_feature(key = 'admin_level', value = '6') %>%
|
||||
osmdata_sf %>% unique_osmdata
|
||||
|
||||
dept <- c(dept_22, dept_29, dept_35, dept_44, dept_56) %>%
|
||||
unique_osmdata
|
||||
|
||||
dept_poly <- dept$osm_multipolygons
|
||||
dept_poly <- dept_poly %>%
|
||||
filter(grepl("^(22|29|56)", ref.INSEE))
|
||||
|
||||
|
||||
save(kumuniou, kumuniou_poly,
|
||||
dept, dept_poly,
|
||||
file = "./tmp/kumuniou.RData")
|
||||
} else {
|
||||
load(file = "../roadennoù/kumuniou.RData")
|
||||
}
|
89
scripts/main.R
Normal file
89
scripts/main.R
Normal file
|
@ -0,0 +1,89 @@
|
|||
##############################
|
||||
## Config
|
||||
# Cheñch teuliad
|
||||
source_path <- rstudioapi::getActiveDocumentContext()$path
|
||||
setwd(dirname(dirname(source_path)))
|
||||
|
||||
##############################
|
||||
## Enporzhiañ ha treiñ ar roadennoù
|
||||
# (ar roadennoù kriz = ur restr evit ul lec'h)
|
||||
# disoc'h = data
|
||||
source("./scripts/enporzhiañ.R")
|
||||
|
||||
##############################
|
||||
## Enporzhiañ peadra d'ober ur gartenn
|
||||
# (harzoù hag all)
|
||||
# disoc'h = data_osm
|
||||
source("./scripts/enporzhiañ_kartenn.R")
|
||||
|
||||
|
||||
|
||||
##############################
|
||||
## Sevel ur gartenn
|
||||
anv <- "Agropyron repens"
|
||||
|
||||
sub_data <- data %>%
|
||||
filter(anv_latin==anv)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
data <- merge(municipalities_poly,
|
||||
data_percentages, by.x="ref.INSEE", by.y="ebssa", all.x=TRUE)
|
||||
|
||||
# Rannañ an dregantadoù dre rummad
|
||||
|
||||
data$emdroadur_rummad <- cut(data$emdroadur, breaks=c(-0.05, -0.02, -0.01, -0.005, 0, 0.01, 0.02, 0.03, 0.04, 0.12))
|
||||
data$emdroadur2007_rummad <- cut(data$emdroadur2007_2017, breaks=c(-0.05, -0.02, -0.01, -0.005, 0, 0.01, 0.02, 0.03, 0.04, 0.12))
|
||||
|
||||
|
||||
# Evit gwiriañ: peseurt kumun zo hep emdroadur?
|
||||
data %>%
|
||||
filter(is.na(emdroadur))
|
||||
# => Plevenon ha Sant-Sinforian (poblañs ebet e 1999, nevez krouet int?)
|
||||
|
||||
|
||||
#pdf("./kartenn_dregantad_skolioumamm_publik_prevez_diwan.pdf", width = 25, height = 20)
|
||||
|
||||
|
||||
data_simple <- st_simplify(data, preserveTopology = TRUE, dTolerance = 0.001)
|
||||
dept_poly_simple <- st_simplify(dept_poly, preserveTopology = TRUE, dTolerance = 0.001)
|
||||
|
||||
br <- c(-0.02, -0.01, -0.005, 0, 0.01, 0.02, 0.03, 0.04)
|
||||
## Diskouez
|
||||
pdf("../kartenn_emdroadur_poblañs.pdf", width=10, height=7)
|
||||
p <- ggplot(data=data_simple, aes(fill=emdroadur, text=paste0(name, "\nEmdroadur: ", round(emdroadur, 3)*100, "%")))+
|
||||
geom_sf(size=0.1, color="#bfbfbf")+
|
||||
#scale_fill_manual(values=c("#152a84",
|
||||
binned_scale(aesthetics="fill", scale_name="stepsn",
|
||||
palette=function(x) c("#152a84",
|
||||
"#275da5",
|
||||
"#00ade2",
|
||||
"#c6e7f3",
|
||||
"#f7f4d8",
|
||||
"#fbea68",
|
||||
"#f1b85f",
|
||||
"#e78051",
|
||||
"#e04c45"),
|
||||
breaks=br,
|
||||
limits=c(-0.05, 0.12),
|
||||
guide="colorsteps",
|
||||
labels=paste0(br*100, "%"))+
|
||||
guides(colour=guide_legend("No data", override.aes=list(colour="grey75")))+
|
||||
ggtitle(paste0("Emdroadur poblañs kumunioù Breizh etre 1999 ha 2017"))+
|
||||
theme_void()+
|
||||
labs(fill="Feur kresk bloaziek ar boblañs etre 1999 ha 2017")+
|
||||
guides(fill=guide_colorsteps(title.position="top", ticks=TRUE))+
|
||||
theme(plot.title = element_text(face = "bold", hjust=0.5, size=12),
|
||||
legend.position="bottom",
|
||||
legend.title=element_text(size=10),
|
||||
legend.key.width=unit(0.5, "inches"),
|
||||
legend.key.height=unit(0.1, "inches"))
|
||||
print(p)
|
||||
dev.off()
|
||||
|
||||
ggplotly(p)
|
Loading…
Reference in a new issue