Skip to contents

Ce document propose des exemples d’usage du package zonages habitat. Associé au package COGiter, on peut par exemple visualiser une carte des zonages, calculer des indicateurs à la maille d’un zonage avec les fonctions ajouter_zonage() ou ajouter_typologie().

library(zonages.habitat.r)
library(dplyr)
# remotes::install_github("MaelTheuliere/COGiter")
library(COGiter)
library(mapview)
library(sf)

# fond de carte communal du département du Maine-et-Loire
com <- communes_geo %>%
  left_join(communes, by = "DEPCOM") %>%
  filter(DEP == "49") %>% 
  select(DEPCOM, NOM_DEPCOM)

Visualisation des zonages proposés par zonages.habitat.r

Zonage ABC

Défini à l’article D304-1 du code de la construction et de l’habitation, le zonage conventionnellement appelé ABC effectue un « classement des communes du territoire national en zones géographiques en fonction du déséquilibre entre l’offre et de la demande de logements ». Par ordre décroissant de tension, les zones géographiques sont : Abis, A, B1, B2 et C. La zone A bis est incluse dans la zone A, les zones B1 et B2 forment la zone B.

 com %>% 
  left_join(abc) %>% 
  mapview(zcol = "zon_abc", legend = TRUE, layer.name = "Zonage ABC en Maine-et-Loire")
#> Joining with `by = join_by(DEPCOM)`

Délégataires des aides à la pierre

La loi n° 2004-809 du 13 août 2004 relative aux libertés et responsabilités locales permet à l’État, par son article 61, de déléguer aux EPCI (communautés urbaines, communautés d’agglomération, syndicats d’agglomération nouvelle, communautés de communes compétentes en matière d’habitat) et aux départements la gestion des aides à la pierre (parc locatif social et parc privé relevant de l’Anah).

La délégation des aides à la pierre donne aux EPCI et aux départements les outils pour développer l’offre de logements (publics ou privés). La délégation des aides à la pierre engage juridiquement l’État délégant et la collectivité délégataire pour six années renouvelables dans le cadre d’une convention, dite « convention de délégation de compétence », conclue sur la base d’un programme local de l’habitat (PLH) exécutoire, lorsqu’elle concerne un EPCI.

La table de passage entre les communes et les délégataires des aides à la pierre fournie par zonages.habitat.r propose pour chaque commune : le nom du délégataire qui gère les aides à la pierre sur cette commune, son code et son type (EPCI, Département ou Etat).


com %>% 
  left_join(delegataires) %>% 
  mapview(zcol = "type_dele", legend = TRUE, layer.name = "Délégataires en Maine-et-Loire")
#> Joining with `by = join_by(DEPCOM)`

Zonage HLM 123

Le zonage HLM 1/2/3 est un paramètre entrant dans le calcul des aides personnelles au logement (AL et APL). Il est également employé afin de déterminer les plafonds de loyer du logement social (PLAI et PLUS).


com %>% 
  left_join(hlm123) %>% 
  mapview(zcol = "hlm_123", legend = TRUE, layer.name = "Zonage HLM123 en Maine-et-Loire")
#> Joining with `by = join_by(DEPCOM)`

Zonage SRU

Table communale nationale du zonage d application de l article 55 la loi SRU. Les champs population_municipale et unite_urbaine expliquent l’entrée ou la sortie d’une commune dans le dispositif.


com %>% 
  left_join(sru) %>% 
  mapview(zcol = "art55_concer", legend = TRUE, layer.name = "Communes concernées par l'article 55 de la loi SRU en Maine-et-Loire")
#> Joining with `by = join_by(DEPCOM)`

Zonage Taxes sur les logements vacants

Table communale nationale du zonage d’application de la TLV (taxe sur les logements vacants) ou THLV (taxe d’habitation sur les logements vacants). Elle a été produite à partir de la base REI 2020 de la DGFIP (Recensement des éléments d imposition à la fiscalité directe locale).

https://www.economie.gouv.fr/particuliers/taxes-logements-vacants-tlv-thlv


com %>% 
  left_join(tlv) %>% 
  mapview(zcol = "TLV_lib", legend = TRUE, layer.name = "Communes ayant instaurée une taxe sur les logements vacants en Maine-et-Loire")
#> Joining with `by = join_by(DEPCOM)`

Exemple d’utilisation pour calculer des agrégats par zone

Le package COGiter propose un jeu de donnée de population communale en 2015. Il sert de support à nos exemple d’usage.

Population 2015 par delegataire des aides à la pierre en région Pays de la Loire

Cet exemple montre comment calculer un indicateur de population au contours de notre zonage des délégataires des aides à la pierre grâce à la fonction ajouter_zonage() de COGiter et à notre table delegataires.

# preparation de la table de zonage à l'usage de la fonction ajouter_zonage()
zonage_deleg <- delegataires %>%
  mutate(TypeZone = "Délégataires des aides à la pierre")

population_2015_par_deleg <- pop2015 %>%
  cogifier(code_commune = DEPCOM, communes = TRUE, epci = FALSE, departements = TRUE, regions = FALSE, metro = FALSE, metrodrom = FALSE,
           franceprovince = FALSE, drom = FALSE, as_df = TRUE, na.rm = TRUE) %>%
  filtrer_cog(reg = '52') %>% 
  ajouter_zonage(zonage_df = zonage_deleg, var_depcom = DEPCOM, var_code_zone = id_dele, var_zone = dele_nom, var_type_zone = TypeZone) %>%
  filter(TypeZone != "Communes")
#> Joining with `by = join_by(TypeZone, CodeZone)`
#> Joining with `by = join_by(DEPCOM)`

knitr::kable(population_2015_par_deleg, format.args = list(big.mark = "\u202f"))
TypeZone Zone CodeZone pop2015 pop2015_a_part pop2015_totale type_dele
Départements Loire-Atlantique 44 1 366 358 35 375 1 401 733
Départements Maine-et-Loire 49 809 055 22 877 831 932
Départements Mayenne 53 307 940 10 139 318 079
Départements Sarthe 72 568 445 14 706 583 151
Départements Vendée 85 666 714 18 959 685 673
Délégataires des aides à la pierre Nantes Métropole 44109 630 372 16 141 646 513 EPCI
Délégataires des aides à la pierre Saint Nazaire Agglomération 44184 122 932 4 190 127 122 EPCI
Délégataires des aides à la pierre CU Angers Loire Métropole 49007 292 691 8 554 301 245 EPCI
Délégataires des aides à la pierre Laval Agglomération 53130 112 762 4 539 117 301 EPCI
Délégataires des aides à la pierre CU Le Mans Métropole 72181 206 024 5 463 211 487 EPCI
Délégataires des aides à la pierre CA La Roche sur Yon - Agglomération 85191 94 892 4 472 99 364 EPCI
Délégataires des aides à la pierre CA Les Sables d’Olonne Agglomération 85194 51 234 1 666 52 900 EPCI
Délégataires des aides à la pierre Dpt Loire Atlantique CG044 613 054 15 044 628 098 departement
Délégataires des aides à la pierre Dpt Maine et Loire CG049 516 364 14 323 530 687 departement
Délégataires des aides à la pierre Dpt Mayenne CG053 195 178 5 600 200 778 departement
Délégataires des aides à la pierre Dpt Sarthe CG072 362 421 9 243 371 664 departement
Délégataires des aides à la pierre Dpt Vendée CG085 520 588 12 821 533 409 departement

Population 2015 par département et par zone A/B/C en région Pays de la Loire

Cet exemple montre comment calculer un indicateur de population par zone ABC de chaque département grâce à la fonction ajouter_typologie() de COGiter et à notre table abc.

# preparation de la table de zonage à l'usage de la fonction ajouter_typologie()
zonage_abc <- abc %>% 
  mutate(Zone = factor(zon_abc, ordered = FALSE), CodeZone = Zone, TypeZone = "ABC") 

pop2015 %>% 
  cogifier(code_commune = DEPCOM, communes = TRUE, epci = FALSE, departements = FALSE, regions = FALSE, metro = FALSE, metrodrom = FALSE, 
           franceprovince = FALSE, drom = FALSE, as_df = TRUE, na.rm = TRUE) %>% 
  filtrer_cog(reg = "52") %>% 
  ajouter_typologie(zonage_df = zonage_abc, var_depcom = DEPCOM, var_code_zone = CodeZone, var_type_zone = TypeZone, var_zone = Zone,
                    departements = TRUE, regions = TRUE, metro = FALSE, metrodrom = FALSE, drom = FALSE, franceprovince = FALSE) %>% 
  filter(TypeZone != "Communes") %>% 
  knitr::kable(format.args = list(big.mark = "\u202f"))
#> Joining with `by = join_by(TypeZone, CodeZone)`
#> Joining with `by = join_by(DEPCOM)`
TypeZone Zone CodeZone pop2015 pop2015_a_part pop2015_totale zon_abc TypeZoneTypo ZoneTypo
ABC - Départements A - Loire-Atlantique A - 44 333 864 9 231 343 095 A ABC A
ABC - Départements B1 - Loire-Atlantique B1 - 44 695 470 18 996 714 466 B1 ABC B1
ABC - Départements B1 - Maine-et-Loire B1 - 49 293 755 9 230 302 985 B1 ABC B1
ABC - Départements B1 - Mayenne B1 - 53 77 223 3 754 80 977 B1 ABC B1
ABC - Départements B1 - Sarthe B1 - 72 150 789 3 927 154 716 B1 ABC B1
ABC - Départements B1 - Vendée B1 - 85 226 224 8 129 234 353 B1 ABC B1
ABC - Départements B2 - Loire-Atlantique B2 - 44 72 521 1 303 73 824 B2 ABC B2
ABC - Départements B2 - Maine-et-Loire B2 - 49 116 876 3 709 120 585 B2 ABC B2
ABC - Départements B2 - Sarthe B2 - 72 75 618 2 037 77 655 B2 ABC B2
ABC - Départements B2 - Vendée B2 - 85 19 254 359 19 613 B2 ABC B2
ABC - Départements C - Loire-Atlantique C - 44 264 503 5 845 270 348 C ABC C
ABC - Départements C - Maine-et-Loire C - 49 382 180 9 683 391 863 C ABC C
ABC - Départements C - Mayenne C - 53 230 717 6 385 237 102 C ABC C
ABC - Départements C - Sarthe C - 72 339 367 8 674 348 041 C ABC C
ABC - Départements C - Vendée C - 85 418 847 10 435 429 282 C ABC C
ABC - Régions A - Pays de la Loire A - 52 333 864 9 231 343 095 A ABC A
ABC - Régions B1 - Pays de la Loire B1 - 52 1 443 461 44 036 1 487 497 B1 ABC B1
ABC - Régions B2 - Pays de la Loire B2 - 52 284 269 7 408 291 677 B2 ABC B2
ABC - Régions C - Pays de la Loire C - 52 1 635 614 41 022 1 676 636 C ABC C