MulaiMulai sekarang secara gratis

Mengapa Greenland terlihat begitu besar?

Perhatikan plot lebih saksama. Mengapa Greenland terlihat lebih besar daripada AS daratan padahal sebenarnya hanya sekitar sepertiganya?

Saat Anda memplot lokasi bujur dan lintang pada sumbu x dan y, Anda memperlakukan 1 derajat bujur sama besar di mana pun. Namun, karena bumi kira-kira berbentuk bulat, jarak yang diwakili oleh 1 derajat bujur bergantung pada lintang, bervariasi dari 111 km di ekuator hingga 0 km di kutub.

Cara Anda mengambil posisi di permukaan bola dan menggambarkannya pada bidang dua dimensi dijelaskan oleh proyeksi. Bawaan yang Anda gunakan di sini (juga dikenal sebagai proyeksi Equirectangular) mendistorsi lebar area di dekat kutub. Setiap proyeksi melibatkan suatu bentuk distorsi (karena bola bukan bidang!), tetapi proyeksi yang berbeda mencoba mempertahankan sifat yang berbeda (misalnya luas, sudut, atau jarak).

Dalam tmap, tm_shape() memiliki argumen projection yang memungkinkan Anda menukar proyeksi untuk plot.

(Catatan: mengubah proyeksi plot ggplot2 dilakukan dengan fungsi coord_map(). Lihat ?coord_map() untuk detail lebih lanjut.)

Latihan ini adalah bagian dari kursus

Memvisualisasikan Data Geospasial di R

Lihat Kursus

Petunjuk latihan

Untuk membantu Anda melihat perbedaan antarproyeksi, kami menambahkan layer tm_grid() yang menambahkan garis bujur dan lintang berjarak sama pada plot.

Di dalam pemanggilan tm_shape() Anda:

  • Coba proyeksi Hobo–Dyer (projection = "hd"), yang dirancang untuk mempertahankan luas.
  • Pada plot kedua, coba proyeksi Robinson (projection = "robin"), yang dirancang sebagai kompromi antara mempertahankan sudut lokal dan luas.
  • Untuk bersenang-senang, ulangi plot sebelumnya, tetapi tambahkan tm_style("classic") untuk melihat bagaimana tmap dapat mengendalikan seluruh aspek tampilan peta.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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
Edit dan Jalankan Kode