# datapréparation de la table de passage des communes vers les zonages supra de l'insee
millesime <- "2023"
repo_mil <- paste0("data-raw/source/", millesime, "/COG")
fich_mil <- paste0("table-appartenance-geo-communes-", substr(millesime, 3, 4))
path_fic_xls <- paste0(repo_mil, "/", fich_mil, ".xlsx")
library(readxl)
library(purrr)
library(dplyr)
fact.enc.utf8 <- function(a) {
a <- as.factor(a) %>%
fct_relabel(.fun = enc2utf8)
}
# intégration de la table d'appartenance
download.file(paste0("https://www.insee.fr/fr/statistiques/fichier/2028028/", fich_mil, ".zip"),
destfile = paste0(repo_mil, "/", fich_mil, ".zip"))
unzip(zipfile = paste0(repo_mil, "/", fich_mil, ".zip"),
exdir = repo_mil)
table_passage_com_zonages <- read_excel(path_fic_xls, skip = 5) %>%
mutate(across(everything(), fact.enc.utf8))
# lecture des données avec les libellés des zonages onglet Zones_supra_communales --------
libelle_cv <- read_excel(path_fic_xls, skip = 5, sheet = "Zones_supra_communales") %>%
filter(NIVGEO == "CV") %>%
select(CV = CODGEO, LIB_CV = LIBGEO)
libelle_arr <- read_excel(path_fic_xls, skip = 5, sheet = "Zones_supra_communales") %>%
filter(NIVGEO == "ARR") %>%
select(ARR = CODGEO, LIB_ARR = LIBGEO)
libelle_ze2020 <- read_excel(path_fic_xls, skip = 5, sheet = "Zones_supra_communales") %>%
filter(NIVGEO == "ZE2020") %>%
select(ZE2020 = CODGEO, LIB_ZE2020 = LIBGEO)
libelle_uu2020 <- read_excel(path_fic_xls, skip = 5, sheet = "Zones_supra_communales") %>%
filter(NIVGEO == "UU2020") %>%
select(UU2020 = CODGEO, LIB_UU2020 = LIBGEO)
libelle_bv2022 <- read_excel(path_fic_xls, skip = 5, sheet = "Zones_supra_communales") %>%
filter(NIVGEO == "BV2022") %>%
select(BV2022 = CODGEO, LIB_BV2022 = LIBGEO)
libelle_aav2020 <- read_excel(path_fic_xls, skip = 5, sheet = "Zones_supra_communales") %>%
filter(NIVGEO == "AAV2020") %>%
select(AAV2020 = CODGEO, LIB_AAV2020 = LIBGEO)
# lecture des données avec les libellés des zonages onglet documentation --------
libelle_taav2017 <- read_excel(path_fic_xls, range = "A16:A21", sheet = "Documentation", col_names = FALSE, .name_repair = ~ c("x")) %>%
mutate(TAAV2017 = stringr::str_split_fixed(x, n = 2, " - ")[, 1],
LIB_TAAV2017 = stringr::str_split_fixed(x, n = 2, " - ")[, 2]
) %>%
select(TAAV2017, LIB_TAAV2017)
libelle_tdaav2017 <- read_excel(path_fic_xls, range = "A26:A42", sheet = "Documentation", col_names = FALSE, .name_repair = ~ c("x")) %>%
mutate(TDAAV2017 = stringr::str_split_fixed(x, n = 2, " - ")[, 1],
LIB_TDAAV2017 = stringr::str_split_fixed(x, n = 2, " - ")[, 2]
) %>%
select(TDAAV2017, LIB_TDAAV2017)
libelle_cateaav2020 <- read_excel(path_fic_xls, range = "A47:A51", sheet = "Documentation", col_names = FALSE, .name_repair = ~ c("x")) %>%
mutate(CATEAAV2020 = stringr::str_split_fixed(x, n = 2, " - ")[, 1],
LIB_CATEAAV2020 = stringr::str_split_fixed(x, n = 2, " - ")[, 2]
) %>%
select(CATEAAV2020, LIB_CATEAAV2020)
libelle_tuu2017 <- read_excel(path_fic_xls, range = "A56:A64", sheet = "Documentation", col_names = FALSE, .name_repair = ~ c("x")) %>%
mutate(TUU2017 = stringr::str_split_fixed(x, n = 2, " ")[, 1],
LIB_TUU2017 = stringr::str_split_fixed(x, n = 2, " ")[, 2]
) %>%
select(TUU2017, LIB_TUU2017)
libelle_tduu2017 <- read_excel(path_fic_xls, range = "A72:A92", sheet = "Documentation", col_names = FALSE, .name_repair = ~ c("x")) %>%
mutate(TDUU2017 = stringr::str_split_fixed(x, n = 2, " ")[, 1],
LIB_TDUU2017 = stringr::str_split_fixed(x, n = 2, " ")[, 2]
) %>%
select(TDUU2017, LIB_TDUU2017)
# intégration des libellés à la table de passage -------------
table_passage_communes_zonages <- list(table_passage_com_zonages,
libelle_aav2020,
libelle_arr,
libelle_bv2022,
libelle_cateaav2020,
libelle_cv,
libelle_taav2017,
libelle_tdaav2017,
libelle_tduu2017,
libelle_tuu2017,
libelle_uu2020,
libelle_ze2020) %>%
reduce(inner_join) %>%
mutate(across(where(is.character), as.factor)) %>%
rename(DEPCOM = CODGEO) %>%
select(DEPCOM, ARR, LIB_ARR, CV, LIB_CV, ZE2020, LIB_ZE2020, UU2020, LIB_UU2020, TUU2017, LIB_TUU2017, TDUU2017, LIB_TDUU2017,
AAV2020, LIB_AAV2020, TAAV2017, LIB_TAAV2017, TDAAV2017, LIB_TDAAV2017, CATEAAV2020, LIB_CATEAAV2020, BV2022, LIB_BV2022)
nrow(table_passage_communes_zonages) == nrow(table_passage_com_zonages)
names(COGiter::table_passage_communes_zonages) == names(table_passage_communes_zonages)
glimpse(COGiter::table_passage_communes_zonages)
glimpse(table_passage_communes_zonages)
usethis::use_data(table_passage_communes_zonages, overwrite = TRUE)
# utilitaires.ju::use_data_doc("table_passage_communes_zonages", description = "Table de passage des communes vers des zonages supra", source = "Insee : https://www.insee.fr/fr/information/2028028")
liste_zonages <- tibble::tribble(
~"Code du zonage",~"Nom du zonage",
"ARR","Arrondissement",
"CV","Canton ville",
"ZE2020","Zone d\'emploi 20220",
"UU2020","Unit\u00e9 urbaine 2020",
"TUU2017","Tranche d\'unit\u00e9 urbaine 2020 calcul\u00e9e sur la population 2017",
"TDUU2017","Tranche d\u00e9taill\u00e9e d\'unit\u00e9 urbaine 2017",
"AAV2020","Aire d\'attraction des villes 2020",
"TAAV2017","Tranche d\'aire d\'attraction des villes 2020 calcul\u00e9e sur la population 2017",
"TDAAV2017","Tranche d\u00e9taill\u00e9e d\'aire d\'attraction des villes 2020 calcul\u00e9e sur la population 2017",
"CATEAAV2020","Cat\u00e9gorie commune dans aire d\'attraction des villes 2020",
"BV2022","Bassin de vie 2022"
)
# un autre dataset interne, nécessaire pour les fonctions filtrer_cog
com_limitrophes_epci_a_cheval <- select(communes, DEPCOM, NOM_DEPCOM, DEP, DEPARTEMENTS_DE_L_EPCI) %>%
unnest(DEPARTEMENTS_DE_L_EPCI) %>%
filter(DEP != DEPARTEMENTS_DE_L_EPCI) %>%
select(-DEP) %>%
rename(DEP = DEPARTEMENTS_DE_L_EPCI) %>%
left_join(departements %>% select(DEP, REG)) %>%
mutate(
TypeZone = factor("Communes", levels = levels(liste_zone$TypeZone)),
DEP = as.list(as.character(DEP)),
REG = as.list(as.character(REG))
) %>%
rename(CodeZone = DEPCOM, Zone = NOM_DEPCOM)
usethis::use_data(liste_zonages, com_limitrophes_epci_a_cheval, internal = TRUE, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.