Pencarian Geografis, MySQL vs PostgreSQL
Dalam mengolah data lokasi geografis, PostgreSQL memiliki berbagai kelebihan dibandingkan MySQL. Agar PostgreSQL bisa menyimpan dan mengolah data spatial perlu tambahan extension PostGIS dibandingkan MySQL, extension spatial sudah tersedia. Namun perlu diperhatikan, pada MySQL versi sebelum 5.0.6 hanya MyISAM yang mampu mengolah data spatial selanjutnya versi diatas 5.0.6 InnoDB, NDB, BDB juga sudah mendukung spatial data.
Dalam tulisan ini saya merujuk pada pemetaan sebagai berikut:
Polygon – polygon yang kami buat membagi Pulau Sumatra menjadi 3 wilayah. Masing – masing Sumatra Bagian Utara, Sumatra Bagian Tengah dan Sumatra Bagian Selatan.
Ke 3 polygon ini didefinisikan dalam database MySQL sebagai berikut:
Polygon – polygon yang sama juga kami simpan dalam database PostgreSQL
Dalam tulisan ini kami ingin mengetahui letak wilayah titik coordinate (Lat -3.086444 Long 104.727139), untuk itu kami jalankan query pada database MySQL dengan hasil berikut.
Menurut MySQL, titik (Lat -3.086444 Long 104.727139) berada di dua wilayah, yaitu Sumbagteng dan Sumbagsel. :-/
Sekarang kita bandingkan query yang serupa pada PostgreSQL
Hasilnya akurat dimana titik tersebut, yang tidak lain adalah kota Palembang, memang benar berada di wilayah Sumatra Bagian Selatan.
Kesimpulan:
Dibandingkan PostgreSQL, extension spatial MySQL sudah tersedia secara langsung tanpa perlu diinstal. Namun dengan effort tambahan menginstal extension PostGIS pada PostgreSQL anda akan mendapatkan hasil pencarian Geografis yang jauh lebih akurat.