Proč je Grónsko tak velké?
Podívej se na graf pozorněji. Proč Grónsko vypadá větší než kontinentální část USA, přestože je ve skutečnosti jen zhruba třetinové?
Když vynášíš zeměpisné délky a šířky na osy x a y grafu, zacházíš s každým stupněm zeměpisné délky jako se stejnou vzdáleností bez ohledu na polohu. Jenže Země je přibližně kulová, takže vzdálenost odpovídající jednomu stupni zeměpisné délky závisí na zeměpisné šířce – pohybuje se od 111 km na rovníku až po 0 km na pólech.
Způsob, jakým se polohy na kouli převádějí do roviny, se nazývá projekce. Výchozí projekce, kterou jsi použil/a (známá také jako ekvidistantní válcová projekce), zkresluje šířku oblastí poblíž pólů. Každá projekce nějakým způsobem zkresluje realitu (kouli do roviny přesně zobrazit nejde!), ale různé projekce se snaží zachovat různé vlastnosti – například plochy, úhly nebo vzdálenosti.
V tmap přijímá tm_shape() argument projection, který ti umožní přepnout projekci grafu.
(Poznámka: změna projekce v grafu ggplot2 se provádí pomocí funkce coord_map(). Více informací najdeš v ?coord_map().)`
Toto cvičení je součástí kurzu
Vizualizace geoprostorových dat v R
Pokyny k cvičení
Aby sis mohl/a lépe prohlédnout rozdíly mezi projekcemi, přidali jsme vrstvu tm_grid(), která do grafu zakreslí rovnoměrně rozložené poledníky a rovnoběžky.
V rámci volání tm_shape():
- Vyzkoušej Hobo–Dyerovu projekci (
projection = "hd"), navrženou tak, aby zachovávala plochy. - V druhém grafu vyzkoušej Robinsonovu projekci (
projection = "robin"), která představuje kompromis mezi zachováním lokálních úhlů a ploch. - Pro zábavu zopakuj předchozí graf, ale přidej
tm_style("classic")a podívej se, jaktmapdokáže ovládat veškerý vzhled mapy.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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