Plotting Centroid Moment Tensor

Data Global Centroid Moment Tensor bisa diunduh dari situs globalcmt.org untuk selanjutnya kita plot menggunakan Generic Mapping Tools. Screenshot hasil filtering data untuk Nusa Tenggara Timur (dengan pilihan format output sebagai input psmeca) bisa dilihat di bawah ini:

Hasil Pencarian Dari Global CMT Catalog
Hasil Pencarian Dari Global CMT Catalog

Setelah kita simpan data di atas pada file gcmt_ntt.gmt (atau nama pilihan Anda), maka selanjutnya perlu kita filter menggunakan perintah UNIX awk untuk mendapatkan data yang kita perlukan dan membuang data pada kolom lain yang tidak akan kita gunakan untuk pengeplotan ini.

$ awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}' gcmt_ntt.gmt > psm_ntt.gmt

Centroid Moment Tensor kita plot dengan perintah psmeca. Pastikan GMT Anda mempunyai perintah suplement ini. Distribusi GMT linux ubuntu versi 5.2.1 tidak menyertakan psmeca seperti ditulis pada forum ini.

Script untuk pengeplotan semua CMT  ada di bawah ini:

#!/usr/bin/bash

# Plot CMT
# GMT 5.2.1
# oleh: Hendro Nugroho

gmt set MAP_FRAME_TYPE plain

# Variabel
out='cmt_ntt.ps'
area='-R118.5/127.5/-11.5/-7.5'

# extraksi kolom yang kita perlukan
#awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}' gcmt_ntt.gmt > psm_ntt.gmt

# frame peta
gmt psbasemap $area -JM8.5i -Xc -Yc -Bxa2f1 -Bya1f1 -B+t"CMT Nusa Tenggara" -K > $out

# peta garis pantai
gmt pscoast -R -JM -Xc -Yc -B -Di -Ggray -O -K >> $out

# plot CMT
gmt psmeca psm_ntt.gmt -R -JM -Xc -Yc -Sm0.4 -h13 -O >> $out

Hasil pengeplotan CMT dengan zero trace (-Sm):

CMT Nusa Tenggara Timur
CMT Nusa Tenggara Timur (zero trace)

Dan hasil plot hanya bagian double couple dari moment tensor saja (-Sd):

cmt_ntt_sd
CMT Nusa Tenggara Timur (double couple)

Nah sekarang tugas Anda adalah membuat plot ini lebih informatif dan selektif.
Hal-hal yang bisa dikerjakan antara lain: 1) membedakan cmt untuk gempabumi, dangkal, sedang, dan dalam dengan menggunakan warna plot cmt yang berbeda, 2) melakukan pengeplotan menggunakan offset lokasi; gempa bumi diplot sebagai titik, lalu CMT tertentu diplot pada posisi off dengan referensi garis mengacu pada titik lokasi gempa.

Gempabumi dan Gunungapi

Earthquakes and Volcanoes
Earthquakes and Volcanoes

Data gempabumi dari NGDC akan kita plot dengan menggunakan aplikasi Generic Mapping Tools. Data format CSV dipilih empat kolom saja yaitu data longitude, latitude, depth dan magnitude. Penyaringan data bisa menggunakan grep, awk atau excel. Untuk keperluan ini data hasil penyaringan saya masukkan ke dalam file quakes_ntt.gmt.

Kedalaman gempa akan kita plot menggunakan 10 skala warna. Tabel warna master yang saya pilih adalah no_green.cpt. Tabel warna derivatif saya beri nama quake_depth.cpt.

Data gunungapi diunduh dari situs yang sama dan empat kolom saja yang saya ambil: longitude, latitude, heigth, dan nama gunungapi. Untuk keperluan ini hanya data longitude dan latitude saja yang akan digunakan dan data disimpan pada file volc-id.gmt.

Script lengkap bisa Anda cermati di bawah ini:

#!/usr/bin/bash
# Plot Basemap Dan Kontur Batimetri
# GMT 5.2.1
# oleh: Hendro Nugroho

gmt set MAP_FRAME_TYPE plain

# Data grid topografi: SRTM15 plus
out='q_map_ntt.ps'
area='-R118.5/127.5/-11.5/-7.5'

# cpt kedalaman gempa
gmt makecpt -Cno_green -I -T0/100/10 > quake_depth.cpt

# frame peta
gmt psbasemap $area -JM8.5i -Xc -Yc -Bxa2f1 -Bya1f1 -K > $out

# peta garis pantai
gmt pscoast -R -JM -Xc -Yc -B -Di -Ggray -O -K >> $out

# plot gunungapi dengan simbol segitiga berwarna merah
gmt psxy volc-id.gmt -R -JM -Xc -Yc -St0.4c -h2 -G255/0/0 -O -K >> $out

# plot quakes data
gmt psxy -R -JM -Xc -Yc quakes_ntt.gmt -Wfaint -i0,1,2,3s0.025 -h1 -Scc -Cquake_depth.cpt -O -K >> $out

# skala kedalaman
gmt psscale -D5/-1/10/0.5h -Xc -Cquake_depth.cpt -Bx10f10a20 -By+lKm -O  -K >> $out

# legenda
gmt pslegend -R -J -O -K -Dx4.2i/0.025i+w1.5i+o0.25i -F+glightgray+pthicker --FONT_ANNOT_PRIMARY=14p,Helvetica-Bold  $out
S 0.1i T 0.09i red - 0.3i Gunungapi
EOF

Untuk melihat distribusi kedalaman gempabumi yang lebih mudah, kita bisa membuat tabel warna sederhana berikut ini, (simpan dengan nama quakes.cpt):

# Tabel warna untuk kegempaan
# berdasarkan kedalaman (z)
#z0 warna z1 warna
0 red 70 red
70 green 300 green
300 blue 1000 blue

Script di atas perlu kita modifikasi sedikit. Pada baris 27, kita ganti file .cpt dengan file quakes.cpt yang baru saja kita buat di atas.
Barus 30 (plot skala kedalaman) tidak lagi kita perlukan. Dan pada legenda perlu kita tambahkan untuk tiga skala kedalaman gempabumi.

# legenda
gmt pslegend -R -J -O -K -Dx6.2i/0.01i+w1.85i+o0.25i -F+glightgray+pthicker --FONT_ANNOT_PRIMARY=12p,Helvetica-Bold  $out
S 0.1i T 0.09i red - 0.3i Gunungapi
S 0.1i c 0.07i red - 0.3i Eq 0 - <70 Km
S 0.1i c 0.07i green - 0.3i Eq 70 - <300 Km
S 0.1i c 0.07i blue - 0.3i Eq 300 - 1000 Km
EOF

Hasil peta baru bisa dilihat di bawah ini.

Earthquakes NTT

Bagaimana kalau Anda menambahkan data batas lempeng?

Menggambar Kontur Batimetri

Kontur Batimetri Hitam-Putih
Kontur Batimetri Hitam-Putih

File grid srtm_ntt.grd bisa kita interpolasi untuk menggambarkan kontur batimetri. SRTM 15 plus merupakan gabungan data batimetri dan topografi dari berbagai sumber akuisisi data, baik data dari satelit maupun data survei kelautan.

Generic Mapping Tools akan membantu kita melakukan plotting kontur batimetri  dari kedalaman -7500m sampai -500m dengan kontur interval 500m. Anotasi diberikan setiap 2000m. Daratan digambarkan memakai warna abu-abu.  Script singkat untuk melakukan plotting peta ada di bawah ini:

#!/usr/bin/bash

# Plot Basemap Dan Kontur Batimetri
# GMT 5.2.1
# oleh: Hendro Nugroho

gmt set MAP_FRAME_TYPE plain

# Data grid topografi: SRTM15 plus
ntt='srtm_ntt.grd'
out='kontur_batimetri_ntt.ps'
area='-R118.5/127.5/-11.5/-7.5'
k_int=500	# interval kontur
a_int=2000	# interval anotasi kontur
k_limit=-7500/-500

# frame peta
gmt psbasemap $area -JM8.5i -Xc -Bxa2f1 -Bya1f1 -K > $out

# peta garis pantai
gmt pscoast -R -JM -Xc -B -Di -Ggray -Wthinnest -O -K >> $out

# plot kontur batimetri
gmt grdcontour $ntt -R -JM -Xc -C$k_int -A$a_int -L$k_limit -O >> $out

Peta hasil pengeplotan bisa dilihat pada featured image di atas.

Dengan sedikit tambahan warna, hasil akhir peta akan lebih menarik. Level warna kontur bisa kita berikan dengan terlebih dahulu membuat tabel warna. Lalu kita plot file grid dengan perintah grdimage.

Mari kita sisipkan kode berikut ini di bawah deklarasi variabel terakhir.

cpt='kontur.cpt'
#membuat tabel warna level kontur
gmt makecpt -Chaxby -T-8000/0/1000 -Z > $cpt

# plot grd dengan tabel warna baru
# -Yc ditambahkan untuk memberi tempat skala warna
# yang akan diplot di bawah peta.
gmt grdimage $ntt -JM8.5i -Xc -Yc $area -C$cpt -K > $out

Perubahan kode script serta tambahan perintah untuk menggambar skala warna di bawah peta ada di bawah ini:

# ==> tambahan kode -Yc
# frame peta
gmt psbasemap $area -JM8.5i -Xc -Yc -Bxa2f1 -Bya1f1 -O -K >> $out

# peta garis pantai
gmt pscoast -R -JM -Xc -Yc -B -Di -Ggray -Wthinnest -O -K >> $out

# plot kontur batimetri
gmt grdcontour $ntt -R -JM -Xc -Yc -C$k_int -A$a_int -L$k_limit -O -K >> $out

# plot skala warna
gmt psscale -D5/-1/10/0.5h -Xc -C$cpt2 -Bf1000a2000 -O >> $out

Inilah hasil akhir peta dengan kontur batimetri berwarna:

peta_kontur_batimetri_berwarna

Plotting Basemap Dengan CPT Asimetri

Basemap Nusa Tenggara Timur
Basemap Nusa Tenggara Timur

Kita akan melihat kembali script GMT pada posting sebelumnya (plotting peta jaringan YS) dan akan menggunakan script tersebut untuk membuat basemap dengan color palette table asimetri. Warna batimetri akan kita ambil dari abyss.cpt sedangkan warna topografi akan kita ambilkan dari arctic.cpt dan memofidikasi file ini dengan menghilangkan warna-warna untuk kedalaman laut.

Sebelum membuat tabel warna (cpt) mari kita lihat informasi grid file yang akan kita pakai (srtm_ntt.grd) yang merupakan hasil pemotongan dari grid global srtm 15 plus. Untuk keperluan tersebut kita memanggil perintah gmt grdinfo

user@kkomputer ~/GMT_Project $ gmt grdinfo srtm_ntt.grd
srtm_ntt.grd: Title: Produced by grdcut
srtm_ntt.grd: Command: grdcut srtm15-plus/topo15.grd -R118.5/127.5/-11.5/-7.5 -Gsrtm_ntt.grd
srtm_ntt.grd: Remark: Derived from the full resolution shorelinen
srtm_ntt.grd: Gridline node registration used [Geographic grid]
srtm_ntt.grd: Grid file format: nf = GMT netCDF format (32-bit float), COARDS, CF-1.5
srtm_ntt.grd: x_min: 118.5 x_max: 127.5 x_inc: 0.00416666666667 name: longitude [degrees_east] nx: 2161
srtm_ntt.grd: y_min: -11.5 y_max: -7.5 y_inc: 0.00416666666667 name: latitude [degrees_north] ny: 961
srtm_ntt.grd: z_min: -7079.01904297 z_max: 2847 name: z
srtm_ntt.grd: scale_factor: 1 add_offset: 0
srtm_ntt.grd: format: netCDF-4 chunk_size: 136,138 shuffle: on deflation_level: 3

Sekarang kita tahu nilai z minimal pada file srtm_ntt.grd adalah -7079 meter dan nilai z maksimumnya adalah 2847 meter. Menggunakan keterangan ini kita bisa membuat color palette table asimetri yang kita inginkan secara terpisah dengan memberikan perintah berikut ini:

$ gmt makecpt -Cabyss -T-7500/0/250 -Z -N > mynew.cpt
$ gmt makecpt -Cmod_arctic.cpt -T0/3000/500 -Z >> mynew.cpt

Atau kita bisa memasukkannya menjadi bagian dari keseluruhan script plotting basemap berikut ini:

#!/usr/bin/bash

# Plot Basemap Menggunakan CPT asimetri
# GMT 5.2.1
# oleh: Hendro Nugroho

gmt set MAP_FRAME_TYPE plain

# Data grid topografi: SRTM15 plus
ntt='srtm_ntt.grd'
ntti='srtm_ntt_i.grd'
out='basemap_ntt.ps'
area='-R118.5/127.5/-11.5/-7.5'
# abyss.cpt dam modofikasi arctic.cpt [download dari cpt-city]
cpt='asimetri.cpt'

gmt makecpt -Cabyss -T-7500/0/250 -Z -N > $cpt
gmt makecpt -Cmod_arctic.cpt -T0/3000/500 -Z >> $cpt

# plot grd plus iluminasi
gmt grdimage $ntt -JM8.5i -Xc $area -I$ntti -C$cpt -K > $out

# frame peta
gmt psbasemap $area -JM8.5i -Xc -Bxa2f1 -Bya1f1 -O -K >> $out

## peta garis pantai
gmt pscoast -R -JM -Xc -B -Di -Wthinnest -O -K >> $out

Peta hasil plotting menggunakan GMT ini bisa kita lihat dengan gs

$ gs basemap_ntt.ps

Sekarang Anda bisa mencoba sendiri membuat peta di atas menggunakan tabel warna yang sama atau menggunakan warna kesukaan Anda.
Mungkin Anda akan memadukan abyss.cpt dengan dem2.cpt? Silakan mencoba!

Plotting Peta Jaringan YS

stasiun-YS

Jaringan YS adalah jaringan seismic recorder sementara dalam rangka penelitian di daerah Busur Banda. Data titik koordinat dan nama stasiun ini akan saya ambil untuk memaparkan pengeplotan titik, jaringan tringulasi, dan plot nama stasiun menggunakan aplikasi Generic Mapping Tools. Background topografi yang akan dipakai kali ini diambil dari SRTM 15 plus dari NOAA. Master color palette table yang akan saya pakai adalah gray.cpt.

Berikut ini adalah script untuk plotting peta jaringan YS tersebut:

#!/usr/bin/bash

# Plot stasiun seismometer network YS
# Sumber: http://www.fdsn.org/networks/detail/YS_2014/
# Ekstraksi informasi: lon, lat, nama_stasiun
# Data grid topografi: SRTM15 plus
# GMT 5.2.1
# oleh: Hendro Nugroho

data='/home/eagle1/Data/srtm15-plus/'
srtm15_ori='topo15.grd'
ntt='srtm_ntt.grd'
ntti='srtm_ntt_i.grd'
out='net_YS.ps'
area='-R118.5/127.5/-11.5/-7.5'
cpt='ntt_gray.cpt'

# potong srtm15+
gmt grdcut $data$srtm15_ori $area -G$ntt

# membuat cpt abu-abu
gmt grd2cpt $ntt -Cgray > $cpt

# Membuat gradient dari file grid NTT
gmt grdgradient $ntt -A345 -Ne0.6 -G$ntti

# plot grd plus iluminasi
gmt grdimage $ntt -JM8.5i -Xc $area -I$ntti -C$cpt -K > $out 

# buat jaringan triangulasi
# Sumber: http://ds.iris.edu/mda/YS?timewindow=2014-2017
# Ekstraksi informasi:
# Lon Lat elev station
# 124.411500  -8.219400 69  ALRB
# Nama file: stasiun_YS.gmt; hasil triangulasi: ys.net.gmt
gmt triangulate stasiun_YS.gmt -M > ys.net.gmt

# frame peta
gmt psbasemap $area -JM8.5i -Xc -Ba1f1 -K > $out

# siapkan clipper
gmt pscoast -R -JM -Xc -Di -Gc -O -K >> $out

# plot grd plus iluminasi
gmt grdimage $ntt -JM -Xc $area -I$ntti -C$cpt -O -K >> $out 

# undo clipping
gmt pscoast -R -JM -B -Xc -O -K -Q >> $out
#
# peta garis pantai
gmt pscoast -R -JM -Xc -B -Di -Wthinnest -O -K >> $out
# plot triangulasi
gmt psxy ys.net.gmt -R -JM -Xc -B -W -O -K >> $out
# plot stasiun
gmt psxy stasiun_YS.gmt -R -JM -Xc -Sc0.06i -Gred -O -K >> $out
gmt psxy stasiun_YS.gmt -R -JM -Xc -Sc0.04i -Gwhite -O -K >> $out
# plot nama stasiun dari file nama_stasiun.gmt
# Isi file adalah ekstraksi informasi yg terdiri dari
# Lon Lat Justify Station
# CB = Center Bottom
# 124.411500 -8.219400 CB ALRB
gmt pstext nama_stasiun.gmt -R -JM -F+f6p,Helvetica,red+j -D0/0.05i -N -Gwhite -Wthinnest -C0.02i -O >> $out

Silakan Anda coba!

Catatan Awal Python

Catatan ini didasarkan pada pengalaman selama beberapa kali mencoba bahasa pemrograman Python.

  1. Tipe data pada Python terjaga ketat. Misalnya saja, kita tidak bisa menambahkan string dan integer.
  2. Tanpa deklarasi jenis variable, Python secara dinamis dan implisit akan terjaga pada saat program dijalankan.
  3. Segala sesuatu dianggap obyek oleh Python.
  4. Python memperhatikan dan membedakan antara huruf besar dan huruf kecil / case sensitive => Variabel JumlahHari berbeda dengan Variabel JUMLAHHari.

Variable

Variable sebagai wadah data dinyatakan secara sederhana: nama_variable = nilai_variable. Yang perlu diperhatikan dari nama_variable adalah menghindari penggunaan kata-kata yang sudah dipakai oleh Python, misalnya and, as, assert, break, class, def, del, elif dan lain sebagainya seperti dituliskan pada referensi Python.

Untuk memudahkan pembacaan program dan debugging serta untuk memudahkan kita di kemudian hari apabila harus menengok ulang program yang kita tulis, maka sebaiknya variable diberi nama semestinya. Misalnya apabila kita ingin memberikan nilai 30 sebagai jumlah hari, maka deklarasi variable yang sesuai adalah JumlahHari = 30, dan bukan x = 30.

Tipe Data

Python mempunyai tipe data bawaan / built-in seperti halnya bilangan (integer, float, complex dan Booleans), string, list, tuple, dan dictionary. Tipe data ini bisa dimanipulasi menggunakan operator, fungsi, dan metode.

Bilangan integer atau bilangan bulat (terdiri dari bilangan cacah dan negatif) misalnya 1, 5, 976544, -567890, sedangkan bilangan float / pecahan selalu ditandai dengan titik, misalnya: 1.0, 5.890876, -999.99, -767.00025, 3.2. Booleans hanya mempunyai dua pilihan True atau False (bisa juga dengan 1 atau 0).

Operator

Sejak kecil kita telah diajar menggunakan operator dan telah sering kali menggunakannya dalam kehidupan sehari-hari. Operator ini digunakan untuk melakukan operasi bilangan berupa: penambahan (+), pengurangan (-), pembagian (/), perkalian (*), operasi modulus (%, //), perpangkatan (**).

Contoh operasi bilangan pada Python:

user@komputer ~/environments $ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>9 + 5
14
>>>9 - 5
4
>>>9 * 5
45
>>>9 ** 5
59049
>>>9 / 5   # Python 2.x
1
>>>9.0 / 5
1.8
>>>9 // 5
1
>>>9 % 5
4
>>>9 > 5
True
>>>9 >>9 == 5
False
>>>9 !=5
True
>>>9 >= 5
True

Silakan menelusuri tautan berikut untuk membaca penjelasan mengenai ambiguitas tanda / pada Python 2.x.

Inilah cara memperoleh hasil true division pada Python 2.x

>>>from __future__ import division
>>>9 / 5
1.8
>>> from operator import truediv
>>> c = truediv(9, 5)
>>> c
1.8

Fungsi

Python mempunyai beberapa fungsi built-in untuk memanipulasi integer. Disamping itu ada juga modul dari Pustaka Standard Python, misalnya math.

Contoh fungsi build-in antara lain: float(), int(), str(), abs() dan lain sebagainya.

Untuk menguji kebenaran bilangan, kita bisa memakai type built-in misalnya float.is_integer()

>>> float(9)
9.0
>>> float('9')
9.0
>>> int('9')
9
>>> int(9.0)
9
>>> (9.6).is_integer()
False
>>> (9.0).is_integer()
True

Saya cukupkan sekian untuk bagian ini. Selanjutnya akan saya bahas string, manipulasi string dan beberepa fungsi berkaitan dengan string.

Plotting Peta Rote menggunakan data SRTM 1 Arc-Second

Kali ini kita akan memakai Generic Mapping Tool (GMT) untuk membuat peta Pulau Rote menggunakan data SRTM 1 Arc-Second. Data ini bisa anda unduh dari server USGS, NASA, CGIAR atau pun server lain. Pilihlah data SRTM yang telah dibenahi (void-filled) dengan menggunakan DEM lain (misalnya dengan data ASTER). Format file yang akan anda unduh bisa berupa file HGT yang dikompres, atau berupa Geo-Tiff file. File tersebut selanjutnya perlu diubah menjadi format grid supaya bisa dibaca oleh GMT.

Pada contoh ini saya mengunduh file dari server USGS. Dua file Geo-tiff [S11E122_1arc_v3.tif dan S11E123_1arc_v3.tif] tersebut saya gabungkan dengan menggunakan QGIS Desktop (Seandainya anda mau semua dikerjakan menggunakan GMT pun tidak lah menjadi masalah). Begitupula pengambilan subset khusus untuk pulau rote [122.583/123.500/-11.000/-10.367].

S11E122-and-S11E123-srtm-1arc-second

Figure 1. Geo-tiff S11E122 dan S11E123

$ gmt grdconvert rote1v3.tif rote1v3.grd

Selanjutnya script sederhana ini akan menghasilkan peta Pulau Rote dari data SRTM tadi.

#!/usr/bin/bash
# Plot Peta Pulau Rote dari SRTM 1 Arc-Second
# GMT 5.2.1
# Oleh: Hendro Nugroho

# 1. Download srtm 1 arc-second Geo-Tiff atau hgt file [S11E122.hgt.zip dan S11E123.hgt.zip] dari server penyedia [USGS, CGIAR atau server lain]
# 2. Uncompressed dua file tersebut dan gabungkan --> bisa memakai QGIS atau GMT
# 3. Ambil subset khusus untuk wilayah Pulau Rote saja [122.583/123.500/-11.000/-10.367]
# 4. Konversi menjadi grid file. Pastikan file dalam format GMT grid

grd_rote="rote1v3.grd"
grd_rote_i="rote1v3_i.grd"
mycpt="rt_globe.cpt"
hasil="peta_rote.ps"

# Membuat color pallet sendiri dari grid file
# gmt grd2cpt $grd_rote -Celevation -L0/500 -S0/500/50 > rt_elev.cpt
# gmt grd2cpt $grd_rote -Celevation -G-0.001/8500 -L0/500 -S0/500/25 > rt_etopo.cpt
gmt grd2cpt $grd_rote -Celevation -G0/10000 -L0/500 -S0/500/25 > rt_globe.cpt

# Membuat gradient untuk iluminasi plot rote
gmt grdgradient $grd_rote -A45 -Nt1 -Grote_i.grd

# Siapkan pemotong
gmt pscoast -R$grd_rote -JM8.5i -Xc -Df -Gc -K > $hasil

# Plot topografi dan ilumninasinya
gmt grdimage $grd_rote -I$grd_rote_i -C$mycpt -R -JM -Xc -Q -O -K >> $hasil

# Lepaskan pemotong
gmt pscoast -R -JM -Xc -O -K -Q >> $hasil

# Menggambar garis pantai GSHHG full
gmt pscoast -R -JM -Xc -Df -Wthinnest -B0.25g0.25 -B+t"Peta Pulau Rote" -O -K >> $hasil

# Menggambar kerangka dan skala peta
gmt psbasemap -R -JM -Xc -B -LjBR+c20+w40+f+o0.15i/0.2i -O -K >> $hasil

# Skala ketingginan dari warna palet
gmt psscale -DjTL+o0.3i/0.1i+w4i/0.2i+h -R -J -C$mycpt -Bx50f25 -By+lm -I -O -K >> $hasil

# Simbol orientasi peta
echo 123.375 -10.875 | gmt psxy -R -J -O -K -Sc1.4i -Gwhite >> $hasil
gmt psbasemap -R -J -O -K --FONT_TITLE=12p --MAP_TICK_LENGTH_PRIMARY=0.05i -Tm123.375/-10.875+w1i+t45/10/5+jCM --FONT_ANNOT_SECONDARY=8p >> $hasil

Inilah hasilnya:

rote_map

Figure 2. Peta Pulau Rote

Inilah Cara Memakai Generic Mapping Tools Tanpa Instalasi

Untuk Anda yang ingin memakai Generic Mapping Tools(GMT) secepatnya tanpa instalasi, OSGeo Live menawarkan kepada anda opsi tersebut. Tidak hanya GMT saja yang bisa Anda coba, melainkan berbagai software geospasial yang dikemas di dalamnya.

Anda bisa mengunduh Live CD/DVD yang langsung bisa dijalankan dari CD/DVD drive computer Anda, atau Live VM yang bisa Anda panggil dari virtual machine yang telah Anda setup sebelumnya. Apabila Anda suka, nantinya bisa diinstall permanen pada workstation Anda.

Dengan catatan bahwa Anda sudah mempunyai VirtualBox terpasang pada komputer kerja Anda, cara lain untuk memakai GMT adalah dengan mengunduh versi VirtualBox SEATREE (Solid Earth Teaching and Research Environment), yang merupakan  perangkat lunak moduler untuk penelitian Solid Earth yang bisa digunakan di kelas dan cocok dipakai untuk kolaborasi penelitian ilmiah multi disiplin. GMT versi 4 terpasang pada vmdk ini (Cukup banyak perbedaan antara GMT versi 4 dan versi 5. GMT 5 tidak kompatibel dengan GMT versi sebelumnya seperti telah dibahas pada laman ini).

Kelebihan menggunakan versi VirtualBox SEATREE  adalah integrasi paket-paket yang ada di dalamnya siap dipakai untuk keperluan penelitian tanpa perlu banyak setup. Ini tentu saja membuat Anda lebih terfokus pada penelitian dan bukan pada otak-atik komputer.

Ada dua versi VirtualBox SEATREE. Pertama, disebut dengan UGESCE yang merupakan paket software dan beberapa dataset dengan OS Fedora Core 14. Ke-2, adalah paket yang dikemas oleh CIG dengan OS dasar Ubuntu 14.04. Versi ke-2 ini, GMT tidak terpasang.

Apabila Anda sudah memakai Linux, instalasi GMT sangat mudah dilakukan. Ketikkan atau copy-paste saja perintah berikut pada terminal untuk melakukan instalasi GMT:

Ubuntu/Debian based:

sudo apt-get install gmt gmt-dcw gmt-gshhg

RHEL, CentOS, Fedora:

sudo yum install GMT gshhg-gmt-nc4-all dcw-gmt

Contoh Pemakaian GMT

Mari kita buat contoh pemakaian sederhana dari aplikasi Generic Mapping Tools (GMT) yang telah kita bahas pada posting sebelumnya.

#!/usr/bin/bash
# Memakai GMT versi 5.2.1
# Plot Peta Indonesia dan Peta Pulau Rote
# Demonstrasi resolusi garis pantai GSHHG low [-Dl] vs. full [-Df]

hasil1="peta_indonesia.ps"
hasil2="peta_rote.ps"
area1="-R94/142/-15/10"
area2="-R122:35/123:30/-11:02/-10:22"
# proyeksi Mercator; plot sebesar 8.5 inch
proyeksi="-JM8.5i"

# Kerangka peta sederhana satu garis
gmt set MAP_FRAME_TYPE plain

# Peta Indonesia dan garis pantai [-Dl]= garis pantai GSHHS resolusi rendah
gmt pscoast $area1 -Xc -Yr1.75i $proyeksi -Dl -Ba5 -N1 -Wthinnest > $hasil1
# Plot inset box Pulau Rote dengan warna merah
cat  $hasil1
122.58 -11.03
123.50 -11.03
123.50 -10.36
122.58 -10.36
122.58 -11.03
EOF

# Peta Pulau Rote dan garis pantai [-Df]= garis pantai GSHHS resolusi penuh
gmt pscoast $area2 -Xc $proyeksi -Df -Ba0.25 -N1 -Wthinnest > $hasil2

Hasilnya bisa kita lihat pada dua plot peta di bawah:

map-of-indonesia

Fig 1. Peta Indonesia

peta_rote

Fig 2. Peta Rote

GMT dengan data garis pantai GSHHG bawaan mempunyai resolusi data cukup tinggi untuk menampilkan peta yang kita inginkan.

Mengenal Generic Mapping Tools

Generic Mapping Tools (GMT) adalah sekumpulan perintah untuk pemrosesan data dan visualisasinya. Dalam pekerjaan sehari-hari, kita sering memperoleh data mentah (raw data)  dan kita akan berusaha memproses data tersebut untuk menghasilkan ilustrasi. Di sinilah salah satu peran GMT.

GMT mempunyai banyak kelebihan yang patut kita pertimbangkan sebelum memakainya. Perangkat lunak aplikasi ini dibuat menggunakan bahasa pemrograman C dan merupakan perangkat lunak yang tidak bergantung pada platform (platform independent). Dengan kata lain, GMT berkomunikasi dengan komputer  sangat cepat dan bisa dipasang pada berbagai lingkungan sistem operasi baik Unix, Windows, maupun Mac.

Skenario platform GMT antara lain: UNIX, Linux, Windows dengan dual-boot Linux, SFU, Cygwin, perintah MS-DOS, Server pada Mac OS maupun pada Mac OS itu sendiri.

Di kalangan para ilmuwan, GMT cukup terkenal dan tak kurang dari 15 ribu ilmuwan memakainya di seluruh dunia. Karena dikemas sebagai perangkat lunak sumber terbuka (open source), GMT menawarkan daya tarik yang sangat kuat bagi kalangan peneliti dan pendidikan. GMT bisa diunduh dan dipakai secara bebas tanpa perlu membayar.

GMT mempunyai lebih dari 80 modul (sampai versi 5.3.3 ada 90 modul dan terus aktif dikembangkan). Modul tersebut untuk memberikan fokus dan membatasi tugas tertentu (jangan salah, tiap modul memiliki banyak pilihan yang menjadikannya cukup rumit). Apabila digabungkan, maka tugas-tugas rumit akan bisa dikerjakan. Modul-modul ini biasanya dipanggil melalui CLI (command line interface)  atau melalui script.

Meskipun GMT bisa memproses dan memanipulasi data serta menghasilkan plot postscript dari data Anda, perlu diingat, bahwa GMT bukanlah paket pemrosesan citra, atau pun paket GIS.

Lalu apa sajakah yang bisa dilakukan GMT? pemfilteran deret waktu (time-series) dan data 2D, melakukan trend fitting data, membuat grid dari data xyz, memotong, menempelkan, mencampur data grid, melakukan resample kumpulan data, melakukan operasi matematika, melakukan penutupan grid, memproyeksikan data, membuat trianggulasi optimal, melakukan ekstrasksi subset data, menghitung turunan direksional, mengeplot diagram x-y, garis, poligon, maupun simbol, mengeplot teks dan label, mengeplot peta dasar (basemap) beserta garis pantai, sungai dan batas-batasnya, mengeplot peta kontur, serta masih banyak hal lagi yang bisa dilakukan GMT!