2011年7月9日 星期六

利用NOAA(美國國家海洋及大氣觀測局)的資料畫SST(海水表面溫度)圖/Peta suhu lapisan air laut teratas pakai GMT,data dari NOAA AMERIKA SYARIKAT



網路上有很多開放的性的資料庫,我們可以善加利用,如果要畫一張海水表面溫度圖,可以選擇美國國家海洋大氣觀測局的資料庫 http://ghrsst.nodc.noaa.gov/acessdata.html 的資料,但是在讓GMT畫圖的時候,我們必須對資料進行轉換.

Dalam internet, kita boleh dapat banyak data-data dari katalog atau FTP terbuka, Kita boleh guna katalog terbuka buat peta. Kalau nak buat sesuatu tajuk peta, seperti  suhu permukaan air laut dunia.
Di sini ialah satu contoh NOAA(National Oceanographic Data Center Amerika syarikat) katalog pautan http://ghrsst.nodc.noaa.gov/acessdata.html,Sebelum pakai data yang didapat dari katalog terbuka ini, kita harus buat konversi file format.

1.下載的介面


http://ghrsst.nodc.noaa.gov/acessdata.html > HTTP: http://data.nodc.noaa.gov/ghrsst/
>L4 > Glob > Navo > K10_SST > 可以選擇年度有資料天數的SST溫度資料,點選天數之後下載檔案格式為 ******SST.nc.bz2的資料

2.將資料下載完畢後解壓縮。然後開啟Global Mapper,選擇所解壓縮的.nc檔案
會出現一個視窗,選擇ANALYSED_SST


開啟之後選擇 >Tools > control centre 就會出現以下的畫面

點選圖層,滑鼠左鍵按兩下會出現 elevation options 的視窗 選擇 alter elevation values > Valid elvation range的Minimum data將無資料的點轉換成0。

最後則將.nc檔案轉成XYZ檔
流程為File> export Raster and elevation data > export XYZ grid > options > coordinate seperator > space, 就可以轉成XYZ檔了。

3.其餘的部份則是利用GMT來畫圖
GMT的程式碼如下

minmax analysised20110414.xyz %找出XYZ的最大和最小值%
gawk "{print $1, $2 , $3*0.1}" analysised20110414.xyz > sst01.xyz %Z溫度值為給予*0.1%
makecpt -Crainbow -T0/35/5 -V -Z > temp.cpt%製作調色盤%
xyz2grd sst01.xyz -Gsst.grd -I0.1 -R-180/180/-90/90 %將xyz值轉成grd檔案格式%
grdimage sst.grd -R-180/180/-80/80 -Ctemp.cpt -Jj150/0.025i -V -K > sst01.ps %將轉好的grd檔案讀入%
pscoast -R-180/180/-80/80 -Jj150/0.025i -B30 -G0 -O -V >> sst01.ps %畫海岸線,海岸以內-G填為黑色%
pause


沒有留言:

張貼留言