Pourquoi le Groenland est-il si grand?
Examinez le graphique de plus près. Pourquoi le Groenland semble-t-il plus grand que les États-Unis contigus alors qu'il fait en réalité environ le tiers de leur superficie?
Lorsque vous tracez la longitude et la latitude sur les axes x et y d'un graphique, vous traitez 1 degré de longitude comme s'il avait toujours la même largeur, peu importe l'endroit. Or, comme la Terre est à peu près sphérique, la distance correspondant à 1 degré de longitude dépend de votre latitude : elle varie d'environ 111 km à l'équateur à 0 km aux pôles.
La façon dont vous prenez des positions sur une sphère et les représentez sur un plan bidimensionnel est décrite par une projection. Celle que vous avez utilisée par défaut (aussi appelée projection « Equirectangular ») déforme la largeur des régions près des pôles. Toute projection provoque une forme de distorsion (puisqu'une sphère n'est pas un plan!), mais différentes projections cherchent à préserver différentes propriétés (p. ex., les surfaces, les angles ou les distances).
Dans tmap, tm_shape() accepte un argument projection qui vous permet de changer la projection pour le graphique.
(Remarque : avec ggplot2, on change la projection d'un graphique au moyen de la fonction coord_map(). Consultez ?coord_map() pour plus de détails.)
Cette activité fait partie du cours
Visualiser des données géospatiales avec R
Instructions de l’exercice
Pour vous aider à voir les différences entre les projections, nous avons ajouté une couche tm_grid() qui trace des lignes de longitude et de latitude équidistantes sur la carte.
Dans votre appel à tm_shape() :
- Essayez une projection Hobo–Dyer (
projection = "hd"), conçue pour préserver les superficies. - Dans un deuxième graphique, essayez une projection de Robinson (
projection = "robin"), pensée comme un compromis entre la préservation locale des angles et des superficies. - Pour le plaisir, reprenez le graphique précédent, mais ajoutez
tm_style("classic")pour voir commenttmappeut contrôler tous les aspects de l'affichage des cartes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
library(sp)
library(tmap)
# Switch to a Hobo–Dyer projection
tm_shape(countries_spdf) +
tm_grid(n.x = 11, n.y = 11) +
tm_fill(col = "population", style = "quantile") +
tm_borders(col = "burlywood4")
# Switch to a Robinson projection
tm_shape(countries_spdf) +
tm_grid(n.x = 11, n.y = 11) +
tm_fill(col = "population", style = "quantile") +
tm_borders(col = "burlywood4")
# Add tm_style("classic") to your plot