top of page
Gambar penulisCornellius Yudha Wijaya

Membuat Peta Folium Sederhana— Case COVID-19 di Seluruh Dunia

Membuat Peta Folium Sederhana— Case COVID-19 di Seluruh Dunia

Ada banyak cara untuk membuat peta interaktif, salah satu cara favorit saya adalah Folium; sebuah map visualization library berbasis bahasa Python.


Dalam artikel ini, saya ingin menunjukkan cara membuat peta interaktif dengan kondisi saat ini (4 April 2020); data terbaik untuk merepresentasikan kondisi ini adalah jumlah kasus COVID-19 yang dikonfirmasi di seluruh dunia. Mari kita mulai.

Membuat Peta


Bagi yang belum tahu apa itu Folium; Folium adalah map visualization library yang memiliki banyak fitur bawaan khusus untuk membuat peta interaktif. Kita bisa menginstal library Folium dengan menggunakan perintah di bawah ini.


pip install folium
#atau
conda install folium -c conda-forge

Dengan perintah tersebut, kita sudah menginstal library Folium. Sekarang, mari kita coba membuat peta interaktif sederhana (atau peta dasar).

import folium
m = folium.Map()
m
Membuat Peta Folium Sederhana— Case COVID-19 di Seluruh Dunia
Contoh peta dasar sederhana menggunakan Folium

Sekarang kita sudah memiliki peta dasar. Dalam kasus ini, saya ingin membuat peta dunia yang menampilkan warna berbeda pada setiap negara (choropleth) berdasarkan jumlah kasus COVID-19 yang dikonfirmasi per 3 April 2020.


Untuk melakukan ini, kita perlu memiliki datanya terlebih dahulu. Untungnya, sekarang ada banyak API yang menyediakan data ini. Dalam kasus saya, saya akan menggunakan API dari thevirustracker.com. Mari kita coba mengambil data dari API tersebut. Berikut adalah langkah-langkah untuk mengambil data dari API.

import requests
res = requests.get('https://api.thevirustracker.com/free-api?countryTotals=ALL')
covid_current = res.json()
Data yang diambil dari API dengan format JSON

Dari data di atas, kita bisa melihat ada banyak data tapi dalam kasus ini, saya hanya akan mengambil data untuk Negara (title) dan Total Kasus (total_cases).

df = []
for j in range(1,len(covid_current['countryitems'][0])):
    df.append([covid_current['countryitems'][0]['{}'.format(j)]  ['title'],
         covid_current['countryitems'][0]['{}'.format(j)]['total_cases']])
df_covid = pd.DataFrame(df, columns = ['Country', 'Total Case'])
Membuat Peta Folium Sederhana— Case COVID-19 di Seluruh Dunia
Data COVID-19

Pada data terakhir, kita juga membutuhkan data GeoJSON dari negara-negara di dunia. Data GeoJSON adalah format data yang mewakili fitur geografis, seperti batas negara. Folium sudah memiliki data GeoJSON yang bisa kita gunakan.

url = 'https://raw.githubusercontent.com/python-visualization/folium/master/examples/data'
country_shapes = f'{url}/world-countries.json'

Saya juga akan membersihkan data COVID-19 karena, pada langkah berikutnya, saya akan menggunakan data negara yang disediakan oleh Folium pada peta kita. Saya perlu nama negara di dataset COVID-19 agar sesuai dengan nama negara yang disediakan oleh Folium.

df_covid.replace('USA', "United States of America", inplace = True)
df_covid.replace('Tanzania', "United Republic of Tanzania", inplace = True)
df_covid.replace('Democratic Republic of Congo', "Democratic Republic of the Congo", inplace = True)
df_covid.replace('Congo', "Republic of the Congo", inplace = True)
df_covid.replace('Lao', "Laos", inplace = True)
df_covid.replace('Syrian Arab Republic', "Syria", inplace = True)
df_covid.replace('Serbia', "Republic of Serbia", inplace = True)
df_covid.replace('Czechia', "Czech Republic", inplace = True)
df_covid.replace('UAE', "United Arab Emirates", inplace = True)

Sekarang kita memiliki data untuk membuat peta choropleth kasus COVID-19 yang dikonfirmasi menggunakan Folium. Pada langkah berikutnya, kita hanya perlu menambahkan layer choropleth ke peta dasar kita.

folium.Choropleth(
    geo_data=country_shapes,
    name='choropleth COVID-19',
    data=df_covid,
    columns=['Country', 'Total Case'],
    key_on='feature.properties.name',
    fill_color='PuRd',
    nan_fill_color='white'
).add_to(m)
m
Membuat Peta Folium Sederhana— Case COVID-19 di Seluruh Dunia
Peta Choropleth COVID-19

Kita sudah memiliki peta sederhana yang mewakili kasus COVID-19 yang dikonfirmasi di dunia. Seperti yang kita lihat, Amerika Serikat per 3 April 2020 diwarnai dengan warna paling gelap. Ini karena jumlah kasus di sana yang tertinggi saat ini. Beberapa negara seperti Italia, China, Spanyol, juga diwarnai sedikit lebih gelap dari yang lain karena mereka memiliki jumlah kasus terkonfirmasi tertinggi setelah AS.


Sebagai tambahan, saya akan menambahkan marker yang bisa diklik untuk menunjukkan nama negara. Dalam hal ini, kita membutuhkan garis lintang dan bujur dari setiap negara yang tersedia dalam file CSV ini.

Membuat Peta Folium Sederhana— Case COVID-19 di Seluruh Dunia
Choropleth yang telah diberi marker

Kita baru saja membuat peta interaktif sederhana dari kasus COVID-19 yang dikonfirmasi. Masih banyak hal lain yang bisa kita visualisasikan seperti kasus sembuh, kasus kematian, persentase, dan banyak lagi.

Kesimpulan


Membuat peta interaktif sederhana menjadi mudah menggunakan library Folium, yang kita butuhkan hanyalah data yang sekarang bisa diambil melalui API. Choropleth adalah salah satu peta yang cocok untuk memvisualisasikan kasus COVID-19 yang dikonfirmasi di dunia.


Semoga bermanfaat!

10 tampilan0 komentar

Postingan Terkait

Lihat Semua

Comments


bottom of page