Home > Blogosphere, World Of ICT > Kebet-lah Ilmu dengan Nulis-ke-nyo

Kebet-lah Ilmu dengan Nulis-ke-nyo


Sesuai judul dan sesuai pula dengan pepatah lama yang menyebutkan bahwa “Kebet-lah Ilmu dengan Nulis-ke-nyo” (Ikatlah Ilmu dengan menuliskannya), tujuannya sederhana yaitu bagaimana ilmu/pengalaman yang pernah didapat didokumentasikan dalam bentuk tulisan, sebenernya hal ini juga telah diajarkan oleh Baginda Nabi besar Muhammad SAW yang telah menuliskan/mendokumentasikan  wahyu/ayat yang diterima dari Alloh dalam bentuk mushaf-mushaf  entah ditulis dalam daun lontar, kayu, dsb.

Nah seiring dengan perkembangan jaman, ‘now a day’ semua sudah berbasis pada informasi elektronik, ada yang menuliskan sesuatu pada notebook, smartphone, BB, Android, blog, website, e-journal, dll  dengan tujuan agar tulisan yang dibuat bisa terbaca dengan cepat dan tentu saja bisa bermanfaat bagi yang membaca tulisan tersebut.

Lah siang ini jadi nak Ngebet-ke Apo ??  , yang mau ditulis adalah bagaimana men-generate cara memplotting koordinat pada sebuah area peta, dengan output visualisasi tersebut mudah terbaca berdasarkan informasi warna, dan ukuran plotting titik terhadap koordinat yang di plot, langsung saja yah saya paste script jadi menggunakan bahasa pemrograman Python (versi 2.7) untuk menghasilkan output gambar sebagai berikut


############# Script Start #####################
import MySQLdb as mdb
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
from matplotlib.collections import LineCollection
import operator
from numpy import *

#Inisialisasi ke Database
conn = mdb.connect('localhost', 'lemlit', 'lemlitxxx', 'db_sda');

with conn:
   cursor = conn.cursor () cursor.execute ("SELECT
   provinsi.nama_prov,provinsi.lat, provinsi.lon, produksi.jumlah_prod
   FROM produksi Inner Join  provinsi ON produksi.prov_prod =
   provinsi.id_prov WHERE  produksi.tahun_prod =  '2012' AND
   produksi.jenis_prod = 'BI-1'")

   row = cursor.fetchall()
   a1,a2,a3,a4=zip(*row) #Ambil query join tabel dengan variabel a1,a2,dst
   print a1,a2,a3,a4 print
   "==============================================================="
   print "DATA sedang diproses, harap bersabar menunggu....... okeh   bro.."

   cursor = conn.cursor () cursor.execute ("SELECT  MAX(jumlah_prod)
   from produksi ") #Query ambil nilai produksi maksimal nilai_max =
   cursor.fetchone() print nilai_max

#Definisi Lat Lon Sumatera  
m = Basemap(llcrnrlon=95.0,llcrnrlat=-6.5,urcrnrlon=107.0,urcrnrlat=7,\
            rsphere=(6378137.00,6356752.3142),\
            resolution='l',projection='merc',\
            lat_0=40.,lon_0=-20.,lat_ts=20.) 

#Part Name Circle sebaran di tiap provinsi#
import matplotlib as mpl
mpl.rcParams['font.size'] = 10.
mpl.rcParams['font.family'] = 'Comic Sans MS'
mpl.rcParams['axes.labelsize'] = 8.
mpl.rcParams['xtick.labelsize'] = 6.
mpl.rcParams['ytick.labelsize'] = 6.

#Part set layout manual
fig = plt.figure(figsize=(10.0,10.0))
plt.subplots_adjust(left=0.05,right=0.95,top=0.90,bottom=0.05,wspace=0.15,hspace=0.05)
m.ax = plt.subplot(111)

#Part gambar peta kontur
m.drawcoastlines(linewidth=0.8)
m.drawparallels(np.arange(-6.5,7,1.),labels=[1,0,0,0],color='black',dashes=[1,0],labelstyle='+/-',linewidth=0.2)
m.drawmeridians(np.arange(95.,107.,1.),labels=[0,0,0,1],color='black',dashes=[1,0],labelstyle='+/-',linewidth=0.2) 
m.drawmapboundary(fill_color='cyan')
m.fillcontinents(color='white',lake_color='none',zorder=0)

#Part Fetch data lat,lot,produksi dari query
lats,lons,z1=a2,a3,a4
z = np.array(z1)

#names = (a1 and a4) 
names = a1

x,y = m(lons,lats)
x = np.array(x)
y = np.array(y)

#Part Normalisasi ukuran circle dengan nilai size maks=210
max = array (nilai_max)
self = array (a4)

plt.scatter(x,y,s=(self/max)*210,marker="o",c=z)

for i in range(len(names)):
    m.ax.text(x[i], y[i], names[i], va="top", family="monospace", weight="bold",fontsize=7)

#Part cetak dan save
plt.colorbar()
plt.title('Sebaran Hasil Produksi Sawit tahun 2012 ')
plt.savefig('2010/Sebaran-PRODUKSISAWIT2012.png')
plt.show()

asd

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: