Mengganti Label Grid Sesuai Keinginan (Custom Grid Label) Di QGIS

Ada kalanya kita ingin merubah label grid / graticule bawaan software sesuai keinginan, karena biasanya tidak sesuai dengan bahasa lokal. Misalnya S / N menjadi LS / LU. Bagaimana cara melakukannya di QGIS? Simak paragraf selanjutnya.

Salah satu hal penting dalam membuat layout peta di software SIG adalah menampilkan graticule dan grid. Sebagai sebuah informasi bereferensi geografis alias berkoordinat, tentu saja menampilkan koordinat peta akan menjadikan tampilan informasi dalam sebuah peta menjadi lebih informatif bagi pembacanya. Menampilkan garis grid  / graticule juga membuat tampilan peta lebih ‘hidup’, lebih berseni, dan lebih sesuai dengan kaidah kartografi. Graticule adalah garis koordinat geografis yaitu lintang dan bujur, sedangkan grid adalah garis koordinat selain geografis.

Standar label grid Geografis di QGIS

Semua software SIG umumnya sudah dilengkapi dengan tools atau menu untuk menampilkan garis grid / graticule, lengkap dengan pengaturan jenis koordinat yang ingin ditampilkan, interval, label, dan sebagainya. Namun karena semua software tersebut dibuat dengan bahasa luar (Inggris), jadi secara default label grid / graticule nya mengikuti kaidah penulisan koordinat dalam bahasa Inggris juga (standar penulisan koordinat Internasional). Misalnya untuk penulisan koordinat geografis sesuai ISO 6709 aturan Internasionalnya antara lain;

  • Latitude (lintang) ditulis sebelum Longitude (bujur)
  • Penulisan latitude, longitude, dan altitude (ketinggian) ditulis terpisah (memakai spasi)
  • Penulisan koordinat ditulis dengan simbol untuk masing-masing nilai tanpa spasi.
  • Lintang Utara dan Selatan ditulis langsung setelah koordinat dengan N atau S
  • Bujur Barat dan Timur ditulis langsung setelah koordinat dengan W atau E
  • Dst.

Contoh penulisan standar koordinat Geografis adalah 06°05’40.7″S 106°15’40.7″E 100m

Sementara dalam keperluan yang lebih lokal seperti kita di Indonesia, dalam hal penulisan koordinat kita pun sudah mempunyai standar penulisan dalam bahasa Indonesia. Lintang Utara dan Selatan ditulis LU atau LS, sementara bujur Barat dan Timur ditulis BB atau BT.



Lain halnya dengan koordinat UTM, aturan penulisan standar nya belum dibuat ISO internasionalnya. Namun merujuk kepada kebanyakan referensi, secara umum penulisannya merujuk pada kaidah Z – E – N (Zone – Easting – Northing), di mana zone ditulis lengkap untuk horizontal dan vertikal, lalu nilai koordinat E dan N nya ditulis lengkap diikuti satuan m (meter) yaitu mE, lalu mS atau mN. Sehingga kalau dibahasa Indonesia kan maka formatnya menjadi mT, mS atau mU. Contohnya 48M 700617.98mE 9268568.39mS.

Baca Juga : Sekilas Tentang Koordinat UTM dan Perhitungannya

Standar label grid UTM di QGIS

 

Meng-custom Label Grid di QGIS

Gambar ilustrasi di atas menunjukan bagaimana label koordinat Geografis dan UTM ditampilkan pada layout peta QGIS secara default. Di dalam Item Properties dari layout nya QGIS, sebetunya sudah tersedia berbagai pilihan penulisan label koordinat khususnya Geografis dari mulai DD, DM, atau DMS. Namun sayang semua suffiks atau akhiran satuan koordinatnya adalah berbahasa Inggris. Lantas apakah kita misa merubahnya ke bahasa Indonesia? tentu saja bisa, bagaimana caranya?

Menu custom label koordinat di QGIS

Pada item properties layout, anda tinggal cari Grid – Add new grid, kemudian cari Draw Coordinates seperti tampak pada gambar di atas. Apa yang tampil di situ akan bergantung pada pilihan koordinat yang telah anda tentukan terlebih dulu di atasnya. Pilihan Custom tersebut lalu akan memunculkan tombol Epsilon di sebelah kanannya. Tombol ε tersebut kemudian akan memunculkan jendela Expression Based Annotation.



Jadi pada intinya merubah label grid di QGIS bisa dilakukan pada jendela Expression Based Annotation ini menggunakan kode python. Anda tidak perlu menguasai bahasa python, cukup meng copy – paste kode yang Lintasbumi berikan, lalu jika perlu sedikit memodifikasinya sesuai keinginan anda, ikuti petunjuk Lintasbumi. Kode-kode ini adalah hasil modifikasi yang dilakukan Lintasbumi yang sumber aslinya ditulis di referensi.

Jendela Expression Based Annotation QGIS
Label Koordinat Geografis

Silahkan copy – paste kode python berikut di jendela Expression Based Annotation khususnya di tab Function Editor. Tujuan kode ini adalah merubah label E / W serta N / S menjadi BB / BT dan LU / LS. Satuan yang digunakan adalah DMS. Jika anda ingin merubah jumlah desimal silahkan modifikasi baris ke 27 di mana %.1f dirubah misalnya menjadi %.2f (2 angka di belakang koma). Harap diingat bahwa koma di sini bisa juga titik (otomatis mengikuti sistem di komputer). Jika ingin tanpa desimal, silahkan gunakan baris ke 30 dengan menghilangkan komen nya (tanda #), sebaliknya yang baris ke 27 tadi awalnya diberi komen. Anda bisa mencoba semua output yang tertulis di kode-kode berikut (baris 24, 27, atau 30), mana yang paling pas dengan selera anda silahkan ditentukan sendiri. 

"""
Define new functions using @qgsfunction. feature and parent must always be the
last args. Use args=-1 to pass a list of values as arguments
"""

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom')
def dd_to_dms_FR(grid_number,grid_axis, feature, parent):
    degree_sign= u'\N{DEGREE SIGN}'
    is_positive = grid_number >= 0

    if grid_axis == 'x' :
      letter = 'BT' if is_positive else 'BB'
    else :
      letter = 'LU' if is_positive else 'LS'

    dd = abs(grid_number)
    minutes,seconds = divmod(dd*3600,60)
    degrees,minutes = divmod(minutes,60)
    #Uncomment below to get negative values
    #degrees = degrees if is_positive else -degrees
    #output =  "%s %s %s' %s'' %s"  %(int(degrees),degree_sign ,int(minutes),int(seconds),letter)
    
    #output with decimal places of second, use the following line
    output =  "%s %s %s' %.1f'' %s"  %(int(degrees),degree_sign ,int(minutes),float(seconds),letter)
    
    #To pad with zero the minutes/seconds (ex: 45° 01' 02"), use the following line
    #output =  "%s %s %02d' %02d'' %s"  %(int(degrees),degree_sign ,int(minutes),int(seconds),letter)
    return output

Setelah itu klik Save and Load Function, lalu kembali ke tab Expression dan di bawahnya tuliskan dd_to_dms_FR( @grid_number,@grid_axis ), setelah itu klik OK. Jika ingin tanpa spasi antara derajat, menit, dan detiknya maka hilangkan spasi notasi misalnya menjadi “%s%s%s’%.1f”%s”. Untuk interval koordinat anda bisa atur dari Appearance – Interval. Berikut ini adalah hasil dari modifikasi label grid Geografis berdasarkan kode di atas.

Label grid geografis hasil modifikasi
Label Koordinat UTM

Untuk label koordinat UTM simpel saja, pertama pada Appearance tentukan zona UTM dari peta yang sedang di layout, dan interval grid x dan y nya dalam meter. Lalu ke bawah pada draw coordinate pilih custom dan masukan di jendela Expression Based Annotation pada tab expression code python berikut. Jika wilayah yang dipetakan ada di selatan khatulistiwa maka ganti mN dengan mS. Klik OK.

@grid_number ||if(@grid_axis='x',' mE',' mN')

Harus diingat bahwa koordinat UTM strict atau kaku yaitu hanya mengikuti zone yang ditentukan, jadi misalnya ada wilayah pada peta yang terbagi ke dalam dua zone UTM baik horisontal dan atau vertikal, maka nilai koordinat UTM untuk wilayah di luar zone tersebut akan meneruskan sesuai zona dimaksud, artinya bisa salah. Tapi memang demikian, baik di QGIS maupun di ArcGIS. Berikut ini adalah hasil custom label koordinat UTM.

Hasil perubahan label grid UTM

Di sebelah kiri adalah format label bawaan decimal with suffix terlihat bahwa walaupun sudah ditentukan bahwa Cirebon adalah UTM zone 49S namun label y nya masih menunjukan N, barulah dibetulkan dengan custom label di gambar sebelah kanan dan y nya menjadi mS.

 

Referensi



Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *