Archives par mot-clé : visualisation

linemap

Le package linemap permet de réaliser des cartes composées de lignes. Le package contient deux fonctions, linemap et getgrid.

  • La fonction linemap permet d’afficher la carte. Elle prend en entrée un data frame contenant les coordonnées des points d’une grille régulière et au moins une variable.
  • La fonction getgrid permet de transformer un maillage de polygones irrégulier en data frame pouvant être utilisé avec la fonction linemap. Les polygones en entrée doivent être au format sf et, la fonction reposant sur des calculs d’intersections, il est fortement conseillé d’utiliser le package sf dans une version supérieure ou égale à 0.5-1. En effet à partir de cette version sf intègre les index spatiaux, ce qui accélère très significativement certains géotraitements (dont les calculs d’intersections).

Exemples d’utilisation

linemap

library(linemap)
data("popOcc")
data("occitanie")
opar <- par(mar=c(0,0,0,0), bg = "ivory2")
plot(sf::st_geometry(occitanie), col="ivory1", border = NA)
linemap(x = popOcc, var = "pop", k = 2.5, threshold = 50,
        col = "ivory1", border = "ivory4", lwd = 0.6, add = TRUE)
mtext(text = "Population\nen Occitanie", side = 3, line = -4, 
      col = "white", font = 4, adj = 0.05, cex = 2 )
mtext(text = "Données carroyées à 1 kilomètre, INSEE 2010", side=1, 
      line = - 1, col = "white", font = 3, adj = 0.98, cex = 0.8 )
par(opar)

getgrid

library(linemap)
library(sf)
data("bretagne")
data("france")
bret <- getgrid(x = bretagne, cellsize = 2000, var = "POPULATION")
opar <- par(mar = c(0,0,0,0))
plot(st_geometry(france), col="lightblue3", border = NA, 
     bg = "lightblue2",
     xlim = c(min(bret$X), max(bret$X)), 
     ylim= c(min(bret$Y), max(bret$Y)))
linemap(x = bret, var = "POPULATION", k = 5, threshold = 1,
        col = "lightblue3", border = "white", lwd = 0.7,
        add = TRUE)
mtext(text = "GEOFLA® 2016 v2.2 Communes France Métropolitaine", 
      side=4, line = - 0.9, col = "lightblue1", font = 3, 
      adj = 0.01, cex = 0.4 )
par(opar)

Installation

Le package est disponible sur Github.

library(devtools)
install_github("rCarto/linemap")

Inspiration

Ce package s’inspire évidement de la pochette de l’album Unknown Pleasures de Joy Division. Il s’inspire également des réalisations de James Cheshire (Population Lines: How and Why I Created It) et Ryan Brideau (GeospatialLineGraphs).

Magrit, la cartographie sans SIG

Magrit est une application de cartographie thématique en ligne.

Magrit propose la réalisation de représentations cartographiques usuelles telles que les cartes choroplèthes ou les cartes en symboles proportionnels. D’autres types de cartes, souvent difficiles à mettre en œuvre dans les logiciels du marché, sont aussi proposés : lissages, carroyages, discontinuités, anamorphoses, etc.

Magrit entend couvrir dans un même environnement logiciel, l’ensemble de la chaîne de traitement, de la donnée géographique à la carte d’édition.

Le projet, développé par le pôle géomatique de l’UMS RIATE, est entièrement libre (code sous licence CeCILL, compatible avec la GNU GPL). Il repose sur une suite moderne de technologies libres et open-source et il est possible de déployer sa propre instance de l’application (notamment via Docker). Le code de Magrit est hébergé sur GitHub.

Magrit est déjà disponible en français et en anglais et le sera très bientôt en espagnol.

Magrit se voulant un outil complet adapté à l’enseignement de la cartographie, nous sommes particulièrement à l’écoute des retours en provenance des salles de cours.

L’application est accompagnée d’une documentation complète et d’un carnet de recherche proposant notamment une galerie de réalisation et des tutoriels.

Reilly, Huff et Stewart : le package SpatialPosition

Comme annoncé sur le blog du Groupe ElementR nous venons de déposer sur le CRAN le package SpatialPosition qui permet permet de calculer et de visualiser les résultats de modèles de positions : modèle de Reilly, modèle de Huff et modèle de Stewart. Ces modèles d’interaction spatiale permettent de saisir l’influence exercée par un lieu sur tous les autres (aire de marché d’un commerce, aire d’influence d’une ville, etc.). Pour plus d’information et de ressources sur ce type de modèles, vous pouvez vous référer à la vignette associée au package. Continuer la lecture de Reilly, Huff et Stewart : le package SpatialPosition

Visualiser des flux : les graphiques circulaires

On a récemment porté à mon attention cette visualisation de flux orientés plutôt réussie.

Comment lire ces graphiques :

L’idée de base de ce graphique est de montrer simultanément les tailles relatives des flux entre les régions. Les origines et les destinations des flux sont représentés par les segments du cercle […]. La taille des flux est indiquée par la largeur des liens à leurs extrémités. La direction du flux est encodé à la fois par la couleur du lien (celle de la région d’origine) et par l’espace entre le lien et la région de destination.Source

Continuer la lecture de Visualiser des flux : les graphiques circulaires

Cartographie de flux avec R

La cartographie automatisée de flux n’est pas une chose facile à réaliser, et ce quelque soit le logiciel utilisé.
L’objectif de ce billet est de proposer un exemple de cartographie de flux avec R.

[MAJ] J’ai déplacé les données et ajouté le code sur GitHub. [/MAJ]

Les données utilisées sont des données de migration résidentielles issues de l’Insee et un fond de carte des départements français diffusé par l’IGN. Le tout est à télécharger ici sous forme de RData.

Cet exemple s’appuie sur le package igraph dédié à l’analyse et à la représentation de graphs. Les fonctionnalités de représentation de graphs orientés sont mobilisés pour représenter les migrations résidentielles entre les 6 départements les plus attractifs (hors Ile de France) entre 2003 et 2008. Continuer la lecture de Cartographie de flux avec R

Publier du code R sur WordPress sans plugin

[MAJ]

La présence des nombreux liens vers le site d’inside-r me chagrinais quand même un peu.
Après quelques tâtonnements j’ai finalement opté pour la solution suivantes :


<pre style="font-family: monospace;"><small><small>
monCode tres bien formaté et indenté
    parfois le signe "<-" ne passe pas
</small></small></pre>

Une fois le code pré-publié je le copie/colle dans R pour vérifier qu’il fonctionne toujours bien.

[MAJ] Continuer la lecture de Publier du code R sur WordPress sans plugin

Création d’une matrice de distances routières avec des outils et des données libres (1/2)

Comment créer une matrice de distances (calculées en kilomètres ou en minutes) entre plusieurs points du globe?

Il existe plusieurs solutions commerciales et plus ou moins fermées pour construire ce genre de matrices (The Google Distance Matrix API, Bing Routes API ou MapQuest par exemple). Ces solutions présentent plusieurs inconvénients : limites d’extraction, limites d’utilisation, limite de diffusion…

La solution proposée ici n’utilise que des données et des outils libres :

  • Un réseau routier, issu d’OpenStreetMap (OSM).
  • Le logiciel Osmosis permettant de manipuler les données OSM.
  • L’application GraphHopper pour calculer les itinéraires.
  • R pour interroger l’API de GraphHopper et constituer la matrice de distance.

L’objectif est ici de calculer une matrice de distances entre une vingtaine de villes françaises, belges, allemandes luxembourgeoises et néerlandaises. Continuer la lecture de Création d’une matrice de distances routières avec des outils et des données libres (1/2)

Visualisation de données médiatiques et géographiques avec R

Dans le cadre des rencontres de statistiques appliqué du Service Méthodes Statistiques de l’Ined (SMS) j’ai, avec Marta Severo, fait une présentation portant sur la visualisation de données médiatiques et géographiques avec R.

Voici le résumé de la présentation :

La combinaison d’informations géographiques et d’informations médiatiques peut s’avérer particulièrement fructueuse pour l’analyse des évènements médiatiques internationaux et notamment pour l’étude de leur propagation spatio-temporelle.
L’objectif de cette communication est de présenter les caractéristiques de la donnée médiatique et de montrer les possibilités que le logiciel R offre pour le traitement et la visualisation de ce type de données.
Nous présenterons quelques exemples faisant appel à l’interactivité, à l’animation et à la cartographie à travers l’analyse de la couverture médiatique internationale du conflit de Wukan, un village du sud de la Chine, où après des mois de protestations contre l’accaparement illégal de terres les habitants ont obtenu des élections libres.

Et voici un lien vers la page web associée à la présentation. Cette page a été conçue avec le package knitr.