L’objectif de cette section consiste à comparer les points d’intérêts issus de la BPE et ceux extraits d’OpenStreetMap pour les 15 équipements sélectionnés : magasins d’alimentation, d’ameubmement, banques, boucheries, boulangeries, magasins de chaussures, cinémas, coiffeurs, magasins d’électronique, opticiens, pharmacies, cafés-restaurants, stations service, théâtres et magasins de vêtements.

Cette comparaison porte sur les communes françaises exclusivement, étant donné la couverture géographique de la BPE. Il serait envisageable d’étendre cette analyse aux autres pays frontaliers si d’autres bases nationales de référence étaient identifiées.


1 Données et fonction d’entrée

1.2 Fonction de dénombrement

La fonction CountPt est créée pour dénombrer le nombre de points d’intérêt (OSM ou BPE) pour chaque unité territoriale d’un maillage géographique de référence. La fonction prend en entrée un objet sf (x) qui correspond au maillage de référence utilisé pour dénombrer les points d’intérêts. L’argument pt contient les points d’intérêt (couche OSM ou BPE dans notre cas). Les arguments var et equippermet de cibler le champ de pt (var) et sur quelle modalité de var porte ce ce dénombrement (equip).


2 Dénombrement OSM / BPE par catégories

Nous commençons par dénombrer les équipements OSM et BPE par grandes catégories : classification urbaine et poids démographique des communes, type d’équipement.

Pour l’ensemble de ces catégories, ce dénombrement est réalisé par source de données. Leur écart absolu et relatif est ensuite calculé. Ils sont par la suite synthétisés sous forme de graphique.

Les couches de points BPE et OSM sont tout d’abord intersectées avec le découpage communal français. Les géométries sont ensuite retirées pour pouvoir dénombrer les points d’intérêt par grandes catégories.


2.1 Par catégorie d’équipement

categorie OSM BPE Ecart Absolu Ecart relatif
theatre 29 6 23 483.3
cinema 19 21 -2 90.5
electronique 59 114 -55 51.8
station_service 159 134 25 118.7
chaussures 50 188 -138 26.6
ameublement 67 241 -174 27.8
boucherie 42 263 -221 16.0
alimentation 127 282 -155 45.0
opticien 59 294 -235 20.1
pharmacie 184 364 -180 50.5
banque 220 488 -268 45.1
boulangerie 237 888 -651 26.7
vetements 244 1072 -828 22.8
coiffeur 148 1626 -1478 9.1
restaurant 1076 2777 -1701 38.7
Total 2720 8758 -6038 31.1
## png 
##   2
## png 
##   2

figure B01 à B02 - Écarts absolus et relatifs par type d’équipement


2.2 Selon le zonage par type d’unité urbaine

Le dénombrement porte ici selon la localisation des points au regard du zonage communal en unités urbaines. Pour rappel les communes rurales ont été préalablement décomposées en périurbaines/rurales en tenant compte du zonage en aires urbaines.

Categorie Nb.de.communes OSM BPE Ecart Absolu Ecart relatif
Com. périurbaines 202 77 354 -277 21.8
Com. rurales 312 156 500 -344 31.2
Com. isolées 27 248 569 -321 43.6
Banlieues 118 618 2696 -2078 22.9
Centres 44 1621 4639 -3018 34.9
Total 703 2720 8758 -6038 31.1
## png 
##   2
## png 
##   2

figure B03 à B04 - Écarts absolus et relatifs par type d’unité urbaine


2.3 Dénombrement selon des seuils de population (commune d’appartenance)

Une typologie basée sur le poids démographique des communes d’appartenance des points OSM et BPE est créée. On souhaite ici évaluer l’écart existant entre le nombre de points BPE et OSM en fonction de la taille démographique de leur commune d’appartenance.

Categorie Nb.de.communes OSM BPE Ecart Absolu Ecart relatif
Moins de 500 hab. 326 44 174 -130 25.3
500 à 2000 hab. 252 305 1067 -762 28.6
2000 à 5000 hab. 79 472 1524 -1052 31.0
5000 à 10000 hab. 28 344 1666 -1322 20.6
10000 et 20000 hab. 13 259 1389 -1130 18.6
Plus de 20000 hab. 5 1296 2938 -1642 44.1
Total 703 2720 8758 -6038 31.1
## png 
##   2
## png 
##   2

figure B05 à B06 - Écarts absolus et relatifs par population communale (2011)


3 Dénombrement dans les mailles territoriales par niveaux de gamme

On cherche ici à dénombrer les équipements OSM et BPE dans différents maillages de référence (grilles régulières, découpage communal…) par niveau de gamme (proximité, intermédiaire, supérieur) et ainsi évaluer spatialement les différences existant entre les deux bases de données.

Pour les 15 équipements sélectionnés, la gamme de proximité comprend les boulangeries, boucheries, pharmacies, magasins d’alimentation, cafés-restaurants et coiffeurs. La gamme intermédiaire comprend les magasins de vêtement, d’ameublement, d’électronique, de chaussures, les opticiens, banques et stations service. Deux équipements sont compris dans la gamme supérieure : les cinémas et théâtres.


3.1 Les communes françaises

Les équipements sont dénombrés par gamme et par communes pour BPE et OSM avec la fonction CountPt créée plus haut. Un taux de complétude (somme des équipements OSM / somme des équipements BPE) est calculé en conséquence.

Ce taux de complétude est cartographié, ainsi que le nombre d’équipements par niveaux de gamme est maintenant cartographié à l’échelle des communes pour les deux sources de données.

# paramètres cartographiques pour la qualité de l'image
res <- 400
sizes <- getFigDim(x = nuts3, width = 3000, mar = c(0,0,1.2,0), res = res)
hauteur = (sizes[2]-500)*2

png(file = "fig/B08_lau2_completude.png",width = sizes[1], height = sizes[2], res = res)
par(mar = c(0,0,1.2,0), mfrow = c(1,1))

plot(st_geometry(nuts3), col = NA, border = NA) 

choroLayer(x = laufr, var = "comp", border = "ivory1", 
           breaks = c(0,10,20,31,40,50,100,600), lwd = 0.2,
           col = carto.pal(pal1 = "blue.pal", pal2 = "orange.pal", n1 = 3, n2 = 4),
           colNA = "lightgrey", legend.pos = "n", add = TRUE)

plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 

propSymbolsLayer(x = laufr, var = "totbpe", col = "#ffffff60",
                 legend.pos = "n", inches = 0.3, add = TRUE)

legendChoro(title.txt = "POI OSM / POI BPE\n(15 équipements, %)",
            breaks = c(0,10, 20, 31, 40, 50, 100, 600),
            col = carto.pal(pal1 = "blue.pal", pal2 = "orange.pal", n1 = 3, n2 = 4),
            nodata.col = "lightgrey", nodata.txt = "Pas d'équipement BPE",
            pos = "topright", frame = TRUE)

legendCirclesSymbols(title.txt = "Nb équipements BPE", 
                     var = c(10, 100, 500, max(laufr$totbpe)),
                     col = NA, pos = "topleft", inches = 0.3, frame = TRUE)

labelLayer(x = laufr[order(laufr$totbpe, decreasing = T),][1:10,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.6, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)

layoutLayer(title = "Taux de complétude OSM (15 équipements)", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap",
            posscale = c(4002561, 2879651), frame= FALSE, horiz = FALSE, 
            author = "UMS RIATE, 2020", col = "#990000")

dev.off()
## png 
##   2
png(file = "fig/B09_lau2_proximite.png",width = sizes[1], height = hauteur, res = res)
par(mar = c(0,0,1.2,0), mfrow = c(2,1))
plot(st_geometry(laufr), col = "orange", border = "ivory1", lwd = 0.2)
plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 
propSymbolsLayer(x = laufr, var = "lowosm", col = "red3", 
                 legend.pos = "topright", 
                 legend.title.txt = "Nombre d'équipements", fixmax = max(laufr$lowbpe), 
                 legend.frame = TRUE)
labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:5,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.6, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)
layoutLayer(title = "Equipements gamme de proximité - OSM", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap", 
            horiz = FALSE,
            posscale = c(4002561, 2879651), frame= FALSE,
            author = "UMS RIATE, 2019", col = "#990000")

plot(st_geometry(laufr), col = "orange", border = "ivory1", lwd = 0.2)
plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 
propSymbolsLayer(x = laufr, var = "lowbpe", col = "red3", 
                 legend.pos = "n",  fixmax = max(laufr$lowbpe))
labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:5,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.6, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)
layoutLayer(title = "Equipements gamme de proximité - BPE", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap", 
            horiz = FALSE,
            posscale = c(4002561, 2879651), frame= FALSE,
            author = "UMS RIATE, 2019", col = "#990000")
dev.off()
## png 
##   2
png(file = "fig/B10_lau2_intermediaire.png",width = sizes[1], height = hauteur, res = res)
par(mar = c(0,0,1.2,0), mfrow = c(2,1))
plot(st_geometry(laufr), col = "orange", border = "ivory1", lwd = 0.2)
plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 
propSymbolsLayer(x = laufr, var = "midosm", col = "gold2", 
                 legend.pos = "topright", fixmax = max(laufr$midbpe), 
                 legend.title.txt = "Nombre d'équipements",
                 legend.frame = TRUE)
labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:5,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.6, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)
layoutLayer(title = "Equipements gamme intermédiaire - OSM", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap", 
            horiz = FALSE,
            posscale = c(4002561, 2879651), frame= FALSE,
            author = "UMS RIATE, 2019", col = "#990000")

plot(st_geometry(laufr), col = "orange", border = "ivory1", lwd = 0.2)
plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 
propSymbolsLayer(x = laufr, var = "midbpe", col = "gold2", 
                 legend.pos = "n", fixmax = max(laufr$midbpe))
labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:5,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.6, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)
layoutLayer(title = "Equipements gamme intermédiaire - BPE", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap", 
            horiz = FALSE,
            posscale = c(4002561, 2879651), frame= FALSE,
            author = "UMS RIATE, 2019", col = "#990000")
dev.off()
## png 
##   2
png(file = "fig/B11_lau2_superieur.png",width = sizes[1], height = hauteur, res = res)
par(mar = c(0,0,1.2,0), mfrow = c(2,1))
plot(st_geometry(laufr), col = "orange", border = "ivory1", lwd = 0.2)
plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 
propSymbolsLayer(x = laufr, var = "higosm", col = "darkgreen", 
                 legend.pos = "topright", fixmax = max(laufr$higosm), 
                 legend.title.txt = "Nombre d'équipements",
                 legend.frame = TRUE)
labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:5,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.6, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)
layoutLayer(title = "Equipements gamme supérieure - OSM", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap", 
            horiz = FALSE,
            posscale = c(4002561, 2879651), frame= FALSE,
            author = "UMS RIATE, 2019", col = "#990000")

plot(st_geometry(laufr), col = "orange", border = "ivory1", lwd = 0.2)
plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 
propSymbolsLayer(x = laufr, var = "higbpe", col = "darkgreen", 
                 legend.pos = "n", fixmax = max(laufr$higosm))
labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:5,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.6, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)
layoutLayer(title = "Equipements gamme supérieur - BPE", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap", 
            horiz = FALSE,
            posscale = c(4002561, 2879651), frame= FALSE,
            author = "UMS RIATE, 2019", col = "#990000")
dev.off()
## png 
##   2

figure B08 - Complétude OSM (15 équipements)

figure B09 - Equipements gamme proximité - BPE

figure B10 - Equipements gamme intermédiaire - BPE

figure B11 - Equipements gamme supérieur - BPE

La part des équipements de chaque communes dans le total des équipement pour BPE et OSM est ensuite calculé d’abord globalement, puis par gamme.

Nom Pct équip. prox. BPE Nom Pct équip. prox. OSM
Metz 17.1 Metz 34.5
Thionville 5.5 Thionville 5.6
Sarreguemines 3.1 Forbach 2.9
Forbach 2.9 Sarreguemines 2.5
Saint-Avold 2.3 Longwy 2.3
Longwy 1.9 Montigny-lès-Metz 2.3
Montigny-lès-Metz 1.8 Hagondange 1.7
Freyming-Merlebach 1.8 Hettange-Grande 1.2
Creutzwald 1.6 Saint-Avold 1.1
Yutz 1.4 Farébersviller 1.0
Nom Pct équip. inter. BPE Nom Pct équip. inter. OSM
Metz 21.5 Metz 28.8
Thionville 9.7 Thionville 12.2
Sarreguemines 5.5 Forbach 4.0
Forbach 3.6 Longwy 2.9
Saint-Avold 2.8 Saint-Avold 2.4
Talange 2.7 Longeville-lès-Saint-Avold 2.2
Longwy 2.0 Augny 2.0
Mont-Saint-Martin 2.0 Terville 2.0
Creutzwald 1.9 Sarreguemines 1.7
Moulins-lès-Metz 1.9 Moulins-lès-Metz 1.6
Nom Pct équip. sup. BPE Nom Pct équip. sup. OSM
Metz 14.8 Thionville 20.8
Thionville 11.1 Metz 14.6
Forbach 7.4 Amnéville 8.3
Sarreguemines 7.4 Serémange-Erzange 6.2
Conflans-en-Jarnisy 3.7 J<U+009C>uf 4.2
Homécourt 3.7 Forbach 4.2
Jarny 3.7 Maizières-lès-Metz 4.2
J<U+009C>uf 3.7 Conflans-en-Jarnisy 2.1
Longwy 3.7 Homécourt 2.1
Piennes 3.7 Longwy 2.1


3.2 Grilles

Les équipements par niveaux de gamme sont maintenant dénombrés sur la grille régulière de 3km créée plus haut. Ceci afin de disposer d’une autre lecture territoriale du nombre d’équipements présents dans chacune des deux bases de données.

Comme avec les communes françaises, les équipements sont dénombrés par niveau de gamme, puis cartographiés.

## png 
##   2
## png 
##   2
## png 
##   2

figure B12 à B14 - Equipements et gammes - OSM

Les différences absolue et relative du nombre d’équipements par niveau de gamme entre les bases OSM et BPE sont ensuite calculées puis cartographiées. Pour la visualisation des écarts relatifs, la taille du figuré est proportionnelle au nombre d’équipements BPE et OSM présent dans le carreau de grille. Ceci afin de restituer les effets de taille très hétérogènes sur l’espace d’étude.

# Ecart absolu
gridfr$lowdif <- gridfr$lowosm - gridfr$lowbpe
gridfr$middif <- gridfr$midosm - gridfr$midbpe
gridfr$higdif <- gridfr$higosm - gridfr$higbpe

# Suppression valeurs égales à 0
low <- gridfr[gridfr$lowdif != 0,]
mid <- gridfr[gridfr$middif != 0,]
hig <- gridfr[gridfr$higdif != 0,]

# Ecart relatif
low$lowrel <- (low$lowosm - low$lowbpe)/ low$lowbpe * 100
mid$midrel <- (mid$midosm - mid$midbpe)/ mid$midbpe * 100
hig$higrel <- (hig$higosm - hig$higbpe)/ hig$higbpe * 100

low$stock <- low$lowbpe + low$lowosm
mid$stock <- mid$midbpe + mid$midosm
hig$stock <- hig$higbpe + hig$higosm

# Gestion des valeursz infinies (pas d'équipement BPE)
low$lowrel[low$lowrel == Inf] <- 1000
mid$midrel[mid$midrel == Inf] <- 1000
hig$higrel[hig$higrel == Inf] <- 1000


png(file = "fig/B15_grid_3kdiff_proximite.png",width = sizes[1], height = sizes[2], res = res)
par(mar = c(0,0,1.2,0), mfrow = c(1,1))

## Carto difference gamme proximité
breaks <- c(min(low$lowrel), -75, -50, -25, -10, -5, 0, max(low$lowrel))
col <- carto.pal(pal1 = "blue.pal", pal2 = "pink.pal", n1 = 6, n2 = 1)

plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1) 

propSymbolsChoroLayer(x = low, var = "stock", var2 = "lowrel", col = col, 
                      inches = 0.2, breaks = breaks, symbols = "square", border = "white", 
                      legend.var.pos = "n", legend.var2.pos = "n", add = TRUE)

legendSquaresSymbols(pos = "top",title.txt = "Nombre d'équipements\nOSM + BPE",
                     title.cex = 0.7, cex = 1,border = "black", lwd = 1, values.cex = 0.6, 
                     var = c(max(low$stock), min(low$stock)), inches = 0.2, col = "grey", 
                     frame = TRUE)

legendChoro(pos = "topright", title.txt = "OSM - BPE / BPE * 100 ",
  title.cex = 0.7, values.cex = 0.6, breaks = breaks, col = col, cex = 0.6,
  nodata.txt = "Pas d'équipement", frame = TRUE, border = "black")

layoutLayer(title = "Différence relative d'équipements OSM/BPE - Gamme de proximité", 
            sources = "BPE, Contributeurs OpenStreetMap", 
            horiz = FALSE,
            posscale = c(4002561, 2879651), frame= FALSE,
            author = "UMS RIATE, 2020", col = "#990000")
dev.off()
## png 
##   2
## png 
##   2
## png 
##   2

figure B15 à B17 - Différence relative d’équipements OSM/BPE - par gamme


4 Présences, absences, seuils d’apparition et de généralisation.

L’analyse se poursuit avec une analyse de complétude par présence ou absence des équipements dans les communes de l’espace d’étude. Pour chacun des 15 équipements sélectionnés, on cherche à coder par “1” une commune qui dispose d’au moins un équipement, et 0 celle qui n’en dispose pas.

L’idée consiste tout d’abord à évaluer le nombre d’équipements différents présents par commune pour les bases OSM et BPE. Ensuite et par équipement, nous proposons d’identifier les communes qui disposent de l’équipement pour les deux bases de données, aucune des deux ou une des deux bases. L’analyse se termine par l’identification des seuils démographiques d’apparition (25% des communes disposent de l’équipement) et de généralisation (75% des communes disposent de l’équipement) pour chacun des équipements.

Pour pouvoir mener à bien ces analyses, un travail préalable de préparation des données est nécessaire. On commence par dénombrer chaque équipement dans les communes françaises pour OSM et la BPE.

Sur la base de ce dénombrement, on crée ensuite une typologie pour identifier les communes qui disposent d’un équipement dans la BPE et OSM, une des deux bases (et laquelle) ou dans aucune des deux. On calcule aussi le nombre d’équipements différents par commune.

# Retirer les géométries et sélectionner les bonnes colonnes
tmp <- st_set_geometry(laufr[,c(which(colnames(laufr) == "GISCO_ID"),
                                which(colnames(laufr) == "alimentation_osm"):
                                  which(colnames(laufr) == "vetements_bpe"))], NULL)

# Typologie de présence
## Présence OSM = 2
for (i in colnames(tmp[which(colnames(tmp) == "alimentation_osm") : which(colnames(tmp) == "vetements_osm")])){
  tmp[[paste0(i,"_pres")]] <- ifelse(tmp[[i]] > 0, 2, 0)
}

## Présence BPE = 4
for (i in colnames(tmp[which(colnames(tmp) == "alimentation_bpe") : which(colnames(tmp) == "vetements_bpe")])){
  tmp[[paste0(i,"_pres")]] <- ifelse(tmp[[i]] > 0, 4, 0)
}

## Présence BPE + OSM
for (i in which(colnames(tmp) == "alimentation_osm") : which(colnames(tmp) == "vetements_osm")){
  tmp[[paste0(substr(colnames(tmp)[i], 1, nchar(colnames(tmp)[i])-4),"_pres2")]] <- tmp[,i+30] + tmp[,i+45] 
}

## Renommer les "labels"
for (i in which(colnames(tmp) == "alimentation_pres2"):which(colnames(tmp) =="vetements_pres2")){
  tmp[[substr(colnames(tmp)[i],1, nchar(colnames(tmp)[i])-6)]] <- cut(tmp[,i],
                                                     breaks = c(0, 2, 4, 6, 7),
                                                     include.lowest = TRUE,
                                                     right = FALSE,
                                                     labels = c("Aucun des deux", 
                                                                "OSM",
                                                                "BPE",
                                                                "OSM et BPE"))
}


# Nombre d'équipements différents par commune
# Présence OSM = 1
for (i in colnames(tmp[which(colnames(tmp) == "alimentation_osm") : which(colnames(tmp) == "vetements_osm")])){
  tmp[[paste0(i,"_pres")]] <- ifelse(tmp[[i]] > 0, 1, 0)
}

## Présence BPE = 1
for (i in colnames(tmp[which(colnames(tmp) == "alimentation_bpe") : which(colnames(tmp) == "vetements_bpe")])){
  tmp[[paste0(i,"_pres")]] <- ifelse(tmp[[i]] > 0, 1, 0)
}

tmp$osmEq <- apply(tmp[,which(colnames(tmp) == "alimentation_osm_pres"): which(colnames(tmp) == "vetements_osm_pres")], 1, sum)
tmp$bpeEq <- apply(tmp[,which(colnames(tmp) == "alimentation_bpe_pres"): which(colnames(tmp) == "vetements_bpe_pres")], 1, sum)


# Synthèse présence - absence tout équipement
# Présence OSM
tmp$totalOSM <- ifelse(tmp$osmEq > 0, 2, 0)
tmp$totalBPE <- ifelse(tmp$bpeEq > 0, 4, 0)
tmp$total <- tmp$totalBPE + tmp$totalOSM

tmp$total <- cut(tmp$total, breaks = c(0, 2, 4, 6, 7),
                 include.lowest = TRUE, right = FALSE, 
                 labels = c("Aucun des deux", "OSM", "BPE", "OSM et BPE"))

# Jointure des colonnes utiles avec les géométries de référence
laufr <- merge(laufr, tmp[,c(1, which(colnames(tmp) == "alimentation"):length(tmp))], by.x = "GISCO_ID", by.y = "GISCO_ID",
             all.x = TRUE)


4.1 Nombre d’équipements différents par commune

Le nombre d’équipements différents par commune est extrait du jeu de données et mis en forme afin de créer un diagramme en bâton qui représente la part des communes qui disposent de 0 à 15 équipements.

## png 
##   2

figure B18 - Nombre d’équipements différents

Ces valeurs sont ensuite cartographiées pour chacune des deux bases de données.

png(file = "fig/B19_presence_somme.png",width = sizes[1], height = hauteur,
    res = res)

par(mar = c(0,0,1.2,0), mfrow = c(2,1))

breaks <- c(0,1,5,10,15)
col <- carto.pal("red.pal", n1 = 4)

choroLayer(laufr, var = "osmEq", legend.pos = "n", breaks = breaks, col = col, border = "white")

plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 

labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:10,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.4, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)

legendChoro(pos = "topright", 
            title.txt = "Nombre d'équipements différents\nprésents dans la commune\n(max = 15)",
            title.cex = 0.8, values.cex = 0.6, breaks = breaks, col = col, cex = 0.6,
            frame = TRUE, border = "black")

layoutLayer(title = "Présence/absence d'équipements (OSM)", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap",
            posscale = c(4002561, 2879651), frame= FALSE, horiz = FALSE, 
            author = "UMS RIATE, 2019", col = "#990000")


choroLayer(laufr, var = "bpeEq", legend.pos = "n", breaks = breaks, col = col, border = "white")

plot(st_geometry(nuts3), col = NA, border = "black", lwd = 1, add = T) 

labelLayer(x = laufr[order(laufr$POP_2011, decreasing = T),][1:10,], 
           txt = "LAU_LABEL", halo=TRUE, cex = 0.4, 
           col= "#000000", bg = "#FFFFFF50", overlap = FALSE)

legendChoro(pos = "topright", 
            title.txt = "Nombre d'équipements différents\nprésents dans la commune\n(max = 15)",
            title.cex = 0.8, values.cex = 0.6, breaks = breaks, col = col, cex = 0.6,
            frame = TRUE, border = "black")

layoutLayer(title = "Présence/absence d'équipements (BPE)", 
            sources = "Eurostat, LAU version 2018, BPE, Contributeurs OpenStreetMap",
            posscale = c(4002561, 2879651), frame= FALSE, horiz = FALSE,
            author = "UMS RIATE, 2019", col = "#990000")

dev.off()
## png 
##   2

figure B19 - Présence/absence d’équipements (BPE)

On reprend la discrétisation proposée dans les représentations cartographiques ci-dessus pour croiser les résultats OSM et BPE. Les communes pas équipées sont celles qui n’ont aucun équipement. Les communes faiblement équipées comptabilisent entre 1 et 5 équipements. Les communes moyennement équipées entre 5 et 10 équipements. Les fortement équipées plus de 10 équipements.

La table ci-dessous représente le nombre de communes pas/faiblement/moyennement/fortement équipées pour les 2 sources de données; mais aussi les situations contradictoires (commune faiblement équipée pour une source de données, fortement pour l’autre).

pas équipée_BPE faible_BPE moyenne_BPE forte_BPE total
pas équipée_OSM 388 145 18 2 553
faible_OSM 6 38 46 13 103
moyenne_OSM 0 2 16 19 37
forte_OSM 0 0 2 8 10
total 394 185 82 42 703


4.2 Présences et absences par équipement

Cette analyse se poursuit équipement par équipement. On s’intéresse ici au nombre de communes disposant au moins d’un équipement du côté d’OSM, de la BPE, pour les deux bases de données et aucune des deux bases pour les 15 équipements pris séparément.

Aucun.des.deux OSM BPE OSM.et.BPE
alimentation 576 22 76 29
ameublement 627 4 47 25
banque 558 2 73 70
boucherie 585 3 93 22
boulangerie 447 1 157 98
chaussures 651 0 37 15
cinema 682 2 6 13
coiffeur 399 0 252 52
electronique 637 8 45 13
opticien 622 0 58 23
pharmacie 555 0 65 83
restaurant 367 15 157 164
station_service 604 18 1 80
theatre 687 11 1 4
vetements 605 0 69 29
Tout équipement confondu (15) 239 12 220 232

On représente maintenant ces présences/absences pour une sélection de 4 équipements sur une carte afin de pouvoir distinguer quelles sont les communes équipées en fonction de nos 2 sources de référence.

Les communes représentées en rouge sont celles qui disposent de l’équipement dans les deux bases de données. Celles en gris dans aucune des deux bases de données. Les communes qui comptabilise au moins un équipement côté OSM et aucun côté BPE en orange, et en jaune réciproquement.

## png 
##   2
## png 
##   2
## png 
##   2
## png 
##   2

figure B20 à B23 - Présence comparée d’équipements dans OSM et la BPE


4.3 Seuils démographiques d’apparition/généralisation d’équipements

On tente ici de caractériser la proportion des communes équipées selon leur poids démographique. Ces approches ont notamment été développées à plusieurs reprises à la fin des années 1990 pour caractériser la présence d’équipements au sein des communes françaises ( Petibon, 2000, Griffond-Boitier, 1995)

4.3.1 Part des communes équipées par catégories de poids démographique

Pour chaque équipement, on cherche tout d’abord à évaluer la part des communes équipées pour OSM et la BPE selon des catégories démographiques bornées de la façon suivante : 0, 200, 500, 1000, 2000, 5000, 10000 et population maximale.

La première table présente les résultats pour OSM, la seconde pour la BPE et la troisième la différence de pourcentage observée entre les deux premières tables. Ainsi, la valeur “-50” pour les magasins d’ameublement et les communes de plus de 10000 habitants signifie qu’il y a un écart de 50 % entre la proportion de communes équipées pour cette catégorie de population du côté d’OSM (38.9 % des communes de plus de 10000 habitants disposent d’un magasin d’ameublement côté OSM) et de la BPE (88.9 %).

OSM NB_COM. Alimentation Ameublement Banque Boucherie Boulangerie Chaussure Cinéma Coiffeur Electronique Opticien Pharmacie Restaurant Station_service Théâtre Vêtements
1 0-200 hab. 126 0.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.8 0.0 0.0
2 200-500 hab. 200 1.0 1.0 0.0 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 7.0 1.0 0.0 0.0
3 500-1000 hab. 154 3.9 1.3 1.3 1.3 6.5 0.0 0.0 1.3 1.3 0.0 1.9 22.7 7.1 0.0 1.9
4 1000-2000 hab. 98 9.2 2.0 16.3 1.0 25.5 0.0 0.0 8.2 1.0 0.0 16.3 38.8 17.3 1.0 2.0
5 2000-5000 hab. 79 19.0 12.7 32.9 12.7 40.5 6.3 7.6 29.1 8.9 11.4 45.6 60.8 39.2 2.5 8.9
6 5000-10000 hab. 28 32.1 21.4 53.6 10.7 57.1 10.7 7.1 35.7 17.9 17.9 53.6 85.7 67.9 17.9 25.0
7 + 10000 hab. 18 50.0 38.9 72.2 33.3 72.2 38.9 38.9 50.0 33.3 50.0 72.2 88.9 94.4 38.9 55.6
BPE NB_COM. Alimentation Ameublement Banque Boucherie Boulangerie Chaussure Cinéma Coiffeur Electronique Opticien Pharmacie Restaurant Station_service Théâtre Vêtements
1 0-200 hab. 126 1.6 0.8 0.0 2.4 1.6 0.0 0.0 6.3 0.0 0.0 0.0 7.9 0.0 0.0 4.0
2 200-500 hab. 200 1.5 2.0 1.5 4.5 8.5 0.5 0.0 14.5 0.0 0.5 1.0 22.0 0.5 0.0 2.0
3 500-1000 hab. 154 6.5 4.5 9.7 9.1 32.5 1.9 0.0 44.8 4.5 2.6 4.5 50.6 3.9 0.0 7.1
4 1000-2000 hab. 98 19.4 7.1 29.6 19.4 67.3 2.0 0.0 76.5 6.1 5.1 29.6 70.4 15.3 0.0 6.1
5 2000-5000 hab. 79 40.5 25.3 64.6 39.2 94.9 21.5 6.3 98.7 16.5 39.2 82.3 94.9 34.2 0.0 41.8
6 5000-10000 hab. 28 78.6 60.7 100.0 82.1 100.0 53.6 17.9 100.0 71.4 82.1 100.0 100.0 57.1 3.6 82.1
7 + 10000 hab. 18 94.4 88.9 94.4 88.9 94.4 77.8 50.0 94.4 66.7 94.4 94.4 94.4 88.9 22.2 88.9
OSM - BPE (%) Alimentation Ameublement Banque Boucherie Boulangerie Chaussure Cinéma Coiffeur Electronique Opticien Pharmacie Restaurant Station_service Théâtre Vêtements
1 0-200 hab. -0.8 -0.8 0.0 -2.4 -1.6 0.0 0.0 -6.3 0.0 0.0 0.0 -4.8 0.8 0.0 -4.0
2 200-500 hab. -0.5 -1.0 -1.5 -3.0 -7.0 -0.5 0.0 -14.5 0.0 -0.5 -1.0 -15.0 0.5 0.0 -2.0
3 500-1000 hab. -2.6 -3.2 -8.4 -7.8 -26.0 -1.9 0.0 -43.5 -3.2 -2.6 -2.6 -27.9 3.2 0.0 -5.2
4 1000-2000 hab. -10.2 -5.1 -13.3 -18.4 -41.8 -2.0 0.0 -68.4 -5.1 -5.1 -13.3 -31.6 2.0 1.0 -4.1
5 2000-5000 hab. -21.5 -12.7 -31.6 -26.6 -54.4 -15.2 1.3 -69.6 -7.6 -27.8 -36.7 -34.2 5.1 2.5 -32.9
6 5000-10000 hab. -46.4 -39.3 -46.4 -71.4 -42.9 -42.9 -10.7 -64.3 -53.6 -64.3 -46.4 -14.3 10.7 14.3 -57.1
7 + 10000 hab. -44.4 -50.0 -22.2 -55.6 -22.2 -38.9 -11.1 -44.4 -33.3 -44.4 -22.2 -5.6 5.6 16.7 -33.3


4.3.2 Seuils d’apparition et de généralisation

Après avoir étudié la proportion de communes équipées par catégorie de population, on s’intéresse maintenant aux seuils d’apparition et de généralisation, notamment utilisés dans les travaux de Barzak et Hilal dans le rapport rétraction.

Le seuil d’apparition mesure le nombre d’habitants à partir duquel 25% des communes possèdent le service ». C’est à dire que 25% des communes équipées ont une population inférieure ou égale à cette taille. Pour l’INSEE ce seuil est fixé à 50%.

Le seuil de généralisation mesure le nombre d’habitants à partir duquel 75% des communes possèdent le service. Pour l’INSEE ce seuil est fixé à 90%".

Pour obtenir ces seuils, on ordonne les communes de l’espace d’étude par poids démographique (population 2011), auxquelles sont rattachées les présences et absences d’équipements codées en booléen (1/0). Ensuite et pour chaque commune, on calcule la part des communes plus peuplées (incluant cette commune) qui disposent de cet équipement.

Ainsi, pour la valeur la moins peuplées, cette valeur correspond à la part de communes équipées de l’ensemble de l’espace d’étude, puisque le calcul comprend l’ensemble des communes.

En revanche pour la valeur maximale (commune la plus peuplée), ce calcul ne prend en compte que cette commune, puisque qu’aucune commune n’est plus peuplée que celle-ci. Pour la commune la plus peuplée, la valeur de cet indice ne peut donc être égal qu’à 0 (commune non équipée) ou 100 (100 % des communes équipées).

A partir de ces valeurs, on peut produire des représentations graphiques qui montrent la part de communes équipées (axe Y) en fonction du poids démographique (communes peuplées de plus de tant d’habitants, en X). Le fait d’associer sur le même graphique les résultats pour OpenStreetMap et la BPE permet d’apprécier l’écart de complétude de cette base de données (écart entre les courbes) et les seuils démographiques existant (et comparables ou non) qui structurent la présence ou non des équipements dans la base de données.

On cherche enfin à extraire les valeurs d’apparition et de généralisation (population communale à partir de laquelle 25 % et 75 % des communes sont équipées) et de généralisation. En substance sur le graphique, cette valeur correspond à la première fois que les courbes OSM et BPE franchissent les seuils 25 % et 75 % sur le graphique. Pour certains équipements (restaurants par exemple), le seuil d’apparition est déjà atteint avec la commune la moins peuplée. On peut alors comparer sur un même graphique les valeur de ces seuils d’appartion pour OSM et la BPE pour l’ensemble des 15 équipements sélectionnés.

df <- data.frame(equip, gamme)
df$OSM25 <- NA
df$BPE25 <- NA
df$OSM75 <- NA
df$BPE75 <- NA

# Calculs OSM
# Sélectionner présences/absences et population 2011
appO <- app[,c(2:16,32)]

# Ordonner sur la population
appO <- appO[order(appO$POP_2011),]

# Calcul de la part des communes équipées d'au moins X habitants 
# > Somme des 1 à partir de chaque ligne que l'on divise par le nombre total de communes
# davantage peuplées (en incluant la commune en question)
for (i in colnames(appO[1:15])) {
  for(j in 1:nrow(appO)) {
    appO[[paste0(i,"_cum")]][j] <- sum(appO[[i]][j:nrow(appO)]) / (nrow(appO) - (j-1)) * 100
  }
}

# Extraction seuil minimal 25 %
for (i in 17:31) {
  popmin <- min(appO[appO[[i]] > 25, c("POP_2011")])
  df$OSM25[i-16] <- popmin
}

# Extraction seuil minimal 75 %
for (i in 17:31) {
popmin <- min(appO[appO[[i]] > 75, c("POP_2011")])
df$OSM75[i-16] <- popmin
}


# Calculs BPE (on reproduit la même opération)
# Sélection et tri
appB <- app[,c(17:32)]
appB <- appB[order(appB$POP_2011),]

# Part des communes équipées
for (i in colnames(appB[1:15])) {
  for(j in 1:nrow(appB)) {
    appB[[paste0(i,"_cum")]][j] <- sum(appB[[i]][j:nrow(appB)]) / (nrow(appB) - (j-1)) * 100
  }
  }

# Extractions seuils 25 et 75
for (i in 17:31) {
popmin <- min(appB[appB[[i]] > 25, c("POP_2011")])
df$BPE25[i-16] <- popmin
}

for (i in 17:31) {
popmin <- min(appB[appB[[i]] > 75, c("POP_2011")])
df$BPE75[i-16] <- popmin
}


# Représentation graphique - boucle sur les 15 équipements
# pour les noms de fichiers on enlève les accents et on met en minuscules
for (i in 1:15){ 
png(file = paste0("fig/B24_apparition_",chartr("éèëêÉÈËÊàÀçÇâ", "eeeeEEEEaAcCa",tolower(df[i,1])),".png"), width = 800, height = 600, res = 120)
options(scipen = 5)

# Représentations valeurs OSM / BPE (lignes)
plot(appO$POP_2011, appO[,i+16], log = "x",
     type = "l", col= "red", main = paste0("Seuils démographiques d'apparition - ", df[i,1]),
     cex.lab = 0.8, cex.main = 0.9, 
     xlab = "Communes peuplées de X hab. et plus", ylab = "proportion de communes équipées (%)",
     xlim = c(500,100000), ylim = c(0,100))
lines(appB$POP_2011, appB[,i+16], type = "l", col = "blue")

# Mise en page (affichage valeurs, lignes de repères etc)
abline (h = seq(0, 100, 5), col = "#00000060", lwd = 0.5, lty = 3)

abline (h = 25, col = "black", lwd = 1, lty = 3)
points(df[i,3], 25, col = "darkred", pch = 20)
text (df[i,3], 20, labels = round(df[i,3],0), cex = 0.7, col = "darkred")
points(df[i,4], 25, col = "darkblue", pch = 20)
text (df[i,4], 20, labels = round(df[i,4],0), cex = 0.7, col = "darkblue")

abline (h = 75, col = "black", lwd = 1, lty = 3)
points(df[i,5], 75, col = "darkred", pch = 20)
text (df[i,5], 70, labels = round(df[i,5],0), cex = 0.7, col = "darkred")
points(df[i,6], 75, col = "darkblue", pch = 20)
text (df[i,6], 70, labels = round(df[i,6],0), cex = 0.7, col = "darkblue")

legend("topleft", c("OSM","BPE"), col = c("red","blue"), pch = 1, cex = 0.8)

text(60000, 28, "Seuil d'apparition", cex = 0.6, font = 3)
text(60000, 78, "Seuil de généralisation", cex = 0.6, font = 3)

dev.off()
}

# Table de synthèse des résultats
knitr::kable(df, row.names = TRUE, digits = 1, padding = 0)
equip gamme OSM25 BPE25 OSM75 BPE75
1 Alimentation Proximite 1561.2 442.9 21392.6 3841.3
2 Ameublement Intermediaire 3095.5 858.2 21392.6 7127.3
3 Banque Intermediaire 716.7 207.7 9396.9 1888.1
4 Boucherie Proximite 8532.2 404.4 21392.6 3275.2
5 Boulangerie Proximite 487.5 32.0 9485.3 734.2
6 Chaussure Intermediaire 7603.3 1192.8 21392.6 10175.9
7 Cinéma Superieure 6442.8 3747.3 21392.6 21392.6
8 Coiffeur Proximite 1144.1 32.0 16315.4 576.4
9 Electronique Intermediaire 4037.6 1130.0 21392.6 12376.0
10 Opticien Intermediaire 2956.7 635.2 16214.3 2930.5
11 Pharmacie Proximite 588.7 183.3 8038.2 1278.2
12 Restaurant Proximite 32.0 32.0 2878.8 568.0
13 Station_service Intermediaire 496.4 645.6 4474.7 8038.2
14 Théâtre Superieure 4037.6 12376.0 41025.0 21392.6
15 Vêtements Intermediaire 2956.7 553.5 13404.8 3515.4

4.3.2.1 Equipements de proximité

figure B24 à B29 - Seuils d’apparition équipements de proximité

4.3.2.2 Equipements intermédiaires

figure B30 à B36 - Seuils d’apparition équipements intermédiaires

4.3.2.3 Equipements supérieurs

figure B37 à B38 - Seuils d’apparition équipements supérieurs

4.4 Présence/absence des équipements : une typologie des communes

Pour conclure l’analyse des écarts entre les bases BPE et OSM, une synthèse des observations sur les présences d’équipements et leur seuil d’apparition peut être conduite à l’aide de méthodes d’analyses multivariées. Il s’agit d’identifier les principales corrélations entre équipements présents, puis de regrouper les communes qui présentent les combinaisons les plus ressemblantes, en termes de diversité d’équipements et de niveau de rareté. Autrement dit, on cherche à comparer les communes sur la base des combinaisons de modalités de présence-absence (0/1) d’équipements qu’elles ont en commun (Husson et al, 2016) : elles seront regroupées si elles ont en commun un grand nombre de modalités ou bien si elles ont en commun une modalité rare (par exemple présence d’un cinéma), quelles que soient leurs différences par ailleurs.

Deux méthodes d’analyse multivariée sont successivement mobilisées (Husson et al., 2016 ): pour chacune des bases BPE et OSM, une Analyse en Composantes Multiples (ACM) est d’abord réalisée afin de transformer les variables qualitatives (modalités de présence ou d’absence d’équipement) en variables continues (coordonnées des communes sur les axes factoriels décrivant les principales corrélations entre modalités). Ces nouvelles valeurs sont ensuite traitées à partir d’une Classification Ascendante Hiérarchique (CAH) pour faire ressortir les principaux profils de communes. La comparaison des typologies de communes issues de la BPE et d’OSM est menée à partir d’une sélection restreinte de 7 équipements, qui ressortent des analyses de complétude comme les mieux renseignés dans OSM : les cafés-restaurants, les pharmacies et les stations-services pour les équipements les plus fréquents, les banques, les magasins d’électronique et les théâtres à un niveau intermédiaire, les cinémas en tant qu’équipement plus rare.

Pour chaque base, BPE et OSM, le tableau de données en entrée comprend en ligne les communes et en colonne les 7 équipements sélectionnés décrits par les modalités 1 (présence) ou 0 (absence). Ce tableau est transformé en tableau disjonctif complet, avec autant de variables que de modalités, soit 14 variables descriptives. Une ACM est d’abord réalisée pour transformer ces variables qualitatives en variables continues à l’aide du package Factominer (la création du tableau disjonctif complet est intégrée à la procédure de l’ACM dans Factominer). Les coordonnées des individus sur les composantes principales sont ensuite utilisées au sein d’une Classification Ascendante Hiérarchique.


L’analyse porte sur les 7 équipements les mieux renseignés dans OSM. On s’intéresse ici aux présences / absences des équipements (codées 1/0) selon les sources des données.

Un premier tri à plat permet de synthétiser le nombre de communes non équipées (0) ou équipées (1) pour chaque équipement et source de données de l’analyse.

##   banque_bpe_pres cinema_bpe_pres electronique_bpe_pres pharmacie_bpe_pres
## 0             560             684                   645                555
## 1             143              19                    58                148
##   restaurant_bpe_pres station_service_bpe_pres theatre_bpe_pres
## 0                 382                      622              698
## 1                 321                       81                5
##   banque_osm_pres cinema_osm_pres electronique_osm_pres pharmacie_osm_pres
## 0             631             688                   682                620
## 1              72              15                    21                 83
##   restaurant_osm_pres station_service_osm_pres theatre_osm_pres
## 0                 524                      605              688
## 1                 179                       98               15


4.4.1 ACM (BPE)

L’ACM sera réalisée séparément pour les équipements OSM et BPE. Pour la BPE, les 4 premiers facteurs résument 80 % de l’information initiale (déduit du tableau des valeurs propres). Pour les 7 équipements BPE, F1 résume quasiment la moitié de l’information (46%) et oppose sans surprise les communes équipées aux communes sans équipements. F2 (16%) porte sur les équipements rares, il oppose les communes équipées d’un théatre (et d’un cinéma, secondairement) aux communes qui n’en ont pas.

Les sorties les plus importantes de ce script sont jouées. Pour aller plus loin dans l’interprétation des résultats (graph des individus, des variables, etc.), le code est affiché ci-dessous sans être exécuté.

##       eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.46322347              46.322347                          46.32235
## dim 2 0.16411004              16.411004                          62.73335
## dim 3 0.09682918               9.682918                          72.41627
## dim 4 0.08226622               8.226622                          80.64289
## dim 5 0.07607998               7.607998                          88.25089
## dim 6 0.07087855               7.087855                          95.33874
## dim 7 0.04661255               4.661255                         100.00000

Pour visualiser le positionnement des variables et des individus sur les axes factoriels, ces commandes sont utiles.

Une CAH est entreprise sur les 4 premiers facteurs de l’ACM. Pour la BPE, 5 clusters sont identifiés. On en ressort les conclusions suivantes :

  • Classe 1 (379 communes) : aucun équipement (la quasi-totalité des communes de cette classe - 96 à 100% - n’a aucun des 7 équipements sélectionnés).
  • Classe 2 (195 communes): un seul équipement = café-restaurant (communes équipées d’un café-restaurant, plus rarement -10%- d’une pharmacie)
  • Classe 3 (109 communes) : 3 équipements de base (97% ont un café-restaurant, 92% ont une pharmacie, 88% ont une banque, 50% ont une station-service). Exemple : Hayange, Florange, Fameck… mais aussi communes de banlieue de Metz.
  • Classe 4 (15 communes): équipements rares incomplets (Toutes communes ont une pharmacie, un café-restaurant et un cinéma, les 2/3 ont un magasin d’électronique) Exemple : Longwy, Amnéville, St-Avold, Woippy (tout sauf un théatre)…mais aussi quelques communes de 2000 habitants (Conflans en Jarnisy, banlieue de Jarny, possède tous équipements - y compris cinéma - sauf banque et théatre. Même chose pour St-Julien-les-Metz, Sérémange-Erzange en banlieue de Hayange).
  • Classe 5 (5 communes): équipements rares (100% des communes équipées de théatre sont dans cette classe, 80% de cinemas, toutes les communes équipées des équipements de base et intermédiaires, sauf banques - 80 %. Exemple : Metz, Thionville, Forbach, Sarreguemines… mais aussi Homécourt (6000 habitants, appartient à l’agglomération de Joeuf, à 20 km au N-O de Metz), parce que la commune possède un théatre (la Machinerie, scène conventionnée d’intérêt national).
##                                                     Cla/Mod Mod/Cla Global
## restaurant_bpe_pres=restaurant_bpe_pres_0             99.21  100.00  54.34
## pharmacie_bpe_pres=pharmacie_bpe_pres_0               66.85   97.89  78.95
## banque_bpe_pres=banque_bpe_pres_0                     65.00   96.04  79.66
## station_service_bpe_pres=station_service_bpe_pres_0   60.77   99.74  88.48
## electronique_bpe_pres=electronique_bpe_pres_0         58.60   99.74  91.75
## cinema_bpe_pres=cinema_bpe_pres_0                     55.41  100.00  97.30
## theatre_bpe_pres=theatre_bpe_pres_0                   54.30  100.00  99.29
## theatre_bpe_pres=theatre_bpe_pres_1                    0.00    0.00   0.71
## cinema_bpe_pres=cinema_bpe_pres_1                      0.00    0.00   2.70
## electronique_bpe_pres=electronique_bpe_pres_1          1.72    0.26   8.25
## station_service_bpe_pres=station_service_bpe_pres_1    1.23    0.26  11.52
## banque_bpe_pres=banque_bpe_pres_1                     10.49    3.96  20.34
## pharmacie_bpe_pres=pharmacie_bpe_pres_1                5.41    2.11  21.05
## restaurant_bpe_pres=restaurant_bpe_pres_1              0.00    0.00  45.66
##                                                     Cla/Mod Mod/Cla Global
## restaurant_bpe_pres=restaurant_bpe_pres_1             60.75  100.00  45.66
## banque_bpe_pres=banque_bpe_pres_0                     32.50   93.33  79.66
## electronique_bpe_pres=electronique_bpe_pres_0         29.92   98.97  91.75
## pharmacie_bpe_pres=pharmacie_bpe_pres_0               31.53   89.74  78.95
## station_service_bpe_pres=station_service_bpe_pres_0   30.06   95.90  88.48
## cinema_bpe_pres=cinema_bpe_pres_0                     28.51  100.00  97.30
## cinema_bpe_pres=cinema_bpe_pres_1                      0.00    0.00   2.70
## station_service_bpe_pres=station_service_bpe_pres_1    9.88    4.10  11.52
## pharmacie_bpe_pres=pharmacie_bpe_pres_1               13.51   10.26  21.05
## electronique_bpe_pres=electronique_bpe_pres_1          3.45    1.03   8.25
## banque_bpe_pres=banque_bpe_pres_1                      9.09    6.67  20.34
## restaurant_bpe_pres=restaurant_bpe_pres_0              0.00    0.00  54.34
##                                                     Cla/Mod Mod/Cla Global
## pharmacie_bpe_pres=pharmacie_bpe_pres_1               67.57   91.74  21.05
## banque_bpe_pres=banque_bpe_pres_1                     67.13   88.07  20.34
## restaurant_bpe_pres=restaurant_bpe_pres_1             33.02   97.25  45.66
## station_service_bpe_pres=station_service_bpe_pres_1   69.14   51.38  11.52
## electronique_bpe_pres=electronique_bpe_pres_1         70.69   37.61   8.25
## cinema_bpe_pres=cinema_bpe_pres_0                     15.94  100.00  97.30
## cinema_bpe_pres=cinema_bpe_pres_1                      0.00    0.00   2.70
## electronique_bpe_pres=electronique_bpe_pres_0         10.54   62.39  91.75
## station_service_bpe_pres=station_service_bpe_pres_0    8.52   48.62  88.48
## restaurant_bpe_pres=restaurant_bpe_pres_0              0.79    2.75  54.34
## banque_bpe_pres=banque_bpe_pres_0                      2.32   11.93  79.66
## pharmacie_bpe_pres=pharmacie_bpe_pres_0                1.62    8.26  78.95
##                                                     Cla/Mod Mod/Cla Global
## cinema_bpe_pres=cinema_bpe_pres_1                     78.95  100.00   2.70
## pharmacie_bpe_pres=pharmacie_bpe_pres_1               10.14  100.00  21.05
## banque_bpe_pres=banque_bpe_pres_1                      9.79   93.33  20.34
## electronique_bpe_pres=electronique_bpe_pres_1         17.24   66.67   8.25
## station_service_bpe_pres=station_service_bpe_pres_1   13.58   73.33  11.52
## restaurant_bpe_pres=restaurant_bpe_pres_1              4.67  100.00  45.66
## restaurant_bpe_pres=restaurant_bpe_pres_0              0.00    0.00  54.34
## station_service_bpe_pres=station_service_bpe_pres_0    0.64   26.67  88.48
## electronique_bpe_pres=electronique_bpe_pres_0          0.78   33.33  91.75
## banque_bpe_pres=banque_bpe_pres_0                      0.18    6.67  79.66
## pharmacie_bpe_pres=pharmacie_bpe_pres_0                0.00    0.00  78.95
## cinema_bpe_pres=cinema_bpe_pres_0                      0.00    0.00  97.30
##                                                     Cla/Mod Mod/Cla Global
## theatre_bpe_pres=theatre_bpe_pres_1                  100.00     100   0.71
## cinema_bpe_pres=cinema_bpe_pres_1                     21.05      80   2.70
## station_service_bpe_pres=station_service_bpe_pres_1    6.17     100  11.52
## electronique_bpe_pres=electronique_bpe_pres_1          6.90      80   8.25
## banque_bpe_pres=banque_bpe_pres_1                      3.50     100  20.34
## pharmacie_bpe_pres=pharmacie_bpe_pres_1                3.38     100  21.05
## restaurant_bpe_pres=restaurant_bpe_pres_1              1.56     100  45.66
## restaurant_bpe_pres=restaurant_bpe_pres_0              0.00       0  54.34
## pharmacie_bpe_pres=pharmacie_bpe_pres_0                0.00       0  78.95
## banque_bpe_pres=banque_bpe_pres_0                      0.00       0  79.66
## electronique_bpe_pres=electronique_bpe_pres_0          0.16      20  91.75
## station_service_bpe_pres=station_service_bpe_pres_0    0.00       0  88.48
## cinema_bpe_pres=cinema_bpe_pres_0                      0.15      20  97.30
## theatre_bpe_pres=theatre_bpe_pres_0                    0.00       0  99.29

Le résultat du clustering est finalement ajouté au fichier de géométries initial pour être cartographié.

## 
##   1   2   3   4   5 
## 379 195 109  15   5
## png 
##   2

figure B41 - Typologie de synthèse de présences et absences d’équipements BPE


4.4.2 ACM (OSM)

La démarche est reproduite pour OSM. Pour les 7 équipements OSM, F1 résume 43% de l’information et oppose les communes équipées aux communes qui ne comptent aucun des 7 équipements. F2 (14%) oppose les communes dotées équipements rares (cinema et théatre, secondairement magasin d’électronique) aux communes qui ne sont dotées que d’équipements banals (pharmacies, cafés-restaurant…).

##       eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.43022713              43.022713                          43.02271
## dim 2 0.14058546              14.058546                          57.08126
## dim 3 0.11507581              11.507581                          68.58884
## dim 4 0.09028848               9.028848                          77.61769
## dim 5 0.08240042               8.240042                          85.85773
## dim 6 0.07871638               7.871638                          93.72937
## dim 7 0.06270633               6.270633                         100.00000

L’interprétation de la CAH en 5 classes portant sur la présence/absence des équipements OSM donne les conclusions suivantes

  • Classe 1 (488 communes) : aucun équipement (la quasi totalité des communes de cette classe -98 à 100%) n’a aucun des 7 équipements sélectionnés.
  • Classe 2 (147 communes): equipements de base “café-restaurant” (80% des communes sont équipées d’un café-restaurant, 1/3 d’une station-service, 20% d’une pharmacie).
  • Classe 3 (43 communes) : équipements intermédiaires “banque” (90% ont une banque, 81% une pharmacie, 81% un café-restaurant, 60% une station-service).
  • Classe 4 (12 communes) : équipements rares “théatres” (Toutes les communes ont un théatre, près de 60% ont une banque, mais plus de 80% n’ont pas de cinéma.
  • Classe 5 (13 communes): équipements rares “cinémas” (100% des communes équipées d’un cinéma, 54% ont aussi un magasin d’électronique et 77% une banque, mais 77% sans théatre). Exemple : Metz, Sarreguemines, Thionville, Forbach, Longwy + périphérie de Metz (St Julien…banque, cinéma, restaurant).
##                                                     Cla/Mod Mod/Cla Global
## restaurant_osm_pres=restaurant_osm_pres_0             93.13  100.00  74.54
## station_service_osm_pres=station_service_osm_pres_0   80.66  100.00  86.06
## pharmacie_osm_pres=pharmacie_osm_pres_0               78.71  100.00  88.19
## banque_osm_pres=banque_osm_pres_0                     76.23   98.57  89.76
## electronique_osm_pres=electronique_osm_pres_0         71.41   99.80  97.01
## theatre_osm_pres=theatre_osm_pres_0                   70.93  100.00  97.87
## cinema_osm_pres=cinema_osm_pres_0                     70.93  100.00  97.87
## theatre_osm_pres=theatre_osm_pres_1                    0.00    0.00   2.13
## cinema_osm_pres=cinema_osm_pres_1                      0.00    0.00   2.13
## electronique_osm_pres=electronique_osm_pres_1          4.76    0.20   2.99
## banque_osm_pres=banque_osm_pres_1                      9.72    1.43  10.24
## pharmacie_osm_pres=pharmacie_osm_pres_1                0.00    0.00  11.81
## station_service_osm_pres=station_service_osm_pres_1    0.00    0.00  13.94
## restaurant_osm_pres=restaurant_osm_pres_1              0.00    0.00  25.46
##                                                     Cla/Mod Mod/Cla Global
## restaurant_osm_pres=restaurant_osm_pres_1             67.04   81.63  25.46
## station_service_osm_pres=station_service_osm_pres_1   53.06   35.37  13.94
## pharmacie_osm_pres=pharmacie_osm_pres_1               38.55   21.77  11.81
## electronique_osm_pres=electronique_osm_pres_0         21.55  100.00  97.01
## theatre_osm_pres=theatre_osm_pres_0                   21.37  100.00  97.87
## cinema_osm_pres=cinema_osm_pres_0                     21.37  100.00  97.87
## theatre_osm_pres=theatre_osm_pres_1                    0.00    0.00   2.13
## cinema_osm_pres=cinema_osm_pres_1                      0.00    0.00   2.13
## electronique_osm_pres=electronique_osm_pres_1          0.00    0.00   2.99
## pharmacie_osm_pres=pharmacie_osm_pres_0               18.55   78.23  88.19
## station_service_osm_pres=station_service_osm_pres_0   15.70   64.63  86.06
## restaurant_osm_pres=restaurant_osm_pres_0              5.15   18.37  74.54
##                                                     Cla/Mod Mod/Cla Global
## banque_osm_pres=banque_osm_pres_1                     54.17   90.70  10.24
## pharmacie_osm_pres=pharmacie_osm_pres_1               42.17   81.40  11.81
## restaurant_osm_pres=restaurant_osm_pres_1             19.55   81.40  25.46
## station_service_osm_pres=station_service_osm_pres_1   26.53   60.47  13.94
## electronique_osm_pres=electronique_osm_pres_1         57.14   27.91   2.99
## electronique_osm_pres=electronique_osm_pres_0          4.55   72.09  97.01
## station_service_osm_pres=station_service_osm_pres_0    2.81   39.53  86.06
## restaurant_osm_pres=restaurant_osm_pres_0              1.53   18.60  74.54
## pharmacie_osm_pres=pharmacie_osm_pres_0                1.29   18.60  88.19
## banque_osm_pres=banque_osm_pres_0                      0.63    9.30  89.76
##                                                     Cla/Mod Mod/Cla Global
## theatre_osm_pres=theatre_osm_pres_1                   80.00  100.00   2.13
## restaurant_osm_pres=restaurant_osm_pres_1              6.15   91.67  25.46
## station_service_osm_pres=station_service_osm_pres_1    8.16   66.67  13.94
## banque_osm_pres=banque_osm_pres_1                      9.72   58.33  10.24
## pharmacie_osm_pres=pharmacie_osm_pres_1                6.02   41.67  11.81
## cinema_osm_pres=cinema_osm_pres_1                     13.33   16.67   2.13
## cinema_osm_pres=cinema_osm_pres_0                      1.45   83.33  97.87
## pharmacie_osm_pres=pharmacie_osm_pres_0                1.13   58.33  88.19
## banque_osm_pres=banque_osm_pres_0                      0.79   41.67  89.76
## station_service_osm_pres=station_service_osm_pres_0    0.66   33.33  86.06
## restaurant_osm_pres=restaurant_osm_pres_0              0.19    8.33  74.54
## theatre_osm_pres=theatre_osm_pres_0                    0.00    0.00  97.87
##                                                     Cla/Mod Mod/Cla Global
## cinema_osm_pres=cinema_osm_pres_1                     86.67  100.00   2.13
## station_service_osm_pres=station_service_osm_pres_1   12.24   92.31  13.94
## pharmacie_osm_pres=pharmacie_osm_pres_1               13.25   84.62  11.81
## electronique_osm_pres=electronique_osm_pres_1         33.33   53.85   2.99
## restaurant_osm_pres=restaurant_osm_pres_1              7.26  100.00  25.46
## banque_osm_pres=banque_osm_pres_1                     13.89   76.92  10.24
## theatre_osm_pres=theatre_osm_pres_1                   20.00   23.08   2.13
## theatre_osm_pres=theatre_osm_pres_0                    1.45   76.92  97.87
## banque_osm_pres=banque_osm_pres_0                      0.48   23.08  89.76
## restaurant_osm_pres=restaurant_osm_pres_0              0.00    0.00  74.54
## electronique_osm_pres=electronique_osm_pres_0          0.88   46.15  97.01
## pharmacie_osm_pres=pharmacie_osm_pres_0                0.32   15.38  88.19
## station_service_osm_pres=station_service_osm_pres_0    0.17    7.69  86.06
## cinema_osm_pres=cinema_osm_pres_0                      0.00    0.00  97.87
## 
##   1   2   3   4   5 
## 488 147  43  12  13

Et aboutit à la cartographie suivante.

## png 
##   2

figure B42 - Typologie de synthèse de présences et absences d’équipements OSM





UMS 2414 RIATE (CNRS - Université de Paris)