Kolom "alamat" di tabel nasabah, agunan, atau jaringan ATM kelihatan seperti data lokasi. Padahal komputer tidak bisa menghitung apa pun dari teks "Jl. Melati No. 12, RT 03". Jarak, radius, cabang terdekat, wilayah rawan banjir: semuanya butuh titik di permukaan bumi, bukan kalimat.
Pendapat kami sederhana. Data baru layak disebut data lokasi kalau ada tiga hal yang menyertainya: koordinat, sistem referensi yang dipakai koordinat itu, dan catatan seberapa yakin kita pada titiknya. Alamat teks tanpa ketiganya cuma label.
Tulisan ini menerangkan dari nol cara kerja data geospasial di balik layar, untuk tim IT dan operasional yang tiap hari mengurus data tetapi belum pernah bersinggungan dengan peta.
Apa itu data geospasial
Data geospasial adalah data biasa dengan satu tambahan: posisi di permukaan bumi. "Nasabah A" adalah data biasa. "Nasabah A di lintang -6,2 dan bujur 106,8" adalah data geospasial. Dua angka itulah yang dipakai mesin untuk menghitung jarak, mencari yang terdekat, atau mengecek apakah sebuah titik ada di dalam suatu wilayah.
Kedengarannya mudah. Kesulitannya ada di empat langkah yang berjalan senyap di belakang peta.
Langkah 1: mengubah alamat menjadi titik
Prosesnya bernama geocoding. Sistem membersihkan teks alamat lebih dulu, misalnya menyamakan "Jl", "Jalan", dan "Jln", lalu mencocokkannya dengan dataset referensi yang berisi titik bangunan, garis jalan, atau batas wilayah. Penjelasan di Wikipedia tentang address geocoding menyebut, kalau yang cocok cuma ruas jalan, sistem memperkirakan posisinya dengan interpolasi: nomor 742 pada blok 700 sampai 799 ditaruh sedikit sebelum tengah blok.
Interpolasi mengandaikan rumah tersebar rata sepanjang jalan, dan sumber yang sama mengakui bahwa asumsi itu hampir tidak pernah benar di dunia nyata. Hasilnya, titik dalam satu tabel bisa berkualitas sangat berbeda. Dari yang paling tepat ke paling kasar: titik bangunan atau persil, interpolasi di ruas jalan, titik tengah ruas, titik tengah kode pos, titik tengah wilayah administratif. Kalau metodenya tidak dicatat, semuanya tampil sama di peta: satu titik biru.

Langkah 2: angka di belakang koma
Koordinat ditulis dalam derajat desimal, dan tiap angka di belakang koma menentukan seberapa halus posisinya. Menurut tabel di Wikipedia tentang decimal degrees, di khatulistiwa tiga desimal setara 111 meter, empat desimal 11,1 meter, dan lima desimal 1,11 meter.
Bandingkan dengan sumbernya. GPS.gov menulis bahwa smartphone dengan GPS biasanya akurat dalam radius 4,9 meter di area terbuka, dan akurasinya memburuk di dekat gedung, jembatan, dan pohon. Jadi lima desimal sudah cukup untuk titik hasil HP, dan angka kedelapan hanya hiasan. Presisi bukan akurasi: titik dengan delapan desimal terlihat seperti ketelitian milimeter, padahal asalnya HP petugas yang berdiri di depan ruko.
Konsekuensinya nyata. Aturan "kunjungan dianggap sah kalau dalam radius 5 meter dari titik agunan" akan menolak kunjungan yang benar-benar terjadi. Toleransi yang realistis ditentukan dari akurasi sumber titiknya, bukan dari jumlah angka di belakang koma.

Langkah 3: sistem referensi koordinat
Koordinat tanpa sistem referensi seperti angka tanpa satuan. Di database spasial, sistem itu dicatat sebagai SRID. Dokumentasi PostGIS menyebut fungsi yang membandingkan atau menggabungkan dua geometri mensyaratkan SRID yang sama, dan `ST_Transform` dipakai untuk mengonversi di antara sistem. Untuk kolom bertipe geography, kalau SRID tidak ditulis, nilai bawaannya 4326 (WGS84).
Indonesia punya sistem sendiri, SRGI2013. Registri EPSG mencatat transformasi dari SRGI2013 ke SRGI2013 epoch 2021.0 yang memakai model deformasi INADEFORM untuk menggeser koordinat dari epoch 2012.0 ke 2021.0. Artinya acuan resmi kita terikat waktu: koordinat yang sama bisa berarti posisi yang sedikit berbeda, tergantung tahun acuannya. Kami tidak bilang selisihnya besar untuk peta cabang. Kami bilang itu harus tercatat. Simpan SRID di kolom sebelah koordinat, dan untuk data survei presisi tinggi, simpan juga epoch-nya.
Langkah 4: indeks spasial
"Cari semua nasabah dalam radius 2 km dari cabang ini" tanpa indeks berarti database memeriksa setiap baris. Menurut dokumentasi PostGIS yang sama, indeks spasialnya berupa R-Tree di atas GiST yang menyimpan kotak pembatas (bounding box) tiap geometri. Query lewat dua tahap: filter primer memakai kotak pembatas untuk menyempitkan kandidat, baru filter sekunder menguji kondisi yang tepat. Database tidak menghitung jarak jutaan kali, hanya untuk kandidat yang tersisa.
Kalau query radius terasa lambat, periksa dulu apakah kolom lokasinya punya indeks sebelum menambah server.

Satu peta, bukan sepuluh
Indonesia sudah menempuh masalah ini di tingkat nasional lewat Kebijakan Satu Peta, yang menurut Diskominfo Jawa Tengah (23 Februari 2018) adalah amanat UU Nomor 4 Tahun 2011 tentang Informasi Geospasial. Sasarannya empat hal: satu referensi geospasial, satu standar, satu basis data, dan satu geoportal.
Pola yang sama berlaku dalam skala kecil di bank. Tim kredit punya lembar lokasi sendiri, tim penagihan punya yang lain, tim jaringan punya yang ketiga. Satu agunan bisa punya tiga titik tanpa ada yang tahu mana yang benar. Satu basis lokasi dengan metode dan akurasi tercatat bisa melayani semuanya.

Lima pertanyaan sebelum menyentuh peta
- Dari mana tiap titik berasal: geocoding, GPS petugas, atau input manual?
- Apakah ada kolom yang mencatat metode dan tingkat akurasinya?
- Sistem referensi apa yang tersimpan, dan konsisten di semua tabel?
- Apakah ada satu sumber lokasi, atau tiap tim memegang salinan sendiri?
- Apakah kolom lokasi punya indeks spasial?
Audit atau verifikasi lapangan pertama yang menemukan titik meleset ratusan meter akan bertanya satu hal: titik ini dari mana? Tabel yang tidak mencatat jawabannya membuat semua titik lain ikut diragukan, termasuk yang sebenarnya benar.
Ini bagian yang kami perhatikan di Space Technology, lini geospasial XETUP yang masih kami kembangkan. Kalau Anda ingin ngobrol soal kondisi data lokasi di tempat Anda, chat WhatsApp kami di +62 823 1499 5005.
