Beberapa Package R yang Digunakan untuk Membuat Peta
library(maps)
library(ggplot2)
library(mapdata)
library(ggthemes)
library(ggrepel)
library(raster)
library(plyr)
library(dplyr)
Membuat Peta Dunia dengan Fungsi map_data()
peta_dunia <- map_data("world")
peta_dunia
gambar1 <- ggplot() +
geom_polygon(data = peta_dunia, aes(x=long, y = lat, group = group),
fill = "gray85", color = "gray80")
print(gambar1)

Membuat Peta Indonesia
peta_indonesia <- gambar1 + xlim(94.5,141.5) + ylim(-11.5,6.5)
print(peta_indonesia)

Menggunakan fungsi getData(), Mendapatkan Nama-Nama Provinsi
peta_indonesia_level_1 <- getData('GADM', country = 'IDN', level = 1)
## Warning in getData("GADM", country = "IDN", level = 1): getData will be removed in a future version of raster
## . Please use the geodata package instead
nama_provinsi = peta_indonesia_level_1$NAME_1
nama_provinsi
Melakukan Pengelompokkan Wilayah Provinsi pada Peta Indonesia
label_angka <- seq(1, 33)
NAME_1 = peta_indonesia_level_1$NAME_1
gabung_label_nama <- data.frame(NAME_1, label_angka)
indo1 = peta_indonesia_level_1
indo1@data$id <- rownames(indo1@data)
indo1@data <- plyr::join(indo1@data, gabung_label_nama, by = "NAME_1")
new_indo1 <- fortify(indo1)
## Regions defined for each Polygons
new_indo1 <- plyr::join(new_indo1, indo1@data, by="id")
new_indo1
warna <- rainbow(33)
Indo <- peta_indonesia +
scale_color_manual(values= c(warna) )+
geom_polygon(data = new_indo1, aes(x=long, y = lat, group = group, fill = NAME_1), color = "grey") +
scale_fill_manual(values=c(warna)) +
theme(legend.position = "none")
Indo

Ekstrak Label
label_kota = new_indo1 %>% distinct(NAME_1, .keep_all = TRUE)
label_kota
ambil_label = read.table("label.txt", header = T, sep = "\t")
ambil_label
## woe_label postal latitude longitude
## 1 Aceh AC 4.4153300 96.9956
## 2 North Sumatra SU 2.3630400 99.2161
## 3 West Sumatra SB -0.6426110 100.6110
## 4 Riau RI 0.3968920 101.7450
## 5 Jambi JA -1.6549700 102.8230
## 6 South Sumatra SL -3.3824000 104.0730
## 7 Bengkulu BE -3.4860600 102.3680
## 8 Lampung LA -4.9190000 105.0590
## 9 Bangka-Belitung BB -2.9581700 106.8190
## 10 Kepulauan Riau KR -0.1426390 104.6010
## 11 DKI Jakarta JK -6.2246200 106.8370
## 12 West Java JR -6.9076300 107.6380
## 13 Central Java JT -7.2901000 109.8960
## 14 Special Region of Yogyakarta YO -7.8353300 110.4430
## 15 East Java JI -7.8812900 112.6160
## 16 Banten BT -6.2579400 106.1670
## 17 Bali BA -8.3412000 115.1790
## 18 West Nusa Tenggara NB -8.5710600 116.2940
## 19 East Nusa Tenggara NT -8.5844300 120.6890
## 20 West Kalimantan KB -0.0636474 111.3040
## 21 Central Kalimantan KT -1.8421700 113.2860
## 22 South Kalimantan KS -3.0071300 115.4510
## 23 East Kalimantan KI 1.2891500 116.3540
## 24 North Kalimantan KU 3.0730930 116.0414
## 25 North Sulawesi SW 0.8530390 124.4460
## 26 Central Sulawesi ST -1.3009700 120.1530
## 27 South Sulawesi SE -3.7444000 119.9900
## 28 South East Sulawesi SG -4.0746000 122.1190
## 29 Gorontalo GO 0.7605010 122.3310
## 30 West Sulawesi SR -2.6961500 119.3160
## 31 Maluku MA -8.2481400 128.1610
## 32 North Maluku LA -2.2894500 125.9760
## 33 West Papua IB -1.3252500 132.8250
## 34 Papua PA -4.1082500 138.6890
Indo <- peta_indonesia +
scale_color_manual(values= c(warna) )+
geom_polygon(data = new_indo1, aes(x=long, y = lat, group = group, fill = NAME_1), color = "grey") +
scale_fill_manual(values=c(warna)) +
theme(legend.position = "none") +
geom_point(data = ambil_label,aes(x = longitude, y = latitude ),
color = "black", size=2.5, alpha = 0.5, show.legend = F) +
geom_text_repel(data = ambil_label, aes(longitude, latitude, label = woe_label),
size = 3)
Indo
