Latitude dan longitude adalah dua angka yang mendefinisikan setiap titik di Bumi. Latitude memberi tahu seberapa jauh ke utara atau selatan kamu berada. Longitude memberi tahu seberapa jauh ke timur atau barat. Keduanya membentuk pasangan koordinat yang dapat diinterpretasikan oleh peta, perangkat GPS, geocoding API, atau asisten AI mana pun.
Sebagian besar developer menggunakan koordinat tanpa memikirkannya, sampai ada bug yang muncul. Panduan ini menjelaskan apa yang sebenarnya diukur oleh masing-masing, konvensi format yang akan kamu temui di production, dan kesalahan swap yang menyebabkan lebih banyak bug peta daripada kesalahan tunggal lainnya.
Apa yang Diukur Latitude
Latitude adalah sudut, diukur dalam derajat, antara titik di permukaan Bumi dan bidang ekuatorial. Ekuator adalah 0 derajat. Kutub Utara adalah +90 derajat. Kutub Selatan adalah -90 derajat. Garis latitude (disebut paralel) berjalan horizontal mengelilingi globe dan tetap berjarak sama di mana saja.
Satu derajat latitude selalu sekitar 111 kilometer di lapangan, terlepas dari posisimu. Stabilitas inilah yang membuat latitude berguna untuk segalanya mulai dari perencanaan penerbangan hingga ilmu iklim.
Apa yang Diukur Longitude
Longitude adalah sudut antara suatu titik dan meridian utama, garis yang melewati Greenwich, London, pada 0 derajat longitude. Longitude berkisar dari -180 derajat (barat) hingga +180 derajat (timur). Kedua nilai bertemu di sisi berlawanan planet pada antimeridian, yang membentuk sebagian besar Garis Tanggal Internasional.
Tidak seperti latitude, jarak darat yang dicakup satu derajat longitude bergantung pada posisimu. Di ekuator, satu derajat longitude sekitar 111 km, sama dengan latitude. Di Helsinki sekitar 56 km. Di kutub menyusut menjadi nol, karena semua garis longitude bertemu di sana.
Konvergensi inilah mengapa perhitungan jarak pada peta datar rusak untuk rute panjang atau untuk titik di dekat kutub. Fungsi jarak yang tepat menggunakan rumus haversine atau vincenty, yang memperhitungkan kelengkungan Bumi.
Kesalahan Swap yang Terkenal (dan Cara Menghindarinya)
Kesalahan paling umum dalam kode geospasial production adalah menukar latitude dan longitude. Alasannya adalah format yang berbeda memiliki konvensi berbeda:
- Tampilan manusia, alamat, aplikasi GPS: latitude lebih dulu.
48.8584, 2.2945berarti lat 48.8584, lng 2.2945. - GeoJSON, WKT, sebagian besar standar geospasial: longitude lebih dulu.
[2.2945, 48.8584]adalah titik yang sama. - MapAtlas Geocoding API dan sebagian besar REST API "v1": latitude lebih dulu dalam key JSON (
lat,lng), tetapi periksa dokumentasi endpoint karena konvensi bervariasi.
Jika kamu mengambil fitur dari GeoJSON dan memasukkannya ke dalam map library yang mengharapkan [lat, lng], kamu harus menukarnya. Jika lupa, titikmu akan berada di belahan bumi yang salah, dan setiap sesi debugging peta selama dua hari berikutnya akan penuh kebingungan tentang mengapa "Paris" muncul di suatu tempat di lepas pantai Afrika.
Aturan defensif: dalam fungsi apa pun yang menerima koordinat, beri nama parameter secara eksplisit. function distance(latA, lngA, latB, lngB) lebih sulit disalahgunakan daripada function distance(a, b) di mana a dan b adalah array yang tidak jelas.
Decimal Degrees vs DMS
Format paling umum yang akan kamu lihat dalam kode adalah decimal degrees (DD): 48.8584, 2.2945. Ini yang diharapkan oleh setiap API dan library modern.
Kamu terkadang akan menemui degrees-minutes-seconds (DMS): 48 deg 51' 30" N, 2 deg 17' 40" E. DMS berasal dari tradisi maritim dan penerbangan yang lebih tua, dan masih digunakan pada peta kertas resmi dan beberapa unit GPS perangkat keras. Mengonversi DMS ke DD sangat mudah: DD = degrees + (minutes / 60) + (seconds / 3600), dengan negasi untuk Selatan atau Barat.
Untuk penyimpanan, decimal degrees dengan 5 hingga 6 digit presisi mencakup setiap kasus penggunaan yang realistis. Lebih dari 6 tempat adalah teater presisi, karena unit GPS dunia nyata jarang memberikan akurasi lebih baik dari sentimeter.
Berapa Digit Presisi yang Dibutuhkan?
Setiap tempat desimal latitude atau longitude menyempurnakan posisi sekitar faktor 10:
- 0 tempat desimal (
48): sekitar 111 km, tingkat negara - 1 tempat (
48.8): sekitar 11 km, tingkat kota - 2 tempat (
48.86): sekitar 1,1 km, tingkat lingkungan - 3 tempat (
48.858): sekitar 110 meter, tingkat jalan - 4 tempat (
48.8584): sekitar 11 meter, tingkat bangunan - 5 tempat (
48.85844): sekitar 1 meter, tingkat pintu - 6 tempat (
48.858445): sekitar 11 sentimeter, batas GPS - 7+ tempat: presisi palsu, melampaui akurasi GPS dunia nyata
Pilih presisi yang sesuai dengan kebutuhanmu. Menyimpan 8 desimal untuk kasus penggunaan "kirim ke lingkungan ini" membuang ruang dan memberikan pengguna kesan yang menyesatkan tentang seberapa tepat datanya.
Koordinat dan Proyeksi Peta
Angka-angka itu sendiri adalah pengukuran sudut di permukaan Bumi, tetapi layar itu datar. Setiap proyeksi peta adalah fungsi matematika yang mengubah latitude dan longitude menjadi piksel x,y untuk ditampilkan.
Web Mercator (EPSG:3857) adalah proyeksi yang digunakan oleh Google Maps, OpenStreetMap, dan hampir setiap peta web interaktif. Proyeksi ini mempertahankan bentuk dan arah tetapi mendistorsi luas: Greenland terlihat seukuran Afrika, padahal kenyataannya empat belas kali lebih kecil. Untuk peta production, distorsi ini tidak masalah selama pengguna dapat mengenali tempat. Untuk peta tematik yang membandingkan luas (populasi, hasil pemilu, iklim), gunakan proyeksi equal-area sebagai gantinya.
Nilai koordinat yang kamu simpan selalu dalam WGS84 latitude dan longitude. Proyeksi diterapkan saat render. Mencampur koordinat ruang proyeksi dengan koordinat WGS84 dalam database adalah sumber bug klasik lainnya.
Menyimpan dan Mengindeks Koordinat
Di sebagian besar database, simpan latitude dan longitude sebagai dua kolom numerik (atau geometry(point, 4326) jika menggunakan PostGIS). Untuk pencarian titik dalam bounding box, indeks B-tree pada setiap kolom sudah cukup. Untuk query "nearest neighbour", kamu membutuhkan spatial index: PostGIS GIST, MySQL SPATIAL, atau bucket geohash.
Menyimpan sebagai string ("48.8584,2.2945") akan menyulitkanmu begitu kamu perlu memfilter, mengurutkan, atau menghitung jarak. Jangan lakukan itu.
Cara Asisten AI Menggunakan Koordinat
Asisten AI modern (ChatGPT, Perplexity, Gemini) bernalar tentang tempat melalui koordinat dengan cara yang sama seperti aplikasi manusia. Saat pengguna bertanya "temukan kedai kopi di dekat saya", asisten mengubah lokasi pengguna menjadi koordinat, query places API, dan mengurutkan hasilnya berdasarkan jarak haversine. Koordinat yang diberi tag dengan benar dalam data terstrukturmu (properti geo JSON-LD, schema GeoCoordinates) membantu asisten AI memilih listingmu daripada kompetitor dengan data lokasi yang lebih samar.
Untuk listing yang mencakup batas atau bersaing di beberapa kota, koordinat adalah pembeda. "Paris" ambigu: ada satu di Prancis dan satu di Texas. Koordinat tidak.
Mengapa MapAtlas
MapAtlas adalah platform pemetaan Eropa yang dibangun untuk era pencarian AI. Setiap geocode, reverse lookup, isochrone, dan panggilan routing mengembalikan koordinat WGS84 yang bersih dengan urutan yang konsisten, kepatuhan GDPR, dan hosting EU. Coba alat Pencarian Koordinat untuk mengonversi alamat apa pun ke lat/lng secara instan, atau baca panduan Apa Itu Geocode untuk pemahaman lebih dalam tentang cara kerja geocoding API di production.
Pertanyaan yang Sering Diajukan
Apa perbedaan antara longitude dan latitude?
Latitude mengukur posisi utara-selatan di permukaan Bumi (antara -90 di Kutub Selatan dan +90 di Kutub Utara), sedangkan longitude mengukur posisi timur-barat (antara -180 dan +180, dengan 0 di meridian Greenwich). Garis latitude berjalan horizontal dan sejajar satu sama lain. Garis longitude berjalan vertikal dan bertemu di kutub. Keduanya membentuk pasangan angka unik yang menentukan lokasi mana pun di planet ini.
Mana yang lebih dulu, longitude atau latitude?
Bergantung pada formatnya. Dalam bentuk yang mudah dibaca manusia (Google Maps, aplikasi GPS, alamat), latitude ditulis lebih dulu: 48.8584, 2.2945 berarti lat 48.8584, lng 2.2945. Dalam format machine-readable seperti GeoJSON dan sebagian besar standar geospasial, longitude yang lebih dulu: [2.2945, 48.8584]. Pertukaran posisi ini adalah sumber bug peta paling umum di production. Selalu periksa konvensi format spesifik yang kamu gunakan.
Seberapa akurat koordinat GPS?
Enam desimal tempat (contoh: 48.858444) akurat hingga sekitar 11 sentimeter di ekuator. Lima tempat (48.85844) memberikan sekitar 1 meter. Empat tempat (48.8584) sekitar 11 meter, yang cukup untuk pemetaan tingkat jalan. Untuk sebagian besar kasus penggunaan production, 6 desimal berlebihan dan 5 sudah cukup. Menyimpan presisi lebih dari yang dibutuhkan hanya membuang byte dan menciptakan kesan akurasi yang palsu.
Mengapa garis longitude bertemu di kutub?
Garis latitude sejajar karena semuanya berbagi sumbu Bumi sebagai referensi. Garis longitude, sebaliknya, adalah lingkaran besar yang semua melewati Kutub Utara dan Selatan. Saat mendekati kutub, jarak timur-barat antara dua nilai longitude menyusut: di ekuator, satu derajat longitude sekitar 111 km, tetapi di kutub menyusut menjadi nol. Inilah mengapa perhitungan jarak sederhana menggunakan koordinat datar rusak di lintang tinggi, dan mengapa perhitungan jarak yang benar menggunakan rumus haversine atau vincenty.

