Dokumen ini menggunakan metode paling andal untuk mendapatkan data
peta Indonesia menggunakan paket geodata
, sehingga tidak
bergantung pada link URL yang bisa rusak atau diblokir.
Kita akan menambahkan paket geodata
untuk mengunduh peta
dan terra
sebagai pendukungnya.
# Instal paket jika belum ada
if (!require("geodata")) install.packages("geodata")
if (!require("sf")) install.packages("sf")
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("dplyr")) install.packages("dplyr")
# Muat semua paket
library(geodata)
library(sf)
library(ggplot2)
library(dplyr)
geodata
Fungsi gadm()
dari paket geodata
akan
mengunduh data batas administratif untuk negara yang kita tentukan. -
country="IDN"
: Kode ISO 3-huruf untuk Indonesia. -
level=1
: Level 1 berarti batas provinsi. (Level 0 = negara,
Level 2 = kabupaten/kota). - path="."
: Menyimpan file yang
diunduh di folder kerja Anda saat ini, jadi tidak perlu mengunduh lagi
nanti.
# Mengunduh data provinsi Indonesia
# Ini mungkin memakan waktu beberapa saat saat pertama kali dijalankan
peta_spat <- gadm(country = "IDN", level = 1, path = ".")
# Objek yang diunduh berformat 'SpatVector' dari paket terra.
# Kita perlu mengubahnya menjadi format 'sf' agar kompatibel dengan ggplot2.
peta_indonesia <- st_as_sf(peta_spat)
# --- LANGKAH DIAGNOSTIK PENTING ---
# Cek nama kolom untuk menemukan nama kolom provinsi
cat("Nama kolom yang tersedia di data peta:\n")
## Nama kolom yang tersedia di data peta:
print(names(peta_indonesia))
## [1] "GID_1" "GID_0" "COUNTRY" "NAME_1" "VARNAME_1" "NL_NAME_1"
## [7] "TYPE_1" "ENGTYPE_1" "CC_1" "HASC_1" "ISO_1" "geometry"
# Dari output, kita tahu nama kolom provinsi adalah "NAME_1"
nama_kolom_provinsi <- "NAME_1"
Sekarang kita akan membuat data fiktif dan menggabungkannya, sama
seperti sebelumnya, namun menggunakan nama kolom
NAME_1
.
# Membuat data fiktif
data_proyek <- data.frame(
Nama_Provinsi = peta_indonesia[[nama_kolom_provinsi]],
Jumlah_Proyek = sample(50:1000, size = nrow(peta_indonesia), replace = TRUE)
)
# Menggabungkan data peta dengan data proyek
peta_data_lengkap <- left_join(peta_indonesia, data_proyek, by = setNames("Nama_Provinsi", nama_kolom_provinsi))
Sekarang kita bisa memvisualisasikan peta dengan data yang sudah lengkap.
ggplot(data = peta_data_lengkap) +
geom_sf(aes(fill = Jumlah_Proyek), color = "white", size = 0.15) +
scale_fill_viridis_c(option = "magma", name = "Jumlah Proyek") +
labs(
title = "Peta Sebaran Proyek Pembangunan di Indonesia",
subtitle = "Data diperoleh secara andal menggunakan paket geodata",
caption = "Sumber: Data Fiktif | Peta dari GADM"
) +
theme_void() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold"),
plot.subtitle = element_text(hjust = 0.5),
legend.position = "bottom"
)
Dokumen ini menunjukkan cara yang lebih andal untuk mendapatkan data
peta Indonesia menggunakan paket geodata
, sehingga tidak
bergantung pada tautan eksternal yang mungkin tidak stabil. Dengan
pendekatan ini, kita dapat memastikan bahwa data peta selalu tersedia
dan dapat digunakan untuk analisis lebih lanjut.