Categories

Archives

Sociologie d’un quartier

Un correspondant m’envoie un problème. Dans le cadre d’une enquête portant sur la socio-histoire d’un quartier, il a eu accès à des archives qui indiquent, pour quelques pâtés de maison (pâtés d’immeubles), la composition sociale.
Ces données apparaissent sur des cartes réalisées à différents moments :
quartier
Les zones les plus foncées sont celles où la population a fréquemment une certaine caractéristique (peu importe la caractéristique, que ce soit la composition sexuée, la proportion de cadres ou de joueurs de banjo).
La question posée était : comment refaire la carte ? Plus précisément, il m’écrit : “Je souhaite montrer les évolutions que connaissent ces différentes zones en utilisant les fonctions cartographiques de R, surtout les cartes choroplèthes et en cercles proportionnels. En bref, comment faire pour coder ces zones ?”

Ce n’est pas très compliqué :
Pour commencer, il faut retracer les formes. Pour cela, il est possible de créer une carte sur google maps (cliquer sur “My places” (à côté de “Get Directions”) dans l’interface de google maps (il vous faudra peut-être un compte google).
Il est ensuite possible de dessiner des formes (“shapes”), et de leur associer un identifiant (qui sera la “clé” à partir de laquelle associer les données chiffrées).
map-google-quartier
Ensuite, google maps permet d’exporter les “shapes” au format .kml

Voici une explication en vidéo :

Et dès qu’on a du .kml, alors on peut lancer R.
Imaginons que notre fichier .kml s’appelle quartier.kml

Dans R : (Note : il faut le package osmar, que j’ai présenté ici)

library(maptools)
library(rgdal)
library(osmar)
#charger les polygones du quartier :
quartier < - readOGR("Desktop/quartier.kml",layer="quartier")
#charger la carte du quartier
#grâce au package osmar [info] 
src < - osmsource_api()
bb <- center_bbox(LONGITUDE,LATITUDE, 800, 800)
ua <- get_osm(bb, source = src)
#dessiner les bâtiments (c'est optionnel)
bg_ids <- find(ua, way(tags(k == "building")))
bg_ids <- find_down(ua, way(bg_ids))
bg <- subset(ua, ids = bg_ids)
bg_poly <- as_sp(bg, "polygons")
#dessiner les routes (pour donner une idée)
plot(bg_poly, col = "lightgray",border="#ffffff00")
cw_ids <- find(ua, way(tags(k %in% c("highway"))))
cw_ids <- find_down(ua, way(cw_ids))
cw <- subset(ua, ids = cw_ids)
cw_line <- as_sp(cw, "lines")
plot(cw_line, add = TRUE, col = "black",lwd=10)
plot(quartier,add=TRUE,col=CODECOULEUR)

Created by Pretty R at inside-R.org

carto-quartier
Cliquez pour avoir un PDF vraiment yummy-yummy

Par comparaison, voici un morceau de la carte originale :
quartier-comparaison
Je ne sais pas ce que mon correspondant va faire avec ses cartes, mais l’objectivation cartographique peut sans doute contribuer au raisonnement sociologique.

Osmar : manipuler des données OpenStreetMap avec R

Il y a parfois un intérêt certain à créer des cartes dans un format vectoriel. Je vais ici utiliser le paquet “osmar”, qui permet d’utiliser des données en provenance d’OpenStreetMap, avec le logiciel R.


cliquez pour ouvrir la carte au format pdf

Pour réaliser cette carte, j’ai suivi les instructions présentées dans ce document osmar: OpenStreetMap and R, by Manuel J. A. Eugster and Thomas Schlesinger.
Pourquoi passer par osmar ? L’on trouve des shapefiles extraits de OpenStreetMap sur différents sites (comme cloudmade), mais ces shapefiles commencent à être très lourds, et ils ne contiennent qu’une partie des informations disponibles sur OpenStreetMap.

install.package(osmar)
library(osmar)
src <- osmsource_api()
bb <- center_bbox(3.0775880813598633,50.37404355240673, 1000, 1000)
ua <- get_osm(bb, source = src)
 
#tracer les bâtiments
bg_ids <- find(ua, way(tags(k == "building")))
bg_ids <- find_down(ua, way(bg_ids))
bg <- subset(ua, ids = bg_ids)
bg_poly <- as_sp(bg, "polygons")
plot(bg_poly, col = "gray",border="gray")
 
#tracer une zone "commerciale"
nat_ids <- find(ua, way(tags(v %in% c("commercial"))))
nat_ids <- find_down(ua, way(nat_ids))
nat <- subset(ua, ids = nat_ids)
nat_poly <- as_sp(nat, "polygons")
plot(nat_poly, col = "#ffaaaa11",add=TRUE,border="#ffffff00")
 
#tracer les cours d'eau
nat_ids <- find(ua, way(tags(k %in% c("waterway"))))
nat_ids <- find_down(ua, way(nat_ids))
nat <- subset(ua, ids = nat_ids)
nat_poly <- as_sp(nat, "polygons")
plot(nat_poly, col = "#aaaaff",add=TRUE,border="#aaaaff",lwd=2)
 
#tracer les parcs
nat_ids <- find(ua, way(tags(k %in% c("leisure"))))
nat_ids <- find_down(ua, way(nat_ids))
nat <- subset(ua, ids = nat_ids)
nat_poly <- as_sp(nat, "polygons")
plot(nat_poly, col = "#99dd99",add=TRUE,border="#99dd99")
 
#tracer les rues, de différentes épaisseurs
cw_ids <- find(ua, way(tags(v %in% c("residential","pedestrian"))))
cw_ids <- find_down(ua, way(cw_ids))
cw <- subset(ua, ids = cw_ids)
cw_line <- as_sp(cw, "lines")
plot(cw_line, add = TRUE, col = "pink",lwd=1)
 
cw_ids <- find(ua, way(tags(v %in% c("secondary"))))
cw_ids <- find_down(ua, way(cw_ids))
cw <- subset(ua, ids = cw_ids)
cw_line <- as_sp(cw, "lines")
plot(cw_line, add = TRUE, col = "pink",lwd=5)
 
cw_ids <- find(ua, way(tags(v %in% c("tertiary"))))
cw_ids <- find_down(ua, way(cw_ids))
cw <- subset(ua, ids = cw_ids)
cw_line <- as_sp(cw, "lines")
plot(cw_line, add = TRUE, col = "pink",lwd=3)

Created by Pretty R at inside-R.org

La procuration à Lyon

Les relations observées entre les candidats et la fréquence du vote par procuration se repèrent-elles ailleurs qu’à Paris ? On peut commencer par regarder ce qui se passe dans une autre grande ville, Lyon.
Tout d’abord, une petite carte. Où l’on voit que les arrondissements centraux de Lyon, 1er, 2e et 6e, pratiquent plus la procuration que le 8e arrondissement.

Comme à Paris, la relation est positive entre la fréquence de la procuration et le taux de participation (graphique non reproduit).
Et les grandes corrélations perçues à Paris sont encore valables à Lyon. Les bureaux de vote favorables à l’extrême gauche ont peu de procurations :


Idem avec les bureaux de vote où Mélenchon réalise un score élevé.

La relation est encore négative pour ce qui est des votes lepénistes :

Et ce n’est pas le candidat Hollande qui se trouve faire un score élevé dans les bureaux de vote où la procuration est élevée.

Comme à Paris, donc, on observe une relation positive entre votes Sarkozy et votes par procurations [entre bureaux de votes “sarkozystes” et bureaux de votes “à procuration”]

Mais à la différence de Paris, on observe une relation positive entre votes pour Eva Joly et votes par procuration, avec, cependant, une forte variance.

[Idem avec le vote Bayrou, qui, à Paris comme à Lyon, est positivement relié — par bureau de vote — au vote par procuration]
J’ai donc bien tendance à croire que le vote par procuration n’est pas socialement neutre ni politiquement neutre. Bien que le droit soit offert à tous, et que la libéralisation de la procédure avait pour but de favoriser le vote, il me semble que le recours à ce droit est plus le fait de certaines personnes que d’autres. Est-ce pour des raisons “objectives” (du type : les ménages aisés partent plus en vacances que les autres), ou pour des raisons d’engagement politique (du type : je suis empêché de voter, mais je vais tout faire pour voter pour mon candidat) ou de socialisation politique… il semble bien que les “procurateurs” soient le reflet inversé des abstentionnistes.

Note : j’ai récupéré les données sur le site de la ville de Lyon, avec R (package XML).

La France de la procuration

Deux cartes rapides, sur la fréquence de la procuration, par département, en 2002, aux premier et deuxième tours.
On se souvient qu’en 2002, Le Pen (père) s’était qualifié pour le deuxième tour.
La carte de la procuration, au premier tour, ressemblait à cela :

Et au deuxième tour, à ceci :

Il y eu, en 2002, presque deux fois plus de procurations au deuxième tour (755 000) qu’au premier (400 000).
Et, entre les deux tours, quelques constantes : les Corses aiment les procurations encore plus que les Parisiens.

Ah… 36 000 communes feront toujours la différence

Je viens de découvrir que l’IGN mettait maintenant gratuitement à disposition de tous le fichier shapefile GEOFLA communes, qui permet de produire des cartes de toutes les communes de France. Combinez cette carte avec des données en provenance de l’INSEE (par exemple sur la répartition des revenus), et hop :

Sur cette carte, plus c’est bleu, plus, en gros, “c’est riche”, et plus c’est rouge, plus, en gros, “c’est pauvre”. [l’indicateur est la médiane du revenu fiscal des ménages divisé par le nombre d’unité de consommation du ménage, en 2009]
Cette carte a été réalisé avec R, assez simplement : voir mon tutoriel sur la cartographie avec R pour en savoir plus, et en faire autant.

Vous êtes ici. Là !

C’est peut-être le besoin de se rassurer, de s’assurer qu’on n’est pas seulement ici, mais bel et bien , qui fait se rencontrer le bout d’un doigt et la carte des stations.

Quand j’étais petit, et que Paris était une ville étrangère, ces zones arrachées m’indiquaient où j’étais : il suffisait de les repérer pour pouvoir ensuite s’orienter. Les traces d’usage collectif remplaçaient fort bien le “Vous êtes ici” accolé à certaines cartes. Crowdsourcing avant l’heure, objectivation d’une combinaison du volume de fréquentation de chaque station et de son caractère touristique. Aujourd’hui, dans la plupart des stations, les cartes sont protégées par un film plastique, qui empêche d’user trop vite la zone de la station.

En 1994, une artiste italienne, Paola di Bello, avait photographié, dans les 350 stations du métro, ces zones. Pour ensuite en reconstituer une grande carte du métro, sur lesquelles les stations étaient soumises à la disparition paradoxale. On trouve quelques explications de sa démarche sur le site de Paola di Bello.
Note : Ce billet est un effet secondaire de la lecture de Petite sociologie de la signalétique : Les coulisses des panneaux du métro.

Des cartes, et des réseaux, et un mystère

J’ai trouvé un sondage eurobarometre amusant (Eurobarometer 73.3, New Europeans) à l’adresse suivante http://ec.europa.eu/public_opinion/archives/ebs/ebs_346_en.pdf. Cette question m’a particulièrement intéressé : «QB10T : quels sont les pays autres que (NOTRE PAYS) auxquels vous vous sentez le plus attaché ?»
Si l’on ne garde que le pays le plus cité, l’on peut obtenir le graphe suivant :

Les Belges, les Luxembourgeois, les Portugais, les Italiens, les Néerlandais, les Espagnols se sentent plus attachés à la France qu’à un autre pays (en dehors du leur). Les Français se tournent vers l’Espagne (comme les Royaumunistes et les Italiens).
On peut essayer de représenter le graphe précédent en le greffant sur une carte de l’Europe.

C’est une manière de mettre en lumière le fait que, souvent, les pays auxquels les citoyens européens se sentent attachés sont des pays qui leur sont géographiquement proches. Les exceptions : la russophilie des Bulgares, l’italomania des Roumains… n’en ressortent que plus.
Le mystère auquel ces données nous confrontent, c’est bien d’expliquer, maintenant, pour quelle raison étrange la France n’a plus gagné l’Eurovision depuis 1977.

  Pratiquons l’open-data : eurobarom2011QB10T (format XLS). Ces deux images ont été faites avec R et divers “packages”, igraph et maptools.

Et en France ?

L’on trouve sur un site de l’université de Strasbourg une liste de tous les tremblements de terre à proximité de la France métropolitaine, depuis 1980 : ici.
Ce qui donne, une fois gardés les tremblements de magnitude supérieure à 3, ceci :

La taille et la couleur des points sont proportionnels à la magnitude.
(fait avec R, package maptools, en suivant mon “tutoriel pour la cartographie avec R“)

Un peu de sociologie électorale

Je n’avais qu’une heure, alors c’est fait à l’arrache.
Voici la “couleur” politique de votre bureau de vote, si vous votez à Paris :

Les données proviennent de Paris “Open Data” et décrivent les résultats du premier tour des régionales de 2010. Je me suis inspiré de Mounir&Simon mais j’ai fait une petite classification ascendante pour distinguer des “clusters” (ils ne distinguaient que Droite / Gauche et cela me semblait un peu trop simple).


Groupe 1 : noir : une zone frontière (mais où Pécresse fait le double de Huchon)
Groupe 2 : rouge : ce doit être une ancienne zone à droite, passée à gauche. Huchon et Duflot, ensemble, sont bien au dessus de Pécresse.
Groupe 3 : vert : C’est là où la candidate verte, Duflot, fait son score maximal et talonne Huchon. Le PC est aussi en “force”.
Groupe 4 : bleu foncé : LA zone Pécresse : là, on vote à droite en majorité.
Groupe 5 : bleu clair : la zone des marges, où le score de Pécresse est faible, et où les petits candidats (Arnautu, Besancenot, Governatori, Kanoute, Laurent, Mercier…) font un score plus important qu’ailleurs.

Mise à jour, avec de nouvelles couleurs.
Les groupes sont construits de la même manière que ci-dessus, mais le “barplot”, sous la carte, insiste sur les “petits” candidats, en insistant sur la déviation par rapport à leur moyenne sur Paris.


[Attention : c’est embrouillé. Ce n’est pas “faux”, mais le “barplot” ne représente pas les informations sur lesquelles je me suis basé pour construire les groupes.].

 
Où ont-ils (et elles) fait leur meilleur score ?

Deuxième mise à jour
Une analyse des correspondances produit ce joli graphe. L’Axe 1 explique les 3 quarts de l’inertie (et place les personnes sur un axe droite (à gauche) — gauche (à droite du dessin).
Mais l’on voit aussi l’importance du 2e axe : qui répartit les candidats de partis “hétérodoxes” : FN, NPA, Verts, etc…

Quelques courbes de niveau

Sur la carte suivante, chaque point représente le lieu de réunion d’une “église d’expression africaine” :

Cette série de points montre la dispersion, mais ne permet pas de repérer “immédiatement” une sorte de centre. Ce que fait la carte suivante, à lire comme des courbes de niveau. Il y a peut-être des espaces “inégalement religieux”.

Mais que trouve-t-on donc au centre ? Des églises plus anciennement implantées ? des “grosses” églises qui attirent, comme un supermarché des petits concurrents différenciés, d’autres églises, plus petites, qui tentent de capter le public… ?
Ces cartes ont été produites à partir de cet exemple de cartographie du crime à Houston, TX.