CommencerCommencer gratuitement

Pourquoi le Groenland est-il si grand ?

Examinez le graphique de plus près. Pourquoi le Groenland paraît-il plus grand que les États-Unis contigus alors qu’il ne fait en réalité qu’environ un tiers de leur taille ?

Lorsque vous placez des longitudes et latitudes sur les axes x et y d’un graphique, vous considérez qu’un degré de longitude a la même « taille » où que vous soyez. 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 manière dont vous projetez des positions sur une sphère dans un plan bidimensionnel est décrite par une projection. La valeur par défaut utilisée ici (également appelée projection équirectangulaire) déforme la largeur des zones proches des pôles. Toute projection implique 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 (par exemple les aires, les angles ou les distances).

Dans tmap, tm_shape() accepte un argument projection qui vous permet de changer la projection du graphique.

(Remarque : la modification de la projection d’un graphique ggplot2 se fait via la fonction coord_map(). Voir ?coord_map() pour plus de détails.)

Cet exercice fait partie du cours

Visualiser des données géospatiales avec R

Afficher le cours

Instructions

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 également espacées sur la carte.

Dans votre appel à tm_shape() :

  • Essayez une projection Hobo–Dyer (projection = "hd"), conçue pour préserver les aires.
  • Dans un second graphique, essayez une projection Robinson (projection = "robin"), pensée comme un compromis entre la préservation des angles locaux et des aires.
  • Pour le plaisir, répétez le graphique précédent, mais ajoutez tm_style("classic") pour voir comment tmap peut contrôler tous les aspects de l’affichage de la carte.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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
Modifier et exécuter le code