Tuesday, December 1, 2009

地圖製作DIY


花了不少時間製作底圖, 誤打誤撞(試過不同網站資源, 不同解讀方法)後終於成功. 不想浪費心血, 現將簡單步驟列出來:


1) 到 https://wist.echo.nasa.gov/~wist/api/imswelcome/, 進入 WIST.

2) 點選 Land: 下面的 MODIS/Terra. 網頁較上面會出現一列相關的產品. 請找出並點選 "MODIS/Terra Land Water Mask Derived from MODIS and SRTM L3...."

3) 網頁內有一地球, 右面有四組 lat/lon 要輸入. 左上角可填 23.3N, 113.2E, 右上 23.3, 115.2,
左下 21.3 113.2, 右下 21.3 115.2. 輸入完後按下面的 Update Lat/Lon... 按鈕. 接著按網頁近底部的 Start Search 按鈕.

4) 稍等片刻後, 應會找到一個合適檔案 MOD44W.A2000055.h28v06.005.2009212174635.hdf.
按 Data* 下載.

5) 到 https://lpdaac.usgs.gov/lpdaac/tools/modis_reprojection_tool , 注冊後下載 MRT 軟件. 剛才下了 windows 版但好像運作有問題, 再試 linux 版成功.

6) 安裝 MRT 成功後, 運行 ModisTool. 打開剛才的 *.hdf 文件. 界面左邊接近中間會發現兩個變數, water_mask_QA 是不需要的, 可以搬回 "Available Bands". 左下角要輸入所需地圖的左上角和右下角經緯度.

7) 界面右邊選擇輸出檔名, 如 out.hdf. File Type 選 HDFEOS. Resampling 可選 Nearest Neighborhood, Projection 我選了 Mercator, 但另外要按 "Edit Projection Parameter" 按鈕, 在 Datum: 列表中選第一項(我也不知道哪些是甚麼).

8) 接著按界面右下角的 Run. 如沒出錯應會產生 out.hdf 檔.

9) 用 ncl (script 不用十行, 不要給嚇怕)軟件讀取 out.hdf 並將數據寫成 binary, 並記低數據的 dimension.

10) 最後可以用 c 程序讀取 binary(數據為 char type, 0 為陸地, 1 為海), 並以 gd library 劃圖.

No comments: