Membuat Plot Data Spasial di Peta menggunakan Python
Holaa! Kembali lagi bareng aku!
Kali ini kita bakalan membahas gimana sih caranya membuat plot di peta nya langsung? Penasaran kan? Check it out!
Yang pertama banget dibutuhkan adalah Data. Tentunya kita harus punya data yang akan kita kelompokkan berdasarkan daerahnya bukan?
Kali ini, kita bakalan menggunakan data ritel cola, datanya bisa kalian dapatin disini.
Kemudian persiapkan package yang kita butuhkan.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
Setelah itu, masukkan datanya.
ritel = pd.read_csv("ritel_cola.csv")
ritel.head()
Dalam hal ini, kita hanya membutuhkan data Latitude dan Longitude nya saja.
ritel_x = ritel.iloc[:, 2:4]
ritel_x.head()
Selanjutnya kita harus mendefinisikan Bounding Box (BBox). Dimana BBox ini didefinisikan oleh dua latitude dan dua longitude yang akan mencakup semua titik spasial.
BBox = ((ritel.Longitude.min(), ritel.Longitude.max(),
ritel.Latitude.min(), ritel.Latitude.max()))
BBox
Setelah mendapatkan nilai latitude dan longitude dari data yang kita miliki, selanjutnya buka opestreetmap.org . Isikan nilai latitude dan longitude nya sesuai dengan nilai BBox yang telah kita dapatkan sebelumnya.
Kemudian capture gambar peta tersebut hanya di bagian terang yang dibatasi.
Setelah itu, simpan gambar tersebut di folder yang sama dengan folder ipynb yang sedang kita kerjakan saat ini.
Masukkan gambar,
semarang = plt.imread("semarang.png")
Langkah selanjutnya adalah memploting data ritail sesuai dengan daerahnya.
fig, ax = plt.subplots(figsize = (15,15))
ax.scatter(ritel.Longitude, ritel.Latitude, zorder=1, alpha= 0.9, c='b', s=20)
ax.set_title('Plotting Spatial Data on Semarang Map')
ax.set_xlim(110.0316,110.9200)
ax.set_ylim(-7.3400,-6.8900)
ax.imshow(semarang, zorder=0, extent = BBox, aspect= 'equal')
Dan, boom!
Hasilnya akan seperti ini,
Yeay! Kita telah berhasil membuat plot dari data spasial di peta.
Referensi:
https://towardsdatascience.com/easy-steps-to-plot-geographic-data-on-a-map-python-11217859a2db