De ce pare Groenlanda atât de mare?
Privește mai atent harta. De ce pare Groenlanda mai mare decât partea continentală a SUA, deși în realitate are doar aproximativ o treime din suprafața acesteia?
Atunci când trasezi coordonatele de longitudine și latitudine pe axele x și y ale unui grafic, tratezi 1 grad de longitudine ca având aceeași dimensiune indiferent de poziția pe glob. Totuși, deoarece Pământul este aproximativ sferic, distanța corespunzătoare unui grad de longitudine depinde de latitudine – variind de la 111 km la ecuator până la 0 km la poli.
Modul în care pozițiile de pe o sferă sunt reprezentate pe un plan bidimensional se numește proiecție. Proiecția implicită folosită aici (cunoscută și sub numele de proiecție Equidreptunghiulară) distorsionează lățimea zonelor situate aproape de poli. Orice proiecție implică un anumit tip de distorsiune (o sferă nu poate fi aplatizată perfect!), dar diferite proiecții încearcă să păstreze proprietăți diferite (de exemplu, suprafețele, unghiurile sau distanțele).
În tmap, funcția tm_shape() acceptă un argument projection care îți permite să schimbi proiecția folosită în grafic.
(Notă: schimbarea proiecției într-un grafic ggplot2 se realizează cu funcția coord_map(). Vezi ?coord_map() pentru mai multe detalii.)
Acest exercițiu face parte din cursul
Vizualizarea datelor geospațiale în R
Instrucțiuni pentru exercițiu
Pentru a vizualiza mai ușor diferențele dintre proiecții, am adăugat un strat tm_grid() care trasează linii echidistante de longitudine și latitudine pe hartă.
În apelul funcției tm_shape():
- Încearcă proiecția Hobo–Dyer (
projection = "hd"), concepută pentru a păstra proporțiile suprafețelor. - Într-un al doilea grafic, încearcă proiecția Robinson (
projection = "robin"), concepută ca un compromis între păstrarea unghiurilor locale și a suprafețelor. - Doar pentru distracție, repetă graficul anterior, dar adaugă
tm_style("classic")pentru a vedea cumtmappoate controla toate aspectele vizuale ale hărții.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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