Peta merupakan sebuah media untuk menyampaikan informasi mengenai lokasi di permukaan bumi beserta data pelengkapnya. Pada tahap ini kita akan belajar tentang plotting data spasial dan data sekunder mengenai informasi suatu wilayah. Pada contoh kali ini kita akan menggunakan data shapefile Kota Semarang beserta data jumlah populasi pada setiap kecamatan (bukan data asli). Import data shapefile Kota Semarang dari link google drive berikut:

!gdown https://drive.google.com/u/2/uc?id=1XcPEdwSWysU5PWy2NnFca7QWqQkoMBPC&export=download
!unzip KOTA_SMG.zip
smg = gpd.read_file("KOTA_SMG/ADM_AREA.shp")
smg.head()

Setelah itu kemudian akan muncul tabel isi dari shp Kota Semarang. Dapat dilihat kemudian muncul tabel atribut di mana belum terdapat data populasi tiap kecamatan. Download data populasi dari link berikut

!gdown https://drive.google.com/u/2/uc?id=1v-ChS7wT8QtRY5pqVO8IOqVuhN6z3JCg&export=download
district_pop = pd.read_csv("/content/population.csv")
district_pop.head()

Kemudian data csv tersebut (district_pop) digabungkan dengan data spasial wilayah Kota Semarang (smg), data gabungan tersebut misalkan disebut dengan pop_district dengan kolom yang sama yaitu kolom kecamatan (WADMKC).

pop_district = smg.merge(district_pop, left_on="WADMKC", right_on="WADMKC")
pop_district.head()

Setelah itu dapat dilihat tabel atribut yang telah bergabung. image Maka data spasial telah memiliki data jumlah populasi di dalamnya. Untuk plotting data dapat dengan perintah berikut Dengan matplotlib

feature = 'Populasi'
vmin, vmax = 0, 30000   #min max bar
fig, ax = plt.subplots(1, figsize=(20, 12))
pop_district.plot(column=feature, cmap='Greens', linewidth=0.8, ax=ax, edgecolor='0.8')
ax.set_title('Population in Semarang for each Districts') #INPUT YOUR TITLE
ax.axis('on')
sm = plt.cm.ScalarMappable(cmap='Greens', norm=plt.Normalize(vmin=vmin, vmax=vmax))
sm._A = []
cbar = fig.colorbar(sm);

image

Dengan menggunakan geoplot

import geoplot as gplt
import geoplot.crs as gcrs
import geopandas as gpd
gplt.choropleth(pop_district,
               hue='Populasi',
               cmap='Greens',
               legend=True,
               )
plt.title("Population in Semarang")
plt.axis('on')

image

Selamat mencoba! Happy mapping :)


<
Previous Post
Introduction
>
Next Post
Plotting Data Spasial dengan Python