Skip to content
Snippets Groups Projects
Commit 31657448 authored by Juliette Engelaere-Lefebvre's avatar Juliette Engelaere-Lefebvre
Browse files

- Mise à jour PDL 123 - closes #52

parent c05b15ce
No related branches found
No related tags found
No related merge requests found
Pipeline #469504 passed
...@@ -4,7 +4,7 @@ author: "Juliette ENGELAERE-LEFEBVRE" ...@@ -4,7 +4,7 @@ author: "Juliette ENGELAERE-LEFEBVRE"
date: "`r format(Sys.Date(), '%d/%m/%Y')`" date: "`r format(Sys.Date(), '%d/%m/%Y')`"
output: html_document output: html_document
params: params:
annee: "2023" annee: "2024"
sgbd: TRUE sgbd: TRUE
--- ---
...@@ -21,10 +21,7 @@ library(COGiter) ...@@ -21,10 +21,7 @@ library(COGiter)
# devtools::install_github("antuki/COGugaison") # devtools::install_github("antuki/COGugaison")
library(COGugaison) library(COGugaison)
library(readODS) library(readODS)
library(RPostgres)
library(rpostgis)
library(datalibaba) library(datalibaba)
library(DBI)
library(sf) library(sf)
# devtools::install_github("pachevalier/tricky") # devtools::install_github("pachevalier/tricky")
library(tricky) library(tricky)
...@@ -69,10 +66,10 @@ Il comporte une ligne par commune et rassemble des informations relatives à d'a ...@@ -69,10 +66,10 @@ Il comporte une ligne par commune et rassemble des informations relatives à d'a
```{r lecture fichier} ```{r lecture fichier}
pdl123_0 <- readODS::read_ods(path = fichier, sheet = 1, col_names = TRUE, col_types = NA) pdl123_0 <- readODS::read_ods(path = fichier, sheet = 1, col_types = NA, skip = 0, col_names = TRUE, .name_repair = "minimal",
verbose = TRUE)
pdl123_1 <- pdl123_0 %>% pdl123_1 <- pdl123_0 %>%
select(DEPCOM_HIST = 'Code commune', PDL123_2022 = 'ZONAGE 2022-2024\n') %>% select(DEPCOM_HIST = 'Code commune', PDL123_2022 = 'ZONAGE 2022-2024') %>%
left_join(table_passage_com_historique, by = "DEPCOM_HIST") %>% left_join(table_passage_com_historique, by = "DEPCOM_HIST") %>%
full_join(communes %>% filter(REG == "52") %>% select(contains("DEPCOM"), DEP, "EPCI", "NOM_EPCI"), full_join(communes %>% filter(REG == "52") %>% select(contains("DEPCOM"), DEP, "EPCI", "NOM_EPCI"),
by = c("DEPCOM")) %>% by = c("DEPCOM")) %>%
...@@ -82,9 +79,32 @@ pdl123_1 <- pdl123_0 %>% ...@@ -82,9 +79,32 @@ pdl123_1 <- pdl123_0 %>%
# Mise à jour de la géographie communale # Mise à jour de la géographie communale
## Ajout des communes nouvellement apparues
Les communes nouvelles issues de scission, sont absentes des fichiers transmis, pour retrouver leur zonage, on a besoin de leur code commune d'origine.
Ces derniers, peu nombreux, sont à renseigner à la main dans un fichier csv à deux champs "DEPCOM" et "DEPCOM_OLD", à constituer par SCTE dans : `r paste0("ref_dgaln/communes_scindees_", params$annee, ".csv")`.
```{r com scindees}
# Récupération des ancien code communes dans le fichier CSV à renseigner
communes_scindees_0 <- read.csv(paste0("ref_dgaln/communes_scindees_", params$annee, ".csv"), colClasses = "character") %>%
select(DEPCOM, DEPCOM_HIST = DEPCOM_OLD) %>%
filter(DEPCOM %in% pdl123_1$DEPCOM) %>%
left_join(pdl123_1 %>% select(-DEPCOM_HIST), by = c("DEPCOM_HIST" = "DEPCOM"))
pdl123_2 <- pdl123_1 %>%
anti_join(communes_scindees_0, by = "DEPCOM") %>%
bind_rows(communes_scindees_0) %>%
arrange(DEPCOM)
```
## Liste des communes présentes dans le tableur qui ont aujourd'hui disparu ## Liste des communes présentes dans le tableur qui ont aujourd'hui disparu
```{r explo carte geo} ```{r explo carte geo}
filter(pdl123_1, nb_depcom >1) filter(pdl123_2, nb_depcom >1)
``` ```
...@@ -95,14 +115,15 @@ Il suffit d'éliminer les doublons après avoir retiré l'ancien code commune et ...@@ -95,14 +115,15 @@ Il suffit d'éliminer les doublons après avoir retiré l'ancien code commune et
```{r traitements anciennes communes doublons} ```{r traitements anciennes communes doublons}
pdl123_2 <- pdl123_1 %>% pdl123_3 <- pdl123_2 %>%
select(-DEPCOM_HIST, -nb_depcom) %>% select(-DEPCOM_HIST, -nb_depcom) %>%
distinct() %>% distinct() %>%
add_count(DEPCOM, name = "nb_depcom") add_count(DEPCOM, name = "nb_depcom")
com_a_gerer <- filter(pdl123_2, nb_depcom > 1) %>% com_a_gerer <- filter(pdl123_3, nb_depcom > 1) %>%
pull(DEPCOM) %>% pull(DEPCOM) %>%
as.character() as.character()
com_a_gerer <- filter(pdl123_1, DEPCOM %in% com_a_gerer) com_a_gerer <- filter(pdl123_1, DEPCOM %in% com_a_gerer)
``` ```
...@@ -127,21 +148,21 @@ Exemples : ...@@ -127,21 +148,21 @@ Exemples :
```{r gestion modif com} ```{r gestion modif com}
# bloc des communes invariantes # bloc des communes invariantes
pdl123_3 <- pdl123_2 %>% pdl123_4 <- pdl123_3 %>%
filter(!(DEPCOM %in% com_a_gerer$DEPCOM)) %>% filter(!(DEPCOM %in% com_a_gerer$DEPCOM)) %>%
mutate(across(contains("PDL123"), .fns = list(choix1 = ~.x, choix2 = ~.x, choix3 = ~.x)), .keep = "unused") %>% mutate(across(contains("PDL123"), .fns = list(choix1 = ~.x, choix2 = ~.x, choix3 = ~.x)), .keep = "unused") %>%
select(-nb_depcom) %>% select(-nb_depcom) %>%
ungroup() ungroup()
pdl123_3_choix2 <- pdl123_1 %>% pdl123_4_choix2 <- pdl123_1 %>%
filter(DEPCOM %in% com_a_gerer$DEPCOM) %>% filter(DEPCOM %in% com_a_gerer$DEPCOM) %>%
mutate(across(contains("PDL123"), .fns = ~substr(.x, 4, 4) %>% as.numeric), .keep = "unused") %>% mutate(across(contains("PDL123"), .fns = ~substr(.x, 4, 4) %>% as.numeric), .keep = "unused") %>%
group_by(across(DEPCOM:NOM_EPCI)) %>% group_by(across(DEPCOM:NOM_EPCI)) %>%
summarise(across(contains("PDL123"), .fn = list(choix2 = ~ paste0("PDL", floor(median(.x))))), .groups = "drop") summarise(across(contains("PDL123"), .fn = list(choix2 = ~ paste0("PDL", floor(median(.x))))), .groups = "drop")
# Assemblage des options # Assemblage des options
pdl123 <- pdl123_3 %>% pdl123 <- pdl123_4 %>%
bind_rows(pdl123_3_choix2) %>% bind_rows(pdl123_4_choix2) %>%
arrange(DEPCOM) %>% arrange(DEPCOM) %>%
select(DEPCOM, NOM_DEPCOM, DEP, EPCI, NOM_EPCI, contains("choix2")) %>% select(DEPCOM, NOM_DEPCOM, DEP, EPCI, NOM_EPCI, contains("choix2")) %>%
rename_with(~gsub("_choix2", "", .x)) %>% rename_with(~gsub("_choix2", "", .x)) %>%
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment