Open Location Code merupakan teknologi yang memberikan cara pengkodean lokasi ke dalam bentuk yang lebih mudah digunakan dibandingkan lintang dan bujur. Kode yang dihasilkan disebut kode plus, karena ciri pembedanya adalah kode tersebut menyertakan karakter "+".
Teknologi ini dirancang untuk menghasilkan kode yang dapat digunakan sebagai pengganti alamat jalan, terutama di tempat-tempat yang bangunannya tidak diberi nomor atau jalan tidak diberi nama.
Kode plus mewakili suatu area, bukan titik. Saat digit ditambahkan ke suatu kode, area tersebut menyusut, sehingga kode yang panjang lebih tepat daripada kode yang pendek.
Kode-kode yang serupa letaknya berdekatan dibandingkan dengan kode-kode yang berbeda.
Lokasi dapat diubah menjadi kode, dan kode (lengkap) ini dapat diubah kembali menjadi lokasi yang benar-benar offline, tanpa memerlukan tabel data apa pun untuk dicari atau layanan online.
Kode dapat dipersingkat untuk memudahkan komunikasi, dalam hal ini kode dapat digunakan secara regional atau dikombinasikan dengan lokasi referensi yang perlu diketahui oleh semua pengguna kode pendek ini. Jika lokasi referensi diberikan dalam bentuk nama lokasi, penggunaan layanan geocoding mungkin diperlukan untuk memulihkan lokasi aslinya.
Algoritma untuk
tersedia untuk umum dan dapat digunakan tanpa batasan. Layanan geocoding bukan bagian dari teknologi Open Location Code.
Kode terdiri dari rangkaian digit yang dipilih dari 20 digit. Digit dalam kode bergantian antara garis lintang dan garis bujur. Empat digit pertama menggambarkan luas satu derajat lintang dan satu derajat bujur, disejajarkan dalam derajat. Menambahkan dua digit lagi ke kode akan mengurangi luas area menjadi 1/20 derajat dengan 1/20 derajat dalam area sebelumnya. Dan seterusnya - setiap pasangan digit mengurangi luasnya menjadi 1/400 dari luas sebelumnya.
Sebagai contoh, Gedung Parlemen di Nairobi, Kenya terletak di 6GCRPR6C+24. 6GCR adalah wilayah dari 2°S 36°BT hingga 1°S 37°BT. PR6C+24 adalah area selebar 14 kali 14 meter dalam 6GCR.
Karakter "+" digunakan setelah delapan digit, untuk membagi kode menjadi dua bagian dan untuk membedakan kode dari kode pos.
Akan ada lokasi di mana kode 10 digit tidak cukup tepat, namun menyempurnakannya dengan faktor 20 adalah i) tidak perlu tepat dan ii) memerlukan perluasan kode sebanyak dua digit. Sebaliknya, setelah 10 digit, area tersebut dibagi menjadi grid 4x5 dan satu digit digunakan untuk mengidentifikasi persegi grid. Satu langkah penyempurnaan jaringan mengurangi area menjadi sekitar 3,5x2,8 meter.
Kode dapat dipersingkat berdasarkan lokasi. Hal ini mengurangi jumlah digit yang harus diingat, dengan menggunakan lokasi untuk mengidentifikasi perkiraan area, dan kemudian menghasilkan kode pencocokan terdekat. Memperpendek kode, jika memungkinkan, akan menghilangkan empat digit atau lebih dari awal kode. Sejauh mana suatu kode dapat dipersingkat bergantung pada kedekatan lokasi referensi.
Jika lokasi referensi berasal dari nama kota, hal ini bergantung pada keakuratan layanan geocoding. Meskipun satu layanan mungkin menempatkan "Zurich" dekat dengan kantor Google, layanan lain mungkin memindahkannya sejauh seratus meter atau lebih, dan ini cukup untuk mencegah pemulihan kode asli. Daripada fitur ukuran kota besar untuk menghasilkan lokasi referensi, lebih baik menggunakan fitur lingkungan yang lebih kecil, yang tidak akan memiliki banyak variasi dalam hasil geokodenya.
Pedoman untuk memperpendek kode ada di wiki.
Memulihkan kode yang dipersingkat berfungsi dengan menyediakan kode pendek dan lokasi referensi. Lokasinya tidak harus sama dengan lokasi yang digunakan untuk mempersingkat kode, namun harus berdekatan. Kode yang dipersingkat selalu menyertakan karakter "+" sehingga mudah untuk menghitung komponen yang hilang.
Subdirektori berisi contoh implementasi dan pengujian untuk berbagai bahasa. Setiap implementasi menyediakan fungsi-fungsi berikut: