Sunday 18 December 2016

Membuat Peta Kerapatan Petir dan Mengoverlay Dengan Image

Kali ini saya akan berbagi cara membuat peta kerapatan petir dan mengoverlaynya dengan peta image. Data yang dibutuhkan adalah data petir dengan format KML. Sedangkan peta image diunduh melalui aplikasi Global Mapper.




Untuk mengunduh peta melalui Global Mapper, langkahnya adalah sebagai berikut :
- pilih Online Data Source kemudian pilih World Image dan klik Connect.
- setelah muncul peta online, zoom ke daerah yang diinginkan
- klik File, export Raster/Image format dan pilih format GeoTIFF
- pada GeoTIFF Export Options di File Type pilih 24 bit RGB dan tentukan sample spacing yang diinginkan. Semakin kecil sample spacing, peta akan semakin besar resolusinya namun ukurannya akan semakin besar.
- simpan dengan nama image.tif

Selanjutnya buatlah script berikut:

>> set input=Agustus
>> set F=petir.ps
>> set R=97.7/99.5/2.6/4.4
>> set output=%input%.grd
>> 
>> dir %input% /B > list
>> set start=1
>> set num2=1 
>> for /f "delims=*" %%a in ('gawk "NR==1 {print $1}" list') do set file=%%a
>> for /f "delims=*" %%a in ('gawk "END {print NR}" list') do set stop=%%a
>> 
>> #KONVERSI KML KE GMT
>> kml2gmt %input%/%file% -Z > data.dat
>> :loop
>> echo off
>> set /a start= %start% + %num2%
>> if %start% GTR %stop% goto close
>> goto open
>> :open
>> gawk "NR==%start% {print $1}" list > tmp
>> set /p file= < tmp
>> echo on
>> kml2gmt %input%/%file% -Z >> data.dat
>> echo off
>> goto loop
>> :close
>> echo on
>> 
>> #GRIDDING DATA KERAPATAN
>> blockmean data.dat -I5k -R%R% -Sn -C -fg | surface -R%R% -I5k -Grapat0.grd=sf -T0.25 -s -fg
>> grdmath rapat0.grd 25 DIV = rapat1.grd
>> grdsample rapat1.grd -I100e -Grapat2.grd -fg
>> grdinfo rapat2.grd -C > info
>> for /f "delims=*" %%a in ('gawk "{printf \"%%i\", $6}" info ') do set min=%%a
>> for /f "delims=*" %%a in ('gawk "{printf \"%%i\", $7+1}" info ') do set max=%%a
>> for /f "delims=*" %%a in ('gawk "BEGIN {printf \"%%i\", %max%/5}" ') do set interval=%%a
>> 
>> #PLOT PETA
>> grdimage image.tif -JM16 -R%R% -K -Y3 -D -Ba0.5g0.5:."Lightning Density Map-%input% 2016":WSne > %F%
>> grdclip rapat2.grd -R -Sb1/NaN -G%output%
>> grd2cpt %output% -Z -Crainbow -M > density.cpt
>> grdimage %output% -JM -R -Q -Cdensity.cpt -K -t30 -O >> %F%
>> pscoast -R -JM -O -K -Lf97.9/2.8/24/30+lkm+jb -T97.9/2.95/0.75i/2 -N1 --FONT_TITLE=10p --FONT_ANNOT_PRIMARY=10p --FONT_LABEL=10p >> %F%
>> psxy kabupaten.gmt -R -JM -O -K -W0.8,red,. >> %F%
>> psxy provinsi.gmt -R -JM -O -K -W0.5,yellow >> %F%
>> psxy kota.dat -R -JM -O -K -Sc0.2 -Gyellow >> %F%
>> echo 98.56 3.5 | psxy -R -JM -O -K -Skcrosshair/1 -Gred -W0.6 >> %F%
>> echo 98.56 3.5 TUNTUNGAN |pstext -R -JM -O -K -F12+fwhite -D0/-0.5 >> %F%
>> echo 99 4 SELAT MALAKA | pstext -R -JM -O -K -F17+a315+fwhite >> %F%
>> pstext kota.dat -R -JM -O -K -F12+fwhite -D0/0.5 >> %F%
>> psscale -D8/-0.5/16/0.4h -Cdensity.cpt -B%interval%:"Density [flash/km2]": -O -Y-0.4 >> %F%
>> psconvert -A -P -Tg %F% -F%input%
>> 
>> del rapat0.grd rapat1.grd rapat2.grd data.dat list tmp info gmt.history

Simpan dengan ekstensi .bat.
Kemudian buatlah folder dengan nama Agustus dan salin file KML ke dalam folder tersebut. Nama folder dapat disesuaikan, jika nama folder diubah, nama variabel input di script GMT juga harus diubah. Kemudian jalankan.

Beberapa hal yang perlu diperhatikan adalah sebagai berikut.
Pada bagian #Gridding Data Kerapatan, yang pertama dilakukan adalah BLOCKMEAN -I5k -Sn. Artinya adalah menghitung jumlah point/data (-Sn) pada jarak 5 km (-I5k). Kemudian perintah SURFACE -I5k untuk menginterpolasi dengan ukuran grid 5 km.
Bagian GRDMATH 25 DIV artinya data dibagi 25, sehingga kerapatannya menjadi 1 km persegi. Selanjutnya GRDSAMPLE -I100e artinya data disampling ulang sehingga resolusinya menjadi 100 meter. Ini digunakan untuk memperhalus tampilan peta.

Pada bagian #Plot Peta, GRDIMAGE image.tif -D artinya file image.tif dibaca dengan GDAL atau geospatial data abstraction library. Selanjutnya GRDCLIP -Sb1/NaN artinya data kerapatan petir di clip dengan batas nilai 1. Untuk nilai dibawah 1 diberi nilai NaN. Kemudian GRDIMAGE yang kedua ditambah -Q untuk membuat nilai NaN menjadi transparan.

Selamat mencoba, semoga bermanfaat.

0 komentar:

Post a Comment