Kadang dalam mengelola data geospasial atau layer di ArcGIS ataupun di QGIS, pengguna ingin mendapatkan informasi koordinat dari layer tersrbut. Seperti misalnya kalau dari fitur poligon ingin mendapatkan informasi koordinat titik tengah (centroid) atau vertex nya, kalau fitur garis biasanya koordinat vertexnya, dan kalau fitur titik atau point tentu hanya koordinat titik tersebut.
Dalam contoh kasus yang nyata, misal proyek yang pernah Lintasbumi kerjakan yaitu areal Rehabilitasi Hutan dan Lahan (RHL) di mana dari area yang disurvey (poligon) harus keluar tuh titik patok (tentatif) beserta koordinatnya per 100 meter. Itu berarti bisa diartikan dari layer poligon RHL itu dicari vertexnya per 100 meter, setelah itu barulah dicari atau dihitung koordinat masing-masing titik vertex tersebut. Baik vertex dari fitur poligon ataupun garis sudah barang tentu dikonversi dulu menjadi layer tersendiri bertipe point dan kemudian barulah dihitung koordinatnya.
Dalam kaitan dengan hal itu, khusus pada QGIS sudah tersedia berbagai pilihan tools untuk generating atau mendapatkan informasi koordinat sebuah fitur yang langsung menjadi database pada tabel atributnya. Jenis koordinat yang keluar di atribut tersebut sudah barang tentu menyesuaikan dengan tipe CSR yang ditentukan di QGIS apakah itu Geografis (EPSG 4326) ataupun yang Projected seperti UTM dan sebagainya.
Dalam koordinat Geografis notasi atau penulisan koordinatnyapun ada beberapa pilihan, misalnya ada DD (Dejarat Desimal), ada DM (Derajat Menit), dan DMS (Derajat Menit Detik). Itu pun terbagi lagi di mana ada yang memakai notasi (dalam bahasa Inggris tentunya) yaitu North – South dan West – East (N/S – W/E) dan ada yang tidak yang biasannya ditulis dengan tanda prefix + / -, di mana prefix – biasanya untuk notasi koordinat bujur (longitude) di sebelah barat prime meridian (Greenwich), dan koordinat lintang (latitude) jika berada di sebelah selatan equator atau khatulistiwa.
Di postingan kali ini, kita akan mengenal apa-apa saja tools bawaan (bukan plugin ya!) di QGIS untuk mengekstraksi informasi koordinat dari sebuah fitur point. Selain tools bawaan, di bagian akhir juga akan dibahas ektraksi koordinat dari DD ke DMS yang kita custom labelnya menjadi bahasa Indonesia (BB/BT, LU/LS). Adapun data titik yang digunakan adalah hasil unduh di naturalearthdata.com yaitu Populated Places, di mana jenis koordinatnya adalah Geogarfis. Adapun software QGIS yang digunakan Lintasbumi adalah versi 3.24 Tisler.
1. Add geometry attributes
Bisa diakses dari Vector Geometry -> Add geometry attributes. Tool ini jika dieksekusi akan menambahkan kolom xcoord dan ycoord yang tentu berisi koordinat titik sesuai jenis koordinat bawaan layer atau koordinat project QGIS yang ditentukan. Hanya saja hasil koordinat tersebut berada pada sebuah file yang baru baik itu temporary ataupun kota definisikan secara tersendiri, jadi file shp aslinya tetap seperti semula.
2. Add X/Y fields to layer
Tool ini berada pada Vector Table -> Add X/Y fields to layer. Sama seperti Add geometry attributes, di tool ini kolom koordinat dibuat kedalam file baru baik temporary ataupun jika didefinisikan, sesuai jenis koordinat layer kecuali jika kita ubah sesuai koordinat Project QGIS (jika berbeda dengan layer input). Nama kolomnya simpel yaitu x dan y saja (kecuali kita tentukan prefixnya sebelum tool diRun.
3. Merubah koordinat DD ke DMS Format Bahasa Inggris
Dua tool di atas menghasilkan kolom baru di atribut yang intinya yaitu 2 kolom koordinat x dan y, dalam kasus jenis koordinat adalah Geografis, notasi koordinat secara default adalah DD atau Derajat Desimal. Masalahnya terkadang pengguna juga ingin memperolehnya dalam format DMS atau Derajat Menit Detik. Nah kalau ini yang diinginkan, masih ada proses lanjutan yang harus dilakukan, dan analisisnya menggunakan field calculator.
Jadi setelah melakukan salah satu dari analisis di atas atau telah mempunyai kolom koordinat x dan y (Geografis/DD), masih di atribut layer titik baru hidupkan toggle editing, buka tabel atribut dan klik New Field untuk membuat dua field baru tipe text / string selebar minimal 20, misal kita beri nama masing-masing dms_x dan dms_y.
Setelah itu kita klik Open field calculator di tabel atribut tersebut, seperti terlihat pada ilustrasi di bawah ini, di dalamnya tentukan atau centang Update existing field lalu di bawahnya tentukan nama kolom yang akan diupdate misal dms_x terlebih dulu (no 1) .
Lalu pada expression tuliskan to_dms(“nama kolom x”,’x’,3,’aligned’) yang bisa dilihat pada pilihan conversion. ‘x’ adalah jenis koordinat yang akan dihitung, jika y maka diganti ‘y’, 3 adalah banyaknya desimal pada tulisan detik (sesuaikan dengan kebutuhan), dan aligned = tulisan menit 2 dijit misal 09′, atau bisa diganti dengan suffix maka tulisan menitnya 1 dijit seperti 9′. Masing-masing parameter dipisahkan dengan koma. Jika tidak ditentukan baik aligned atau suffix (kosongkan atau NULL), maka tidak ada notasi S/N dan W/E di belakangnya.
Ulangi hal yang sama untuk kolom dms_y, dengan mengganti nama field dalam expression to_dms(…) menjadi “y”. Klik OK dan hasilnya seperti bisa dilihat pada ilustrasi berikut.
4. Merubah koordinat DD ke DMS Format Bahasa Indonesia
Adakalanya kita ingin notasi barat-timur dan utara-selatannya adalah dalam bahasa Indonesia yang biasanya BB/BT dan LU/LS. Nah langkahhya sama saja, setelah dibuat field dms_x dan dms_y, maka kita klik Open field calculator di tabel atribut tersebut, seperti terlihat pada ilustrasi di bawah ini, di dalamnya tentukan atau centang Update existing field lalu di bawahnya tentukan nama kolom yang akan diupdate misal dms_x terlebih dulu (no 1) .
Lalu di bagian expression sebelah kiri (no 2) masukan kode berikut ini. Maksud kode ini adalah merubah notasi koordinat DD yang ada di kolom x menjadi notasi DMS (bisa dilihat pada preview di bawah expression). tulisan x bisa diganti sesuaikan dengan nama field kita jika berbeda namanya (tanda petik tetap). Setelah itu klik OK, maka kini di kolom dms_x sudah tertulis koordinat dalam bentuk DMS bahasa Indonesia.
floor (abs("x")) || '° ' || floor(((abs("x")) - floor (abs("x"))) * 60) ||'\'' || substr( (tostring((((abs("x")) - floor (abs("x"))) * 60) - floor(((abs("x")) - floor (abs("x"))) * 60)) * 60),1,5) || '"' || (CASE WHEN "x" < 0 THEN ' BB' ELSE ' BT' END)
Ulangi langkah ini untuk update field DMS_y, namun kode expressionnya sudah disesuaikan seperti berikut, sama seperti di atas, tulisan y silahkan diganti dengan nama kolom yang sesuai, tanda petik tetap. Klik OK dan kolom dms_y pun kini sudah terisi dengan notasi DMS dalam bahasa Indonesia.
floor (abs("y")) || '° ' || floor(((abs("y")) - floor (abs("y"))) * 60) ||'\'' || substr( (tostring((((abs("y")) - floor (abs("y"))) * 60) - floor(((abs("y")) - floor (abs("y"))) * 60)) * 60),1,5) || '"' || (CASE WHEN "y" < 0 THEN ' LS' ELSE ' LU' END)
Klik OK, dan kini kedua kolom sudah terisi dengan koordinat DMS dalam notasi bahasa Indonesia. Banyaknya desimal dalam detik silahkan atur dengan mengganti angka …, 1, 5) dan lihat preview di bawah expression dan baru diklik OK.
Demikian cara merubah koordinat geografis format DD menjad DMS atau Derajat Menit Detik di QGIS, yang sekaligus masuk ke dalam atribut layer tanpa menggunakan Plugin. Cara ini berlaku di semua versi QGIS, karena ada beberapa plugin konversi atribut DD ke DMS yang bisa lebih cepat melakukan ini, namun sayangnya kadang tidak berjalan di semua versi QGIS. Satu-satunya kelemahan cara ini adalah harus membuat file baru.
Alternatif lainnya yaitu setelah mendapatkan kolom atribut koordinat x dan y dalam format DD rubah tabel menjadi csv, lalu file csv buka di Excel, dan lakukan perubahan DD ke DMS di Excel menggunakan Macro. Insya Allah pada postingan berikutnya akan dibahasa cara tersebut.
Leave a Reply