田 靜
(1.正元地理信息有限責任公司 山東分公司,山東 濟南 250101)
一種在三維場景中的定位算法
田 靜1
(1.正元地理信息有限責任公司 山東分公司,山東 濟南 250101)

針對三維場景中興趣點定位問題,分析三維場景中旋轉時地面興趣點的偏移情況。根據三角形的相關定理,計算出偏移距離,得出一種用于三維場景中興趣點定位的技術。與二維和2.5維地圖中興趣點定位效果進行比較,證明本方法在三維場景中定位準確。
二維GIS;2.5維;三維GIS;興趣點;定位
傳統地圖中的興趣點定位方法主要集中在二維方面,對平面的顯示、查詢和分析已經較為成熟,但在空間信息的顯示和利用方面難以滿足需求[1]。雖然二維GIS、科學計算可視化、數據庫系統技術和影像處理技術已有較成熟的理論和較豐富的實踐,能為三維GIS的研究和開發提供許多理論和實踐方面的借鑒,但作為三維GIS系統本身,還存在很多沒有解決或解決不好的問題[2]。在三維地圖的查詢定位展示方面也只是在2.5維中展示,2.5維地圖彌補了二維GIS圖形表現的局限性,雖然直觀上是三維產品,但不具備三維產品的一些特定屬性[3]。
隨著數字城市建設的推進、開放式城市空間信息共享平臺的建設,三維GIS憑借其立體、直觀、逼真的視覺效果,越來越受到關注[4]。在三維場景中處理興趣點數據,不僅可以為用戶提供豐富的信息資源,而且增強了三維場景的真實感和表達力[5-6]。
本文在某市三維地圖中,研究了興趣點的定位問題,尤其對于三維場景中的定位效果進行了深入探討,設計了一種在三維場景中準確定位的算法。
本系統采用Skyline6.1為三維GIS平臺,Skyline系列軟件是基于GIS、RS、GPS和虛擬現實技術的三維可視化地理信息系統[7-8]。其軟件模塊包括3部分:Terra Builder、Terra Explorer和 Terra Gate。TerraBuilder將海量的遙感航測影像數據、高程和矢量數據融合成一個三維地理信息數據庫;Terra Explorer為開發人員提供二次開發包;TerraGate發布地形數據庫的服務器,用戶可以通過網絡訪問地形數據庫。
興趣點是地圖查詢中常用的搜索定位數據,本文興趣點數據結構詳見表1。合理有效地組織管理這些數據,不僅對地圖查詢、定位及可視化效果有很大的幫助,而且可以提高系統的效率。目前應用最廣泛的地圖查詢仍然是在二維地圖上進行查詢,隨著“數字城市”的建設,三維地圖逐漸進入人們的生活,并因為其直觀、逼真的可視化效果越來越受重視。
對于三維場景中的數據查詢采用類似二維的查詢方法,通過連接oracle數據庫,構造查詢語句,返回滿足查詢條件的結果。對每個查詢結果,通過唯一標識碼關聯其位置坐標,從而在三維場景中進行定位。
3.1 興趣點數據庫的組織

表1 興趣點數據表結構
其中ID是唯一標識字段;名稱是興趣點的具體名稱,它是查詢時需要進行匹配查詢的字段;地址名稱是該興趣點的詳細地址。一級分類是地理信息公共服務平臺中興趣點的一級分類,包括15大類;二級分類是在一級分類基礎上的細化;經度和緯度字段確定地名中心點的位置;描述信息是該興趣點的文字描述信息。
3.2 傳統視角定位方法
傳統的興趣點定位方法是針對平面地圖,僅通過經緯度坐標和視角高度即可定位,視角與興趣點垂直成90°,且興趣點在屏幕的中心位置。此種方法在二維地圖和2.5維地圖中取得了很好的效果。
1)傳統視角定位方法在二維地圖中的定位效果。二維地圖是根據地圖投影、地理坐標和比例尺,用各種點狀、線狀、面狀符號及文字注記和色彩等表示地形、地貌、地物地理現象及社會經濟現象,至今仍是人們認識空間信息的重要工具。但二維地圖只對處于三維空間中的各種地理對象進行向二維平面投影的簡單處理,導致第三維方向(垂直方向)上的幾何位置、空間拓撲信息和部分語義信息受損失,不能完整地反映客觀世界[9],如圖1a所示。
2)傳統視角定位方法在2.5維地圖中定位效果。2.5維地圖是以三維電子地圖數據庫為基礎,按照一定的比例對現實世界或其中一部分的一個或多個方面的三維、抽象描述。它比二維地圖更美觀、形象,但是只能從某個視角查看地圖,無法360°旋轉觀察,如圖1b所示。

圖1 傳統視角在二維和2.5維地圖中的效果
3)傳統視角定位方法在三維地圖中的定位效果。在三維地圖中,如果按照此方法定位則無法突顯三維顯示的優點,如圖2a所示。垂直俯視效果,只能確定其位置,無法看清興趣點。三維地圖中當視角和興趣點的角度介于0~90°之間時,可以看到地圖的三維立體效果,但是此時如果按照興趣點的經緯度坐標直接定位,則興趣點無法位于屏幕顯示區的中心位置,如圖2b所示,甚至興趣點無法顯示在屏幕顯示區。

圖2 未改進的三維地圖定位效果
3.3 改進后的定位方法
通過查詢到的興趣點信息,按照興趣點的唯一標識碼搜索到該部件的經緯度坐標,同時由于在三維地圖中可以360°旋轉地圖,因此在定位時需要考慮視角與興趣點的角度。
如圖3所示,假設A點為觀察點,線段BC為從A點垂直俯視地圖時所能觀察到的地面(正好鋪滿顯示屏),興趣點D位于視野范圍的中心位置(即顯示屏的中心)。
將三維地圖旋轉一個角度∠BCE,在觀察點A處所能觀察到的地面變為EC段(興趣點D移至F處),可見旋轉后視野范圍擴大了,但顯示屏大小不變,因此EC段地面是按比例壓縮至BC段顯示的,從而導致興趣點F的位置相應地偏移至D'處。此時興趣點不在屏幕的中心,如果旋轉角度更大,興趣點甚至無法顯示在屏幕中,因此需將地面平移DD'的距離使興趣點居中。

圖3 計算視角示意圖
已知觀察點A距地面高度AD,鋪滿顯示屏的地面BC,D為BC的中點,地面旋轉角度∠BCE,CF長度與CD長度相等。根據三角形的正切定理:

根據三角形角的外角等于不相鄰的2個內角和:

因為D'E平行于AC,有:

三角形正弦定理為:

根據已知條件和式(1)~(4),可以得出:

當在三維地圖中進行定位時,需將觀察點的維度坐標平移DD'的距離。按此方法的定位效果如圖4a所示,可以放大、旋轉查看該興趣點,如圖4b所示。
P208
B
1672-4623(2016)08-0067-02
10.3969/j.issn.1672-4623.2016.08.022
2014-09-22。