前言
今(99)年3月13日 ,首次參加山協OB鵝公髻山登山活動,於觀雲亭連續拍攝涵蓋方位角約240度的多張重疊照片,回到山下以AutoStitch軟體製作全景照片,再利用自行開發的”從照片認山頭”程式解算山頭位置並一一標示,
公開之後反應不惡。隨後高爺學長來電提供構想,何不試試模擬山頭展望圖呢?如果能在事前預先了解登頂後周遭山頭之相對關係,相信對山友們又多了一項樂趣。稍加思索,決定以鷹頭學長設計的觀景台程式試作觀雲亭的展望模擬圖。
製作原理簡介
首先,需有360度或涵蓋所有展望角度之全景照片,觀景台程式可以設定展望點位置,以水平方向對任意方位連續無縫觀察,但須轉換成照片方能進行後續應用。方法是利用抓取螢幕之功能,存成影像檔,就相當於現地拍攝照片一般,只要旋轉鏡頭位置,保持適當之重疊,即可以AutoStitch自由軟體自動接圖而成。
其次,以影像處理軟體(本文以PhotoImpact為例)開啟全景模擬照片,並於Google Earth(以下簡稱GE)載入全台三角點及台灣百岳之.kmz檔,再執行觀景台程式,然後放大縮小或上下左右平移以讀取山頭名稱,即可予以加註。
此外,如果於照片上方附加方位角尺規,更易於對照與檢查正確性,這只須事先製作尺規,再對準某一已知山頭方位角,經調整尺寸後對齊另一個已知方位角之山頭即可。
詳細步驟
1.調高螢幕解析度
例如1280*1024,以提高模擬圖之細緻度。
2.求定展望點之WGS84坐標
因GE係採用WGS84坐標系統,若只有TWD67坐標,則以Mapsource軟體、上網下載坐標轉換程式或利用GPS裝置內建功能轉換。
3.開啟觀景台程式
將展望點移至GE畫面中央,參考http://gemvg.com/archives/126之操作說明,進入其畫面,並取消左側位置項目之"中心校準點"勾選,若因GE的數值地形模型(DTM)誤差,致使山頭並非位於最高點,則增加視角海拔高度避開遮蔽,或改以GE的3D模型最高點為山頭,例如燦光寮山即有此情形。
4.調整地形品質至最高
於GE之工具/選項/3D檢視之頁籤下,調整地形品質至最高(即最右側),使山形更為逼真。以合歡山頂看中央尖山死亡稜線為例,使用預設值只看出較圓之形體,調至最高後即可顯示與實地所見接近之金字塔山形。
5.製作模擬照片
a.關閉三角點及台灣百岳圖層,自北方或有展望之起始方位,順時鐘方向移動畫面,並需有適量之重疊。
b.以鍵盤右上方Prt Scr鍵抓取螢幕。
c.以PhotoImpact開新檔案,影像大小設定同螢幕解析度,貼上後存成jpg檔,先以標準選取工具框選不含側欄與外圍註記之畫面中段 (建議避開兩側1公分之範圍),再執行剪裁指令,以降低接圖失敗率。
d.重複a至c步驟至完成360度或所有展望之角度。
6.以AuotoStitch軟體拼成全景照片
a.調整Edit/Options下Output Size之Height(pixels)與步驟5c 之jpg檔高度相當。
b.須注意所有影像檔名皆為全英數字元,所屬目錄亦同。
此為軟體之限制,否則將無動作。
c.執行File/Open選取所有影像檔,自動進行接圖。
7.編修影像
a.於PhotoImpact載入全景照片並存成.ufo檔。
b.以魔術棒工具刪除黑邊。
c.以剪裁指令去除外圍不整齊部分,成為長方形影像。
8.加註山名
a.開啟三角點及台灣百岳圖層,以觀景台程式之放大縮小及上下左右平移功能查詢山頭名稱,再以PhotoImpact之文字工具加註。
b.可利用Mapsource TOPO Taiwan地圖將無三角點之山頭列入。
9.加註方位角尺規
a.以調整/擴大底框,將上、左、右各擴大1000pixels。
b.以物件/插入影像物件/從檔案,於照片上方插入方位角尺規az.png檔。
c.移動尺規,將方位角標記對準左側已知方位角之山頭。
d.以編輯/旋轉與翻轉/使用變形工具,對尺規右側伸縮長度,使其方位角標記對準右側已知方位角之山頭。
e.因物件會整體伸縮,前2步驟須重覆使用,直到兩已知山頭均對準方位角標記為止。
f.如尺規過大,致兩側超出範圍無法伸縮,則先將az.png另存新檔,適當剪裁後再進行步驟b、c、d。
10.利用方位角尺規檢查各山頭位置
a.將展望點TWD67坐標輸入"計算各山頭方位角.xls"檔,將自動計算各山頭方位角。考量接圖難免造成伸縮,及指北針定向之偏差,3~5度的方位角誤差約為可接受值。
b.以PhotoImpact調整山頭名稱至正確位置。
註:步驟9亦可與步驟8對調,在進行步驟8時,利用步驟10a 確定後再加註山名。
範例
觀雲亭與燦光寮山之展望模擬圖、現場實拍之全景照片及其他輔助檔案置於下列網址:http://docs.google.com/leaf?id=0B-dkUcqTN_TENTBhOWQ1NWUtOGUyMC00ODFhLTlkZmYtMzYwZGUxY2VkNjEy&hl=en。
失真原因分析
使用GE模擬展望圖,畢竟與現場真實照片有所差異,主要因素有四:
1. DTM品質
GE使用的DTM,是由美國太空梭SRTM任務,製作全球陸地面積80%的表面高度資料(如有植被,則測到樹頂),NASA提供網路下載,網格間距90公尺,美國本土30公尺
http://www.gearthblog.com/blog/archives/2007/11/new_terrain_mode_for_google_maps.html,也就是每90公尺才有一個標高值,且平面與標高誤差各約數十公尺。以有限的規則網格點模擬連續的地球表面,不可能所有地形特徵點均落在格點上,所以山形難免失真,從鷹頭學長製作的燦光寮山360度環景kmz檔http://gemvg.com/ge/panorama/tsanguanliaoshanPano.kmz 即可比較二者之差異,其中GE的燦光寮3D最高點與三角點應有之位置亦有約60公尺的差距,除非使用更精密之DTM(如ASTER衛星的30公尺間距、林務局農林航空測量所的40公尺間距、內政部近幾年製作的5公尺間距)才能改善,但僅ASTER資料提供網路下載,其餘卻是管制使用,或被列為國家機密不得外流。
其實,若能收集全台影像資料及更精密的DTM,利用GIS軟體功能,以高效能電腦單機處理,就能模擬出最好之效果。但收集資料的難度極高,只能期待GE採用更精密的DTM,不過ASTER資料的間距雖然較SRTM密,但精度卻較差,詳見「ASTER與SRTM產製DTM資料融合之研究」論文,因此GE只會於部分地區使用它(參考http://www.gearthblog.com/blog/archives/2009/07/nasajapan_release_terrain_data_-_go.html)。
此外,DTM資料亦缺少人工構造物等資訊(如五分山的氣象雷達),而這卻是辨識特定山頭所必需。
2. 衛星(或航照)影像品質
在燦光寮山範例中,GE的影像有雲層覆蓋而出現許多白斑,致使模擬效果不佳,其次,山區影像解析度與更新頻率均較市區低,大概是較少人使用,Google不太可能投資於此的緣故。
3. 網路環境限制
由於地形模擬運算量極為龐大,如果不分遠近一視同仁,既對server負載過重,大量的時間延遲也讓user無法忍受,又對模擬的逼真性助益不大,因此GE會對遠處地形加以簡化,而當鏡頭拉近時才顯示細節,以適應網路使用環境,造成山形失真就無法避免。
4. 接圖誤差
由於GE無法於螢幕中一次呈現360度環景影像,因此必須每隔若干角度擷取部分重疊影像,再以軟體接合,因為重疊區之大小及色調差異,接圖必然會扭曲變形與調色,因此模擬山頭與實際方位有些誤差,故方位角尺規僅能提供參考,但指北針亦有定向誤差,搭配使用影響不大。
以上都是無法解決的問題,造成模擬的結果會與現場拍的照片差距不小。此外,如果模擬對象植被茂密(如劍山),就只能想像是站在樹上的結果。
結語
感謝高爺學長提供創新構想,更感謝鷹頭學長在GE上撰寫觀景台程式並且無私分享,讓學弟有機會貢獻所學,雖然模擬的效果不盡理想,但有比沒有好,動機主要是為了事前的資料準備,從傳統top view的2D地形圖進一步到3D的視覺模擬,還能印出來帶至現場比對,並有利於後續現場實拍全景照片之山頭辨識。然而製作相當耗時,深感一己之力有限,眾人力量無窮,希望藉由本文拋磚引玉,讓有志者共襄盛舉(提議以台灣百岳展望模擬圖為目標),如果各位OB另有更好的方法與建議,歡迎多多指教。
陳建志 99.4.21初稿 99.4.28修正
留言列表