Peta Jumlah Penduduk Kota Pekanbaru
Kota Pekanbaru merupakan ibukota Provinsi Riau yang terletak di Pulau Sumatera, Indonesia. Berdasarkan dari data yang di ambil dari BPS Kota Pekanbaru, jumlah penduduk Kota Pekanbaru pertahun 2020 adalah 983356 jiwa. Jumlah penduduk paling banyak berada di Kecamatan Tampan yaitu 203238 jiwa dan paling sedikit berada di Kecamatan Sail yaitu 20384.
Sebaran jumlah penduduk di Pekanbaru dapat dibuat ke dalam sebuah peta yang menunjukkan besaran jumlah penduduk menurut Kecamatan di Kota Pekanbaru. Adapun syntax yang akan digunakan adalah sebagai berikut:
Install Packages
#terlebih dahulu install terhadap packages berikut, untuk menjalankan program yang akan dibuat.Peng-install-an dilakukan tanpa menggunakan tagar (#)
#install.packages("sf") # Untuk memakai fungsi st_read nya
#install.packages("tigris") # Untuk 'Memotong' SHP
#install.packages("ggplot2") # Untuk Visualisasi Peta
#install.packages("dplyr") # untuk pakai fungsi Glimpse nya
#Selanjutnya panggil packages tersebut
library(sf)## Linking to GEOS 3.9.1, GDAL 3.2.1, PROJ 7.2.1
library(ggplot2)
library(tigris)## To enable
## caching of data, set `options(tigris_use_cache = TRUE)` in your R script or .Rprofile.
library(dplyr)##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
Import Data
Data yang akan digunakan adalah Indonesia - Subnational Administrative Boundaries yang bisa diakses di HumData dan Admin3Kecamatan.
Admin3Kecamatan <- "D:/idn_adm_bps_20200401_shp/idn_admbnda_adm3_bps_20200401.shp"
#untuk membaca data, data harus mengubah data shp dengan menggunakan fungsi ‘st_read’ dari Package ‘sf’
Admin3 <- st_read(Admin3Kecamatan)## Reading layer `idn_admbnda_adm3_bps_20200401' from data source
## `D:\idn_adm_bps_20200401_shp\idn_admbnda_adm3_bps_20200401.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 7069 features and 16 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 95.01079 ymin: -11.00762 xmax: 141.0194 ymax: 6.07693
## Geodetic CRS: WGS 84
glimpse(Admin3)## Rows: 7,069
## Columns: 17
## $ Shape_Leng <dbl> 0.2798656, 0.7514001, 0.6900061, 0.6483629, 0.2437073, 1.35~
## $ Shape_Area <dbl> 0.003107633, 0.016925540, 0.024636382, 0.010761277, 0.00116~
## $ ADM3_EN <chr> "2 X 11 Enam Lingkung", "2 X 11 Kayu Tanam", "Abab", "Abang~
## $ ADM3_PCODE <chr> "ID1306050", "ID1306052", "ID1612030", "ID5107050", "ID7471~
## $ ADM3_REF <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,~
## $ ADM3ALT1EN <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,~
## $ ADM3ALT2EN <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,~
## $ ADM2_EN <chr> "Padang Pariaman", "Padang Pariaman", "Penukal Abab Lematan~
## $ ADM2_PCODE <chr> "ID1306", "ID1306", "ID1612", "ID5107", "ID7471", "ID9432",~
## $ ADM1_EN <chr> "Sumatera Barat", "Sumatera Barat", "Sumatera Selatan", "Ba~
## $ ADM1_PCODE <chr> "ID13", "ID13", "ID16", "ID51", "ID74", "ID94", "ID94", "ID~
## $ ADM0_EN <chr> "Indonesia", "Indonesia", "Indonesia", "Indonesia", "Indone~
## $ ADM0_PCODE <chr> "ID", "ID", "ID", "ID", "ID", "ID", "ID", "ID", "ID", "ID",~
## $ date <date> 2019-12-20, 2019-12-20, 2019-12-20, 2019-12-20, 2019-12-20~
## $ validOn <date> 2020-04-01, 2020-04-01, 2020-04-01, 2020-04-01, 2020-04-01~
## $ validTo <date> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA~
## $ geometry <MULTIPOLYGON [°]> MULTIPOLYGON (((100.2811 -0..., MULTIPOLYGON (~
Setelah data dengan format .shp di import, selanjutnya import data kota dengan format .csv
Pekanbaru <- read.csv("D:/Admin3Kecamatan/pekanbaru.csv",
header=TRUE, sep=",")
head(Pekanbaru)## Shape_Leng Shape_Area ADM3_EN ADM3_PCODE Penduduk
## 1 1.680556 0.10165167 Bandar Laksamana ID1408022 NA
## 2 1.196715 0.03835919 Bantan ID1408050 NA
## 3 1.455945 0.06753697 Bathin Solapan ID1408012 NA
## 4 1.408474 0.03558639 Bengkalis ID1408040 NA
## 5 1.128367 0.04332944 Bukit Batu ID1408020 NA
## 6 1.259870 0.03605507 Mandau ID1408010 NA
Merged Data
Merge Data dilakukan dengan memmbandingkan primary key antara Spatial Data (Admin3Kecamatan hasil import file .shp) dan Data Frame (Pekanbaru hasil import file .csv) dengan menggunakan fungsi geo_join() dari package tigris.
merged_Pekanbaru <- geo_join(spatial_data=Admin3,
data_frame=Pekanbaru, by_sp="ADM3_PCODE",
by_df="ADM3_PCODE", how = "inner")## Warning: We recommend using the dplyr::*_join() family of functions instead.
Menampilkan Peta Plot
Sebelum menampilkan peta, terlebih dahulu kita atur warna untuk peta yang buat
mycol <- c("green", "yellow", "red", "red4")Selanjutnya, untuk menampilkan peta penduduk Kota Pekanbaru bisa menggunakan syntax berikut:
pDATA<-ggplot()+
geom_sf(data=merged_Pekanbaru,aes(fill=Penduduk))+
scale_fill_gradientn(colours=mycol)+
labs(title="Penduduk di Pekanbaru")
pDATAPada peta tersebut, sebaran jumlah penduduk Kota Pekanbaru tidak terlihat dengan jelas. Oleh karena itu, supaya sebaran terlihat dengan jelas, kita bisa memperkecil cakupan data yang akan kita plotkan dengan cara memilih kecamatan yang hanya ada di Kota Pekanbaru.
Pekanbaru1 <- read.csv("D://Admin3Kecamatan/kecamatan.csv",
header=TRUE, sep=",")
merged_Pekanbaru1 <- geo_join(spatial_data=Admin3,
data_frame=Pekanbaru1, by_sp="ADM3_PCODE",
by_df="ADM3_PCODE", how = "inner")## Warning: We recommend using the dplyr::*_join() family of functions instead.
mycol <- c("green", "yellow", "red", "red4")
pDATA1 <- ggplot()+
geom_sf(data=merged_Pekanbaru1,aes(fill=Penduduk))+
scale_fill_gradientn(colours=mycol)+
labs(title="Penduduk di Pekanbaru")
pDATA1Demikianlah cara untuk membuat peta sebaran jumlah penduduk yang ada di Kota Pekanbaru. Tidak hanya jumlah penduduk, kita bisa membuat peta dengan data kuantatif lainnya dan kita juga bisa membuat peta dari daerah lainnya.