Tous les articles par mathieu rajerison

Le carroyage avec QGIS et le plugin QMarxan, c’est facile!

Article en français 

Gridding Paris with OpenStreetMap data
“Gridding for the dummies” 😉 with Quantum GIS and QMarxan: In this article, I explain the purpose of gridding, why it is such an efficient way to analyse data within a large community of actors. Actually, gridding can be considered as a transcription of the raster format to the vector one where one tile <=> one cell. Thanks to QMarxan, gridding with QGIS is really simple:  you don’t need any knowledge in PostGIS, GRASS and R to do it. That’s what we’ll see: in the end of the post, I detail how to constitute some gridded data through a case study aiming to process a building density analysis on the city of Paris. The article is in French, but the printscreens will be helpful for the understanding. 

All the material used in this article is free: Quantum GIS, OpenStreetMap for the buildings and INSEE (equivalent of US Census) for the population data.

Maillage / Carroyage

Guide du CERTU sur les traitements en carroyage

Le CERTU (Centre d’Etudes sur les Réseaux, les Transports, l’Urbanisme et les Constructions) a publié l’année dernière un guide en téléchargement gratuit appelé Traitements géomatiques par carreaux pour l’observation des territoires qui décrit, par le biais de cas d’étude, tout le potentiel que permet la constitution de données carroyées.

Le carroyage est un mode de représentation des données vecteur par carreau. Il s’effectue en croisant d’un côté une grille (soit rectangulaire, soit hexagonale en nid d’abeilles) avec des données métier. La précision avec laquelle s’effectuera l’analyse sera alors relative au pas choisi pour la grille. Ce pas diffère selon l’échelle d’analyse.

Densité d’habitants selon l’INSEE

On peut d’ores et déjà disposer de données carroyées sur Internet. C’est le cas des données INSEE sur le nombre d’habitants disponible en téléchargement avec un pas de 1 kilomètre sur la France entière et 200 mètres sur chaque région. Le Muséum National d’Histoire Naturelle propose, lui, une grille-type pour effectuer un calcul, par carreau de 5 ou 10km, du nombre d’espèces d’un certain type de plantes ou d’animaux. Inspire propose aussi des grilles-types.

En quoi ce mode de visualisation est-il si intéressant?

Potentiel du carroyage

– Le format vecteur est généralement choisi comme base de traitements car les utilisateurs du SIG sont plus familiers de l’exploitation de ce format. Pourtant, parfois, les calculs sur raster sont plus appropriés. Le carroyage permet de transcrire au format vectoriel des méthodes rasters. L’augmentation de la taille d’un carreau s’apparente à une augmentation de la résolution (rééchantillonnage). Il est tout à fait possible d’effectuer des dénombrements, de calculer des moyennes, des écarts-types au niveau de chaque carreau, ce qui s’apparente aux calculs focaux utilisés sur les rasters.

– La transformation de données fines, précises sous la forme de carreaux permet de vulgariser la donnée, de la simplifier, en sorte. Les mailles obtenues peuvent être confrontées à la fois à un niveau spatial: un carreau par rapport à ses voisins (par ex. étude de clusters), de même que dans le temps: état d’un carreau dans un état antérieur et dans un état actuel (par ex. étude de l’évolution de la population). C’est un mode de visualisation efficace qui “élimine le bruit” et découpe le territoire en unités égales et comparables.



– Une troisième raison qui en fait un support intéressant est la possibilité d’associer plusieurs dimensions aux carreaux, comme autant de colonnes et d’attributs. On pourra alors adjoindre à chaque carreau des valeurs issues de différents domaines: environnement, transport, habitat, et de différents types: quantitative, qualitative, ordinale. On pourra faire apparaître différentes thématiques sur les choroplèthes au gré des besoins. Cette multi-dimensionnalité est difficile à atteindre avec les rasters dans la mesure où les pixels ne peuvent être associés qu’à un nombre limité de valeurs, de plus, positives. Sous R, des objets appelés SpatialGridDataFrame et SpatialPixelsDataFrame permettent d’associer à chaque pixel de nombreux attributs, comme les formats vecteur, mais R est un outil complexe qui nécessite un certain temps de prise en main.

– Cette multi-dimensionnalité montre bien que le carroyage peut être un support d’analyse partagé entre des thématiciens de différents métiers. Des urbanistes, des botanistes peuvent se servir d’une même grille comme support pour leurs calculs puis confronter leurs analyses.

En définitive, l’accessibilité, la simplification, la multi-dimensionnalité font du carroyage un support intéressant pour des analyses et des représentations de données partagées.

Carroyage sous QGIS

Sous Quantum GIS, le carroyage est à la portée de tout géomaticien. On peut en réaliser sans utiliser ni PostgreSQL, GRASS, ni R même si je ne saurais que vous conseiller de vous investir dans l’apprentissage de ces derniers.

Nativement, on peut l’exécuter par le biais de la fonction “Création de Grille” puis “Points dans un Polygone” pour des cartes de densité.

Cependant, l’année dernière, un plugin est apparu sur le dépôt d’extension appelé QMarxan qui permet d’aller plus loin. Il s’agit d’un plugin QGIS d’interfaçage avec le logiciel Marxan. 


Voici la définition que l’on trouve sur le site des parcs du Canada quant au logiciel Marxan:
“Marxan a été mis au point par des chercheurs de l’Université de Queensland pour faciliter le rezonage du parc marin de la Grande Barrière et a par la suite été utilisé un peu partout dans le monde dans le cadre de projets de planification d’aires marines. Au moyen d’un algorithme d’optimisation, ce programme sélectionne des séries de secteurs qui permettent d’atteindre des objectifs de conservation tout en réduisant au minimum les incidences socio-économiques sur les utilisateurs des milieux marins et des collectivités côtières. Les données qui y sont entrées peuvent comporter un large éventail d’éléments/de valeurs liés aux aspects écologiques, socio-économiques, culturels et à l’expérience du visiteur, y compris les espèces, les habitats, les activités récréatives et les sites culturels.”

Dans cet article, nous n’exploiterons pas tout le potentiel du plugin. Nous verrons sa fonctionnalité principale, celle permettant de réaliser une grille et d’effectuer des calculs par carreau. Nous ne couvrirons pas l’exploitation des résultats sous Marxan.

Le bâti en Île-de-France

Le cas d’étude sera celui de l’analyse du bâti à Paris avec la constitution d’un carroyage décrivant la densité du bâti en terme de nombre et de surface de bâtiments. Puis, nous exploiterons le carroyage de l’INSEE afin de coupler les données concernant le bâti avec la population.

Téléchargement des données

Dans un premier temps, téléchargeons les limites administratives de la ville de Paris:
http://export.openstreetmap.fr/contours-administratifs/export-communes/

Puis les données du bâti à partir du site GeoFabrik:
http://download.geofabrik.de/osm/europe/france/ile-de-france.shp.zip

Effectuons une extraction des donnés sur la ville de Paris par le biais de l’extension “Requête Spatiale”. Le temps de traitement est très long!..

Par la suite, les données bâtiments buildings seront transformées en Lambert 2 Etendu afin de les coupler par la suite (fin du tutoriel) avec les données INSEE qui sont dans ce système de projection. La couche transformée se nomme buildings_LA2E.

Dans un premier temps, il faut installer l’extension QMarxan depuis les dépôts-tiers.

Réalisation d’une grille en nid d’abeilles

Une fois le plugin installé, lançons le module de génération de grille

J’aime bien les grilles en nid d’abeilles qui sont assez esthétiques. Réalisons-en une. Nous choisirons un pas de 200 mètres comme pour l’INSEE.

Création d’une grille hexagonale sur la base du fichier de bâti

Voici le résultat du carroyage. Notre grille est pour l’instant vide de données statistiques sur le bâti.

Bâti + grille en nid d’abeilles

Calcul de la surface, du nombre de bâtiments et de la surface moyenne par carreau

Effectuons le calcul de la surface de bâti par carreau.

Le résultat est intégré à la grille:

Afin d’avoir une bonne visualisation de l’ensemble, nous avons extrait les nids d’abeille comportant une surface supérieure à 0:



Surface de bâti en 10 classes selon la méthode de Jenks

Pour avoir le nombre de bâtiments par carreau, on doit tout d’abord générer une couche de points. Nous l’appellerons buildings_ct

Centroïdes des bâtiments superposés sur la surface bâtie


Le nombre de bâtiments par carreau peut être indicatif d’un type de bâti: collectif, résidentiel, etc…

Nous pouvons calculer la surface moyenne de bâti par carreau: surface/(nombre de bâtiments)

Utilisation de la calculatrice de champ

Voici différentes choroplèthes obtenues en superposant le résultat du carroyage avec les données OpenStreetMap grâce au plugin OpenLayers de QGIS.

Nombre de bâtiments, surface de bâti et surface moyenne sur couches OpenStreetMap Paris

Couplage données nombre d’habitants et bâti sur la base d’une grille pré-existante

On peut aussi lancer les calculs en se basant sur une grille autre, par exemple celle de l’INSEE, et ensuite coupler les données habitants et bâti.

Les zones d’activité pourraient ainsi apparaître comme des zones de bâti comprenant peu d’habitants.

Téléchargeons le carroyage de l’INSEE qui se trouve en Lambert 2 Etendu. Il contient les estimations du nombre d’habitants. Un préalable, comme au départ, est de ne prendre que les carreaux situés sur Paris.

Associons ces données du bâti avec ces données de population en utilisant le carroyage existant:

 Le résultat est alors intégré dans la grille de l’INSEE:

ajout de la colonne area_built au carroyage de l’INSEE

Ouvrons le fichier dbf issu du carroyage sous OpenOffice, enregitrons-le au format ods et réalisons un graphique bivarié avec en abcisse la surface de bâtiments et en ordonnée le nombre d’habitants.

fichier ods obtenu à partir du dbf

Nous pouvons voir quelle relation existe entre le nombre d’habitants et la surface de bâti, ainsi qu’identifier des carreaux qui échappent à la tendance principale.

Identification d’un point échappant à la “tendance”

Remarque: A vrai dire, il est difficile de dégager une quelconque tendance à partir de ce graphique car dans le cas du bâti, la surface moyenne ne suffit pas à prédire le nombre d’habitants. Il faut aussi intégrer la hauteur du bâtiment ou son nombre d’étages. Cela dit, le but de cet exemple est de montrer comment le carroyage permet de confronter deux (voire plus) variables de manière efficace par le biais d’une analyse bivariée (ou multi-variée).



 Nota Bene: dans la première version de QMarxan, l’utilisation de grilles rectangulaires génère des erreurs. Aussi la dernière version a-t-elle été utilisée pour l’intégration des informations du bâti dans le carroyage de l’INSEE.

Pour ceux qui souhaitent aller plus loin dans le carroyage, je vous conseille d’utiliser R avec la librairie sp. La fonction over( ) permet de croiser dans n’importe quel ordre des données vectorielles et rasters ainsi que d’effectuer une infinité de calculs à l’intérieur de chaque carreau, ceci grâce à une fonction personnelle fn: over(x, y, returnList = FALSE, fn = NULL, …). On peut alors envisager de calculer l’écart-type ou même l’indice écologique de diversité de Shannon. Absolument tout est possible!
Plus d’infos sur les méthodes d’agrégation spatiale avec R ici: http://cran.r-project.org/web/packages/sp/vignettes/over.pdf

Archipels de prospérité

Article en français

archipels de prospérité

Archipelagos of Prosperity test: Previously, I had mentioned a map of prosperity in France that created a buzz amongst the R community. Following the idea of mapping sociological indicators, I tested a few ways of mixing ordinal and geographical visualizations in these posts (the 1st and the 2nd). Prosperity is an actual topic in our period of crisis. I imagined a way of representig prosperity on a map, besides the choropleth and the cartogram. For the creation below, I took inspiration on a book cover that figured a chart as a fictive landscape and based on my observation of islands of prosperity on Coulmont’s map, I imagined France as an oniric landscape made of archipelagos, lagoons. This exotic vision contrasts with the toughness of the subject.

Choroplèthe de la prospérité en France de Baptiste Coulmont

Je vous évoquais précédemment la carte de Baptiste Coulmont sur une représentation de la prospérité en France sous la forme de choroplèthe. Parmi les aspects intéressants liés à cette carte, il me semble qu’il s’agit surtout du côté granuleux qui donne un côté mosaïque très fin. La qualité esthétique provient en grande partie du nombre de communes considéré: 36000. Elle n’aurait pas été comparable si elle avait intégré un nombre plus réduit d’entités, par exemple, les départements. Aussi, elle fait apparaître une organisation spatiale de la prospérité avec ce qui s’apparente à des îlots.

La quantité de données parvient sur cette carte, par le biais d’une simple représentation, à faire apparaître un phénomène qui n’aurait pas forcément été visible à une échelle plus grossière. Cette carte est représentative du courant “BigData” qui entoure le traitement de données très larges et que permet les moyens techniques actuels: Hadoop,  R, Processing,….

On voit de plus en plus de designers d’information formés à la programmation qui s’emparent de ce type de données. Ces dernières proviennent souvent de webservices délivrés par des sites de réseaux sociaux: Twitter, Facebook, services en mesure de délivrer des millions d’informations. Ces designers proposent parfois des visualisations extrêmement inventives qui bousculent nos conventions. On peut citer par exemple les cartes d’Eric Fischer qui transforme des données issues du réseau social twitter en cartes d’une grande beauté.

En confrontant les référentiels, on joue sur la sensibilité du lecteur de la carte et on l’incline à l’immersion. L’émotion peut jaillir d’une représentation de données, qu’elle soit cartographique ou non. Des artistes numériques ou des scientifiques font preuve d’imagination afin de proposer des créations mémorables qui jouent avec nos sens. Des scientifiques travaillant sur le Large Hadron Collider ont ainsi créé une musique à partir des données de l’accélérateur de particules Large Hadron Collider. L’analyse n’est plus visuelle mais auditive. Inversement, ce travail montre la transcription visuelle du prélude de Bach pour violoncelle. Le mélange des genres, les combinaisons inattendues, la transdisciplinarité constituent le terreau d’un certain renouveau dans la représentation d’informations.

Couverture du livre Data Flow 2

Un jour, alors que je m’intéressais à l’achat d’un livre sur le design d’information, je suis tombé sur ce livre appelé Data Flow. La couverture de ce bouquin m’a fasciné car y figure un graphe de données traduit sous forme de paysage très réaliste.

Magazine In-graphic

Plus tard, je suis également tombé sur ce site présentant plusieus couvertures, dont une où l’on voit plusieurs graphiques en ligne transcrits sous la forme de sommets montagneux.

Je me suis alors dit que cette idée de paysage fictif pouvait être explorée dans le cadre de cartographies statistiques. La carte de Baptiste Coulmont fait apparaître des sortes d’îlots de prospérité. L’idée de pouvoir réaliser un paysage insulaire sur la France entière à partir des données de revenu par commune m’apparut une tentative intéressante. Cela consisterait à traduire des indicateurs sociologiques sous forme topographique et ainsi aboutir à une “carte métaphorique”.

archipels de prospérité

Je me suis alors imaginé une France composée d’archipels de prospérité où les communes les plus riches vivraient sur les hauteurs d’un relief montagneux, les communes les moins prospères aux abords de lagons. Il s’agirait d’un pays où il serait nécessaire de prendre le bateau puis d’enfiler ses chaussures de randonnée afin d’atteindre Paris.

paris
Archipel parisien

Rien n’empêche de regarder cette carte de plus près: au niveau de la région parisienne, la carte fait apparaître deux lacs: un au niveau de Sarcelles Saine-Saint-Denis, un autre vers Créteil. On voit également de hauts sommets vers Neuilly-Sur-Seine et Saint-Germain-en-Laye ainsi que Versailles.

L’onirisme de la carte contraste avec la dureté du thème exposé.

[3maps # 1] European Travel Patterns, the true size of Africa, if 7 Billion…

In the 3maps series, I’ll try to share with you, each month, a selection of 3 interesting maps that I’ll have found on the web.

Connecting

European Travel Patterns by Eric Fischer

European travel patterns
European travel patterns by Eric Fischer

We find more and more maps representing connections from social websites like Twitter or Facebook. These maps are interesting to watch because of their dynamics. Also, they successfully unveil some connectedness aspects in the real world.
One of the artists I appreciate in this domain is Eric Fischer. His work is mainly based on Twitter and cabspotting data.

This map was created this way:

“60,000 trips (of 20 or more miles each) through 750,000 randomly-chosen geotags, grouped with 10-mile radius, from the Twitter streaming API, August, 2011.”

Eric Fischer is a Twitter Mapper virtuoso. In this map, he manages to transform massive virtual data into a river-like landscape.

Comparing

The true size of Africa

The true size of Africa by Kai Krause

With the map above, you can really figure out how big Africa is.

If 7 Billion People Lived In One City, How Big Would It Be?

If 7 billion by Tim De Chant

As one’s always attempted to compare things relative to one’s own references, relativeness is an efficient way to represent data. In a different manner from the map of Africa, this concept is used in the map above where it takes the population density in different main cities in the world and apply the 7 billion world’s population to USA to see how it would fit. It gives an idea on the different densities of cities in the world and on how space can be saturated to the maximum.