mapsf helps to design various cartographic representations such as proportional symbols, choropleth or typology maps. It also offers several functions to display layout elements that improve the graphic presentation of maps (e.g. scale bar, north arrow, title, labels). mapsf maps sf objects on base graphics.
In cartography several functions have a pos or legend.pos argument. These arguments can take the following values: “topleft”, “top”, “topright”, “right”, “bottomright”, “bottom”, “bottomleft”, “bottomleftextra”, “left” or a vector of two coordinates in map units (c(x, y)).
The popcircle package has been released on GitHub. This one-function package computes circles with areas scaled to a variable and displays them using a compact layout (higher values in the center, lower values at the periphery). Original polygons are scaled to fit inside these circles (size are roughly proportional, not strictly).
The circles creation relies on packcircles, spatial data manipulation relies on sf.
The tanaka package has been released on CRAN. This package is a simplified implementation of the Tanaka method. Also called “relief contours method”, “illuminated contour method” or “shaded contour lines method”, the Tanaka method enhances the representation of topography on a map using shaded contour lines. North-west white contours represent illuminated topography and south-east black contours represent shaded topography.
The contour lines creation relies on isoband, spatial data manipulation and display rely on sf.
tanaka is a small package with only two functions:
tanaka() uses a raster object and displays the map directly;
tanaka_contour() builds the isopleth polygon layer.
This is a typical example of the package usage based on the dataset shipped with the package.
In the second example, the elevatr package is used to download an elevation raster on a specific area. Then the tanaka_contour() function is used to create an isopleth layer and finally the tanaka()function is used to to display the map with a custom color palette.
library(tanaka)
library(elevatr)
# use elevatr to get elevation data
ras <- get_elev_raster(
locations = data.frame(
x = c(6.7, 7), y = c(45.8,46)
),
z = 10, prj = "+init=epsg:4326",
clip = "locations"
)
# create the isopleth layer
iso <- tanaka_contour(
x = ras,
breaks = seq(500,4800,250)
)
# display the isopleth layer
plot(st_geometry(iso))
# create a custom color palette
pal <- colorRampPalette(colors = c("#F9D3A1", "#1E315B"))
# display the map
tanaka(iso, col = pal(nrow(iso)))
This post shows how to build a colored pencil map with R.
The cartography package (in its development version) has gained a getPencilLayer() function that transforms a POLYGON or MULTIPOLYGON layer into a MULTILINESTRING layer mimicking a pencil drawing pattern.
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).
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.
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→
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
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→
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.
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 :
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.