精華區beta Hiking 關於我們 聯絡資訊
自製的山頭繪製程式, 起因是看到amjads大用程式跑出來的漂亮大圖, 很 想也自己寫一個來用, 另一方面自己是認山頭白痴, 有這樣的程式以後爬 山拍照認山頭就容易多了XD 程式執行畫面: http://byte.ec.kuas.edu.tw/~ychsin/DEM/ScreenShot.PNG
I. 下載程式 請至以下網址下載程式: http://byte.ec.kuas.edu.tw/~ychsin/DEM/DEM_v0.01.rar 並解開至硬碟. II. 安裝方式 本程式不需要安裝, 直接執行DEM.exe即可. 如果只單純要開啟繪製好的 結果則可直接使用, 但是要繪製地形則會用到地形資料, 需參考III.另外 下載一些網路上的資料庫. III. 下載地形資料庫 繪製地形所需用到的共有三個資料庫, 分別為: 1. Aster GDEM地形資料庫 由於版權問題, 以及檔案過大, 所以無法附在程式裡, 需從: http://asterweb.jpl.nasa.gov/gdem.asp 下載DEM資料並放至DEM/目錄下. 要完整繪製台灣地區請至少下載以下區域: ASTGTM_N21E120_dem.tif ASTGTM_N21E121_dem.tif ASTGTM_N22E120_dem.tif ASTGTM_N22E121_dem.tif ASTGTM_N23E119_dem.tif ASTGTM_N23E120_dem.tif ASTGTM_N23E121_dem.tif ASTGTM_N24E119_dem.tif ASTGTM_N24E120_dem.tif ASTGTM_N24E121_dem.tif ASTGTM_N25E121_dem.tif ASTGTM_N25E123_dem.tif 2. 交通部運輸研究所的全臺(包含外島)河流圖層 同樣因為版權問題, 所以請至下列網址下載: http://www.iot.gov.tw/ct.asp?xItem=154948&ctNode=1091 請下載Twd97經緯度 MIF格式的 全臺(包含外島)河流圖層,並將TWN_RIVER.mid 及TWN_RIVER.mif放至Shape/目錄下. 3. 山頭/基石資料 這是由登山補給站7777大所整理的基石資料庫: http://www.keepon.com.tw/ActiveSite/Stone/Index.asp 這已經附在RAR裡不需另外下載了. 感謝7777大及網路上其他蒐集製作基石 資料庫的山友們. IV. 瀏覽介面 程式介面很簡單, 首先可以開啟Sample/目錄下的範例輸出結果, 開啟完 成後程式右方的表格會列出圖中可見的山頭列表, 按一下所選的山頭會 在圖中以紅色小圈圈標示出來. 另外上方有三個游標模式: 1. Cursor Mode 可用十字游標在圖上移動, 程式下方的Status Bar會顯示出游標所在的 座標, 海拔高度及離觀測點的距離. 2. Marker/Label Mode 程式會以紅色圓圈標定離游標最近的山頭, 並且游標指到山頭的話會顯 示出山名及高度. 按下紅色圓圈則會在上方加上山頭標示, 並可以拖曳 標示文字, 移動其擺放的位置. 3. Render Range Selection 可以方框圈選畫面上的範圍, 作為下次繪製的繪圖範圍及觀測點參數. V. 繪製地形 如果安裝完上述的資料庫後, 就可以設定好繪圖範圍及觀測點參數並按 下"繪製"按鈕進行繪製. 繪圖範圍設定是水平與垂直的視角範圍, 以及 輸出影像的大小; 觀測點可以設定畫面中央的方位角和仰角, 以及觀測 點的WGS84經緯度. 繪製完成後可以選擇Save Render Result將結果存 檔, 或是選擇Save As Bitmap File將結果輸出成BMP圖檔. VI. 其他 本程式非常吃記憶體, 如果要進行地型繪製請準備至少200MB的RAM空間, 輸出圖的尺寸越大RAM吃越兇. CPU資源方面, 以Sample/東勢.rv這張2048x 737的圖來說, 我的Thinkpad X200 Dual Core P8600 (2.4GHz)大約要花 掉24分鐘運算. 建議可以先用小尺寸(圖寬1024)確認出圖範圍無誤後再進 行大尺寸的繪圖. 因為一開始只是自己寫好玩的, 所以程式的容錯性很差, 尤其是在UI上. 為了減少記憶體用量及運算量, 整個演算法用了很多偷吃步, 因此繪製 結果的準確性絕對比不上專業GIS軟體, 但是用來認山頭應該是夠用了. 最後, 因為自己不是地理相關背景出身的, 整個演算法都是從網路上找 資料跟自己亂想的, 所以如果有所錯誤也請不吝指教~~ 另外, 由於程式的輸出是基於第三方的資料(Aster GDEM和交通部), 而 我並不清楚這樣使用在法律上的規範, 故為了避免困擾請勿做商業用途, 謝謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.114.18
amjads:推一下山頭標示的介面,我的程式吃ram 1.6gb,CPU:Sempron1.6 07/19 06:04
amjads:畫360度的跨海峽的圖平均大約在30分鐘左右,現在還在想用 07/19 06:07
amjads:OpenMP 會不會更快 07/19 06:07
ychsin:我覺得用這很適合平行處理,因為每一個pixel都是獨立的運算, 07/19 13:47
ychsin:透過適當的工作編排應該可以大幅提昇速度.應該找一台SMP的 07/19 13:50
ychsin:機器來玩玩看XD 07/19 13:50
ychsin:這陣子想到應該可以安排飛行軌跡來製作一段飛覽台灣的動畫 07/19 13:52
amjads:你的筆電不就是雙核? 光這個用執行緒就應該可以再減個 1/3 07/19 18:19
amjads:的時間 (推估) 07/19 18:22
dpFish:推~ 感謝分享!! 07/19 20:57
sigsig:看樣子明年要買i5外加8GB的配備了。 07/19 21:27
uice:推一個~ 07/19 23:42
ychsin:呵..沒在BCB上寫過MultiThread,研究中.原本打算直接改寫 07/20 00:11
ychsin:丟到UNIX Server上跑一連串的動畫XD 07/20 00:12
evanzxcv:推一個~ 我的程式是依照距離上色,但無法自動標示山頭 07/20 21:23
evanzxcv:而且沒有把河流的部份寫進去.. 07/20 21:23
ychsin:原來大家都在做一樣的事情XD 目前正將追跡演算法獨立寫成 07/21 00:44
ychsin:Render Engine,方便跨平台及進行跨分散式運算 07/21 00:45
evanzxcv:我是建議依照距離加上"霧氣"的效果或淡出,以免山脈太多排 07/21 01:35
evanzxcv:顏色都差不多,會擁擠在一起分不清楚. 07/21 01:35
evanzxcv:請問本程式與Win7相容嗎?我執行時產生錯誤視窗 07/21 01:40
evanzxcv:"Floating point division by zero" 07/21 01:40
evanzxcv:另外我無法讀取河流資料。 07/21 01:50