Geokode

Geokode () adalah kode yang mewakili entitas geografis (lokasi atau objek). Kode ini menjadi pengidentifikasi unik si entitas untuk membedakannya dari yang lain dalam himpunan entitas geografis. Pada umumnya, geokode mudah dibaca manusia dan pendek.

Berikut contoh geokode beserta entitas yang diwakilinya:
 Kode negara dan pembagian administratif di bawahnya mewakili batas administratifnya.Contoh utamanya adalah kode ISO 3166-1 alpha-2 (misal ID untuk Indonesia) dan kode pembagian administratif ID (misal ID-JK untuk Jakarta).
 Kisi global diskret mewakili sel-sel wilayah di dunia. Contohnya Geohash (misal qqguygv1myuv untuk Monumen Nasional) dan OLC (misal 6P58RRFG+RV untuk tempat yang sama).
 Kode wilayah khusus lainnya mewakili batas wilayah kerja tertentu. Contohnya kode pos Pos Indonesia (misal 10110 untuk Kelurahan Gambir tempat Monumen Nasional berada)Kode POS 10110 - Gambir, kec. Gambir, kota Jakarta Pusat, DKI Jakarta atau sistem pengodean Wilkerstat Badan Pusat Statistik (misal 3173080003 untuk kelurahan yang sama).

Standar ISO 19112:2019  (subbab 3.1.2) mengadopsi istilah geographic identifier (pengidentifikasi geografis) alih-alih geokode untuk meliputi label panjang: referensi spasial dalam bentuk label atau kode yang mengidentifikasi sebuah lokasi. Sebagai contoh, bagi ISO, nama negara "Indonesia" adalah sebuah label.

Geokode utamanya dipakai (pada umumnya sebagai tipe data primitif) untuk pelabelan, integritas data, penandaan geografis, dan pengindeksan spasial.

Dalam ilmu komputer teoretis, sistem geokode adalah fungsi hash yang menjaga kelokalan.

 Pembagian 

Ada beberapa hal umum yang mendasari pembagian jenis geokode (atau sistem geokode).
 Kepemilikan: berpemilik atau bebas berdasarkan lisensinya.
 Pembentukan: geokode bisa dibentuk dari nama (misal singkatan) atau fungsi matematika (algoritma pengodean untuk memampatkan lintang dan bujur. Lihat "Sistem geokode" di bawah untuk lebih lanjut.
 Lingkup: global atau sebagian. Entitas yang diwakili adalah seluruh dunia, terbatas lingkup tertentu (misal wilayah setempat), atau yurisdiksi kepemilikian (misal wilayah negara).
 Jenis yang diwakilkan: jenis geometrinya bisa berupa titik (geokodenya bisa diubah menjadi skema URI geo), sel kisi (sistem geokodenya berkaitan dengan kisi global diskret), atau segi banyak (biasanya batas wilayah administratif).
 Lingkup pemakaian: pemakaian umum dan pemakaian khusus (misal kode bandara).
 Hierarki: hierarki sintaksis geokode mewakili hierarki spasial entitas yang diwakilinya. Bisa ada (nama atau kisi) atau tidak ada.

 Sistem geokode 
Himpunan seluruh geokode sebagai pengidentifikasi unik sel-sel terhadap keseluruhan permukaan geografis (atau wilayah tertentu) disebut sistem geokode (atau skema geokode). Sintaksis dan semantik geokode juga bagian dari definisi sistem:
 Sintaksis geokode adalah karakter-karakter yang bisa dipakai, yaitu susunan blok karakter, ukurannya, dan urutannya. Misalnya kode negara menggunakan dua huruf Latin (A–Z). Cara umum untuk mendefinisikan secara formal adalah dengan ekspresi reguler, misal /[A-Z]{2,2}/.
 Semantik geokode adalah cara memahami maksud/arti dari geokode dan biasanya dengan mengaitkan kode dengan jenis entitas geografis. Ia bisa dijelaskan secara formal melalui ontologi, diagram kelas UML, atau model hubungan entitas.Pada umumnya, semantik ini bisa dideduksi dari proses pengodeannya. Misalnya, tiap kode Geohash mewakili wilayah persegi panjang pada peta dan koordinatnya diperoleh selama proses dekode.

Banyak ciri-ciri sintaksis dan semantik bisa dirangkum dengan klasifikasi.

 Enkode dan dekode 
Tiap geokode bisa dibuat dari penjelasan formal (atau diperluas) dari entitas geografis atau sebaliknya, geokode diterjemahkan jadi entitas yang diwakilinya. Proses yang pertama disebut enkode atau pengodean; proses yang kedua disebut dekode. Berikut beberapa istilah menurut definisi OGC:

 geocoder
 Agen perangkat lunak yang mengubah deskripsi entitas geografis (misal nama tempat atau koordinat lintang/bujur) ke dalam data yang dinormalkan dan mengodekan jadi geokode.
 geocoder service
 Geocoder yang diimplementasikan sebagai layanan web (atau antarmuka serupa) yang menerima permintaan berupa deskripsi entitas geografis dan mengembalikan nilai geokode. Banyak layanan umum juga mengembalikan fitur geografis (misal objek GeoJSON) yang diwakili oleh si geokode.
 geocoding
 Proses menautkan geokode atau koordinat ke data rujukan geografis. Misalnya, negara ke kode negara dan alamat menjadi koordinat.

Dalam aplikasi pengindeksan spasial, geokode bisa diterjemahkan antara format yang bisa dibaca manusia (misal heksadesimal dan format internal (misal bilangan bulat tak bertanda 64-bit.

 Sistem nama standar 
Geokode semisal kode negara, kode kota, dan lain-lain berasal dari tabel nama resmi beserta geometrinya (biasanya segi banyak wilayah administratif). Yang dimaksud resmi di sini dalam konteks kontrol dan konsensus, biasanya tabel yang diatur oleh badan standardisasi atau otoritas pemerintahan. Jadi, pada umumnya, yang dipakai adalah nama standar beserta kode standar (dan geometri resminya).


Secara khusus, nama yang dimaksud adalah toponimi dan tabel yang dimaksud adalah sumber untuk penyelesaian toponimi: proses memetakan antara toponimi dengan ciri-ciri spasial yang tidak ambigu terhadap tempat yang sama.

Terkadang, nama-nama diubah ke dalam kode angka agar ringkas dan bisa dibaca oleh mesin. Karena bilangan dalam kasus ini adalah pengidentifikasi nama, kita bisa menganggap "nama numerik"—himpunan kode ini bisa disebut sistem nama standar.

 Penamaan hierarki 
Dalam konteks geokode, pembagian wilayah adalah proses membagi ruang geografis menjadi dua atau lebih himpunan bagian saling lepas dan menghasilkan mosaik subbagian. Tiap subbagian bisa dibagi lagi secara rekursif untuk menghasilkan mosaik hierarki.

Sebuah sistem geokode bisa disebut menggunakan penamaan hierarki ketika nama subbagian bisa dikodekan dan sintaksis kode bisa dipecah menjadi hubungan induk-anak. Potongan (atau fragmen) geokode bisa berupa kode singkatan, bilangan, atau alfanumerik.

Contoh populernya adalah sistem geokode ISO 3166-2 yang mewakili nama negara dan nama pembagian administratif yang dipisah dengan tanda hubung. Contohnya, ID adalah Indonesia dan ID-BA adalah Bali. Lingkupnya hanya sampai daerah tingkat pertama.

 Sistem kisi beraturan 

Dengan mengambil inspirasi dari kisi alfanumerik, kisi global diskret (DGG) adalah mosaik beraturan yang menyelimuti permukaan Bumi (globe). Keberaturan mosaiknya didefinisikan dengan penggunaan sel berbentuk sama untuk keseluruhan kisi dengan luasan yang hampir sama pada wilayah tertentu atau negara.

Semua sel pada kisi memiliki identitas (ID sel DGG) dan titik tengah sel bisa dipakai sebagai rujukan saat mengubah geokode menjadi titik geografis. Saat kalimat ringkas yang bisa dibaca manusia dari ID sel distandarkan, ia menjadi geokode.

Geokode dari sistem geokode yang berbeda bisa mewakili letak yang sama pada globe dengan bentuk dan presisi yang sama, tetapi berbeda panjang kodenya, karakter yang dipakai, pemisah, atau lain-lain. Kisi nonglobal juga berbeda lingkupnya dan pada umumnya dioptimalkan geometrinya (menghindari tumpang tindih, celah, atau tidak seragam) untuk pemakaian setempat.

 Kisi hierarkis 
Tiap sel pada sebuah kisi bisa diubah menjadi kisi setempat baru dengan rekursi. Pada ilustrasi contoh, sel TQ 2980 adalah bagian dari sel TQ 29 yang merupakan bagian dari sel TQ. Sistem referensi kisi beraturan geografis adalah dasar dari sistem geokode hierarkis.

Dua geokode dalam sistem geokode hierarkis bisa menggunakan aturan awalan, yaitu geokode dengan awalan yang sama mewakili wilayah berbeda dengan letak kasar yang sama. Dengan ilustrasi yang tadi, TQ 28 dan TQ 61 mewakili bagian interior geografis yang sama, yaitu TQ sebagai awalannya.

 Sistem nama dan kisi 
Ada pula sistem campuran dengan pemisahan sintaksis. Misalnya, bagian pertama (awalan) adalah kode nama dan bagian lainnya (akhiran) kode kisi. Misalnya, pintu masuk lift Menara Eiffel di Paris berkode FR-4J.Q2 dengan FR adalah kode nama dan 4J.Q2 adalah kode kisi. Secara semantik, Prancis adalah konteksnya untuk mendapatkan kisi setempat.

Untuk menyingkat dengan semantik, dalam penerapan geokode yang mendetail, sistem campuran lebih cocok.

 Menyingkat kode kisi dengan konteks 
Sistem geokode yang menggunakan kisi beraturan pada umumnya lebih pendek daripada koordinat lintang-bujur. Namun, geokode dengan lebih dari 6 karakter sulit diingat. Di sisi lain, geokode yang berdasarkan nama (atau singkatannya) lebih mudah diingat.

Untuk mengatasinya, kode campuran bisa dipakai dengan mengurangi karakter kode kisi yang diperlukan dan menggantinya dengan kode nama sebagai konteks kisi setempat.

 Campuran standar  Kode kisi  Kode campuran Kisi OLC dengan nama resmi 6P58RRFG+RV RRFG+RV, Jakarta, Indonesia Kisi Geohash dengan singkatan ISO 3166-2 e6xkbgxed CV-PR, bgxed

Contoh pada kolom kode campuran lebih mudah diingat daripada kode kisi lengkap. Caranya beragam, misal geokode OLC bisa disingkat dengan membuang empat karakter pertama dan menambahkan konteks wilayah serta menggunakan konvensi penamaan Kode Plus.Kode Plus tidak disusun dengan algoritme sumber terbuka (berbeda dengan OLC). Lihat https://stackoverflow.com/q/58489357/287948  untuk pembahasan lebih lanjut.

 Lihat pula 
 Blok sensus
 Geolokasi
 Geotanda
 Temu balik informasi geografis
 ISO 6709
 P-code

 Referensi 

 Pranala luar