Monday 12 December 2016

Membuat Windrose dengan psrose

Setelah sebelumnya saya berbagi cara membuat diagram sektor, kali ini saya kan berbagi cara membuat windrose. Windrose adalah diagram yang menggambarkan informasi mengenai kecepatan dan arah angin pada suatu lokasi tertentu. Digambarkan dalam format melingkar dengan skema frekuensi angin yang berhembus dari arah tertentu. Panjang setiap mahkota menunjukkan tingkat frekuensi berhembusnya angin dari arah tersebut, bernilai nol di pusat dan terus meningkat hingga tepi (kata Wikipedia).


 

Sebelumnya, buatlah data seperti berikut:
> Direction  0-5 mph  5-10 mph  10-15 mph  15-20 mph  >20 mph
0            0.88      2.22      2.20       1.51       0.91
22.5         0.82      1.65      1.16       0.57       0.14
45           0.77      1.57      0.87       0.19       0.02
67.5         0.81      1.70      0.69       0.08       0.01
90           0.98      1.98      0.62       0.07       0.01
112.5        0.95      2.56      0.93       0.16       0.02
135          1.19      2.75      1.70       0.51       0.07
157.5        1.11      2.61      2.16       0.85       0.23
180          1.20      2.43      1.94       0.82       0.36
202.5        1.41      2.37      1.22       0.36       0.13
225          1.99      2.84      0.83       0.19       0.05
247.5        2.66      5.04      1.19       0.10       0.02
270          2.67      5.98      2.09       0.18       0.02
292.5        1.51      3.18      1.45       0.34       0.11
315          1.21      3.11      1.53       0.68       0.53
337.5        0.87      2.42      2.31       1.40       1.17
Data diatas adalah data arah dan persentase untuk masing-masing kecepatan angin. Simpan dengan nama rose1.txt.
Selanjutnya buatlah script berikut:

>> set F=plot.ps
>>
>> # FILE WARNA
>> echo 0   lightblue   1   lightblue   ;+20 mph > color.cpt
>> echo 1   black       2   black       ;15-20 mph >> color.cpt
>> echo 2   darkgreen   3   darkgreen   ;10-15 mph >> color.cpt
>> echo 3   orange      4   orange      ;5-10 mph >> color.cpt
>> echo 4   blue        5   blue        ;0-5 mph >> color.cpt
>> echo 5   magenta     6   magenta     ;Total %% of Occurrence >> color.cpt
>>
>> # PLOT DIAGRAM
>> gawk "NR>1 {print $2+$3+$4+$5+$6+$2+$3+$4+$5+$6, $1}" rose1.txt | psrose -R0/30/0/360 -D -Glightblue -S4c -A22.5 -K -P -Y10 -X7 > %F%
>> gawk "NR>1 {print $2+$3+$4+$5+$6+$2+$3+$4+$5, $1}" rose1.txt | psrose -R -D -Gblack -S4c -A22.5 -K -O -P >> %F%
>> gawk "NR>1 {print $2+$3+$4+$5+$6+$2+$3+$4, $1}" rose1.txt | psrose -R -D -Gdarkgreen -S4c -A22.5 -K -O -P >> %F%
>> gawk "NR>1 {print $2+$3+$4+$5+$6+$2+$3, $1}" rose1.txt | psrose -R -D -Gorange -S4c -A22.5 -K -O -P >> %F%
>> gawk "NR>1 {print $2+$3+$4+$5+$6+$2, $1}" rose1.txt | psrose -R -D -Gblue -S4c -A22.5 -K -O -P >> %F%
>> gawk "NR>1 {print $2+$3+$4+$5+$6, $1}" rose1.txt | psrose -R -D -Gmagenta -S4c -A22.5 -K -O -P -B10g10/11.25g11.25:."Wind Rose for Stageof Tuntungan (TSI)":  --FONT_TITLE=14p >> %F%
>>
>> # PLOT SKALA
>> psscale -D1i/-2i/5.5c/1c -O -Ccolor.cpt -L1.3 -P >> %F%
>>
>> # SIMPAN GAMBAR
>> psconvert %F% -A -Tg -P

Simpan dengan ekstensi .bat. Lalu jalankan.

Pada bagian # File Warna, disitu saya membuat kelas warna diikuti dengan label yang akan ditampilkan pada skala warna.
Pada bagian # Plot Diagram, pertama saya membuat diagram untuk nilai yang akan ditampilkan pada tepi diagram. Sehingga caranya adalah dengan menggabungkan seluruh nilai persentase menjadi satu dan menambahkannya dengan nilai gabungannya kembali. 
Bagian -R0/30/0/360 artinya diagram akan ditampilkan pada batas radius 30 dan azimuth 360 derajat atau satu lingkaran penuh.
Bagian -B10g10/11.25g11.25 artinya interval pada radius adalah 10 dan interval grid pada azimuth sebesar 11.25 derajat.
Bagian -D artinya masing-masing sektor diagram akan diletakkan pada nilai tengahnya.
Bagian -S4c artinya skala radius diagram sebesar 4 cm.
Bagian -A22.5 artinya ukuran tiap sektor sebesar 22.5 derajat.
Selanjutnya diagram yang ditampilkan adalah urutan kedua dari tepi, sehingga nilainya sama seperti diagram pertama namun dikurangi nilai dari kolom terakhir. Demikian seterusnya hingga diagram paling dalam. Diagram paling dalam adalah nilai total dari persentase. Pada gawk, NR>1 artinya data dibaca mulai dari baris >1 atau 2 dan seterusnya. Ini karena data rose1.txt memiliki header sebanyak 1 baris.
Selanjutnya, masing-masing diagram diberi warna sesuai dengan skala warna dengan perintah -G.

Kemudian skala warna ditampilkan dengan perintah psscale. Bagian -L1.3 artinya tiap skala warna diberi jarak sebesar 1.3 dan label warna diambil dari file warna yang telah dibuat sebelumnya (color.cpt).
Terakhir adalah menyimpan diagram dengan format PNG menggunakan psconvert.

Selamat mencoba, semoga bermanfaat.

0 komentar:

Post a Comment