Je suis récemment tombé sur un tableau indiquant la population de chacune des 13 nouvelles régions de France métropolitaine issues de la réforme des territoires de 2015. Le constat le plus amusant concernait la fusion Auvergne - Rhône-Alpes puisque cela créait la deuxième plus grande région de France en terme de population avec 8 millions d'habitants (évidemment derrière Paris et ses 12 millions d'habitants). L'aspect amusant de la chose résidait surtout dans le fait que même avant la fusion, la région Rhône-Alpes était déjà largement devant le reste du peloton et l'ajout de l'Auvergne (avec seulement 1.3 millions d'habitants) n'a pas d'impact majeur sur le classement final.
Il existe donc un fort déséquilibre dans ce mariage et cela peu donner l'impression aux auvergnats, de n'être qu'une pièce rapportée qui sera délaissée dans les processus de décision.
Pour vérifier cela, j'ai donc essayé d'étudier comment se repartissaient les bassins de population dans les différentes régions françaises en étudiant les différences de densité. L'approche est la suivante : Pour une région donnée, nous allons chercher des zones contenant x% de la population (pour cette étude j'ai choisi de trouver des zones contenant 25% de la population totale de la région).
Si une zone contenant 25% de la population occupe une surface représentant 25% de la surface totale de la région alors cette zone est "normalement" peuplée. Mais il existe des cas plus extrêmes. Il existe des zones très peu peuplées, par exemple, des zones occupant 50% de la surface totale de la région mais qui n'abritent que 25% de la population. A l'opposé, il existe des zones couvrant 9% de la surface d'une région qui elles aussi regroupent 25% de la population totale.
Méthode
La méthode pour trouver les zones "optimales" de chaque région (c'est à dire la zone la plus grande possible et la zone la plus petite possible contenant chacune 25% de la population) se résume en quelques étapes simples :
1- Extraire les données GEOFLA des communes d'une région donnée, qui contiennent les coordonnées GPS de chaque communes ainsi que les informations concernant leur surface et leur nombre d'habitants.
library('rgdal')
# Chargement des données GEOFLA
communes <- readOGR(dsn="COMMUNE", layer="COMMUNE")
Region <- "AUVERGNE-RHONE-ALPES"
# Subset des communes de la region
comm <- communes[communes@data$NOM_REG %in% Region,]
2- Formatage des données et calcul des distances euclidiennes (à vol d'oiseau) entre le centre de chaque commune.
dat <- comm@data
# formatage
dat$POPULATION <- as.numeric(levels(dat$POPULATION))[dat$POPULATION]
dat$SUPERFICIE <- as.numeric(levels(dat$SUPERFICIE))[dat$SUPERFICIE]
# Initialisation du tableau de sortie
Res <- data.frame(INSEE_COM=dat$INSEE_COM,SURF=NA)
# Calcul des distances entre communes
Dist <- as.matrix(dist(dat[,c("X_CENTROID","Y_CENTROID")]))
3- Pour chaque commune on va ordonner les autres communes de la région en fonction de leur distance à la commune étudiée. Ceci, afin de faire une recherche concentrique autour de ce point, de la surface nécessaire pour regrouper 25% des habitants de la région.
# On fait une boucle sur chaque commune
for(i in 1:nrow(dat)){
# 1 On calcule la proximité des autres communes
ord <- order(Dist[i,])
# 2 On calcule la somme cumulee de population
CSPop <- cumsum(dat[ord,"POPULATION"])
# 3 On trouve quelle liste de commune est necessaire pour atteindre
# x% de la population
ix=which(CSPop>0.250*max(CSPop))[1]
# 4 On calcule la surface totale de cette zone
surf = sum(dat[ord[1:(ix-1)],"SUPERFICIE"])
# 5 On affecte le resultat dans le tableau final
Res[i,"SURF"]<-surf
}
Résultats
On peut alors trouver la commune qui est le centre de la plus petite zone contenant 25% de la population totale et la commune qui est le centre de la plus grande zone contenant 25% de la population. Il est alors possible de créer une carte montrant ces deux zones. Nous obtenons le résultat suivant :
En orange, la plus petite zone "circulaire" qui concentre 25% de la population de la région.
En bleu, la plus grande zone "circulaire" contenant seulement 25% de la population de la région. Il y parfois certaines communes colorées en vert, ce qui indique qu'elles se trouvent à cheval dans les deux zones.
En gris, les communes qui ne sont dans aucune de ces deux zones extrêmes (et qui représentent donc les 50% restant de la population de la région)
Pour synthétiser : Dans la zone bleu il y a autant d'habitants que dans la zone orange, c'est à dire un quart de la population totale de la région à chaque fois.
Pour la région Alsace Champagne Ardennes Lorraine, la zone orange recouvre les villes de Strasbourg, Mulhouse et Colmar et concentre donc 25% de la population de la région mais ne représente que 9% de la surface totale de la région. De l'autre coté, on trouve une zone 6 fois plus grande (et qui représente donc 54% de la surface de la région) et qui elle aussi ne contient que 25% des habitants. Il s'agit donc d'une zone 6 fois moins peuplée et qui recouvre les villes de Troyes et Reims mais aussi beaucoup de communes de taille plus faibles.
Pour la région Aquitaine Limousin Poitou Charentes, évidemment la zone autour de Bordeaux est celle qui concentre en le moins d'espace possible 25% de la population et sans surprise, la zone autour de Guéret et Limoges fait honneur à sa réputation et se doit donc d'être beaucoup plus étendue afin d'elle aussi contenir 25% de la population.
Pour la région Auvergne Rhône Alpes, on constate sans surprise qu'une petite zone contenant Lyon et Saint-Étienne et qui couvre seulement 4% de la surface de la région concentre autant de population qu'une zone occupant 43% de la surface totale. L'obligation que nous nous sommes imposé d'avoir une zone circulaire implique dans ce cas un chevauchement au niveau de la ville de Saint-Étienne. Si l'on avait décidé d'une autre forme, nul doute que toute l'Auvergne aurait pu apparaitre en bleu ciel. Ceci reste un véritable exploit puisque l'est de la région est occupé par les Alpes qui ne sont pourtant pas extrêmement densément peuplées non plus (à l'exception de Grenoble).
Pour la Bourgogne Franche Comté, il est possible de trouver une zone moins peuplée que la région Besançon-Belfort-Montbéliard mais pour cela il faut aller du coté de Nevers et Auxerre. Là on sera d'accord pour dire que ça reste relativement désert dans les deux cas quand même.
En Bretagne, de manière prévisible, c'est le secteur de Rennes qui possède une plus forte densité de population et c'est plutôt le centre Bretagne qui est moins peuplé. Les zones en grises ne sont pas forcement les moins peuplées (Brest, Rennes, Lorient) mais elles ne le sont pas autant que la zone nord-est.
Dans le Centre - Val de Loire c'est la zone à proximité de Tours qui concentre le plus la population et sans surprise, on est moins dérangé par les voisins du coté de Bourges et Vierzon (même si on est globalement jamais dérangé par les voisins n'importe où en Centre Val de Loire)
En Corse, on arrive très vite à des extrêmes. Ainsi, 25% de la population de l'île se retrouve regroupée sur une zone occupant 2% de l'espace total (autour d'Ajaccio) alors qu'une zone immense occupant le centre de l'île et représentant 57% de la surface totale de la région regroupe elle aussi la même quantité d'habitants (cette zone étant principalement montagneuse)
Pour la région Ile de France c'est évidemment sans surprise. La comparaison n'est même pas nécessaire. Sachez cependant que dans le coin de Melun et Provins, c'est 50 fois moins dense environ qu'à Paris.
Pour la région Languedoc Roussillon, le résultat est moins impressionnant car les deux zones optimales se chevauchent de manière importante. Dans le cas de la zone orange, il s'agit de la zone Toulouse - Castres - Albi alors que dans la zone bleue, elle regroupe tout l'arrière-pays (Lozère, Aveyron...). En effet, là aussi, les zones côtières restant relativement densément peuplées (Montpellier et Nîmes par exemple)
Un bien élégant résultat que celui du Nord Pas de Calais-Picardie. Montrant l'importante densité autour de Lille et Lens qui représente seulement 4% de la surface totale et les zones plus clairsemées de l'Oise et des alentours où 25% de la population occupe 49% de la surface totale, soit une zone 12 fois moins peuplée. Ceux qui se sont déjà perdu en forêt de Compiègne comprendront.
En Normandie, c'est la zone Rouen - Évreux qui regroupe en un minimum d'espace 25% de la population. On retrouve aussi Évreux dans la zone la moins densément peuplée, mais cela est principalement lié à sa proximité avec la zone sud de la Normandie, avec l'Orne et le sud Calvados où la densité de population est plus faible puisqu'elle se rapproche de la densité du nombre de vaches au kilomètre carré.
Un résultat bien propre pour les Pays de la Loire. La région nantaise représente 9% de la surface mais contient autant d'habitants que la Mayenne et la Sarthe. Il faudra donc que nos amis mangeurs de rillettes fassent attention à ne pas se fâcher avec leurs voisins petits beurres.
Dernier exemple illustrant de manière flagrante la surpopulation en bord de mer. Il existe une zone représentant 73% de la surface de la région Provence-Alpes Côte d'Azur qui n'est occupée que par 25% de la population totale. Cela signifie donc que les 75% d'habitants restant se concentre sur 27% de la surface de la région. Il existe même une zone autour de Marseille qui concentre à elle seule 25% des habitants (sur seulement 2% de la surface). Ils sont fadas ces sudistes.
Conclusion
Pour finir, j'ai développé une application shiny (que je ne peux hélas pas rendre publique sur shinyapps.io car trop gourmande en mémoire). Elle permet à l'utilisateur de choisir sa région à étudier, mais aussi de modifier le percentile analysé (pas nécessairement 25%). Un recalcul des zones optimales est alors effectué. Il existe aussi la possibilité pour l'utilisateur ce cliquer sur la carte afin de centrer le calcul sur une zone de son choix et de constater quelle zone est nécessaire pour regrouper les x% de la population demandée. A défaut d'une appli, vous pouvez au moins voir une petite vidéo de démo (qui vous prouve que je ne raconte pas des balivernes)