需求
在開始進行地形模型資料庫的創建工作之前,應該首先確定仿真目標、場景需求、實時系統軟硬體的能力等多個方面的內容,具體說明如下。
(1)要確定仿真套用的目標和目的,從而決定能夠支持該仿真套用的包括模型資料庫的複雜度、精細度等在內的各種虛擬場景的需求。比如,仿真套用是屬於高空飛行,還是低空飛行?是基於地面的駕駛仿真,還是高空和地面相結合的巡航式漫遊?對於模擬一架在40 000 m高空飛行的飛機而言,由於飛機具有較大的視角範圍,所以地形精度不需要很高。為了滿足這種高空仿真套用,地形模型資料庫至少需要兩個或者更多的細節層次。而在模擬地面上交通工具的行駛狀態的仿真套用中,可能就只需要一個細節層次就可以滿足要求。
(2)要確定實時系統的硬體平台能夠支持的多邊形、紋理和光源數量等性就措杯,以及軟體支撐環境的特點及其對模型資料庫的要求。比如,實時系統進行套用(APP)、剔除(CULL)、繪帶(DRAW)、碰撞檢測等處理是否能滿足仿真套用的實際需要,即實時系統是否能夠以一定幀頻率來渲染顯示地形模型資料庫;如果不能滿足要求,就必須對地形數據進行適當的簡化。
(3)要確定能夠滿足實際需要的多邊形預算,因為這直接影響著最終的仿真運行效果。所謂的多邊形預算(polygon budget),是指實時系統每次在一幀畫面中所能繪製的多邊形數量,顯然,多邊形預算與設定的幀頻率是相關的。
影響多邊形預算的主要因素,是實時系統硬體條件的限制和模型資料庫的複雜程度。由於實時系統硬體能夠處理的多邊形數量往往是固定的,所以主要還是取決於模型資料庫的複雜程度。注意,多邊形預算是針對整個模型資料庫而言的,不僅要考慮地形模型本身,還要考慮地物模型和其他特徵數據所需的多邊形。但通常被繪製到螢幕終端的總是整個模型資料庫的一部分數據,所以應該根據實際套用靈活準確地估計多邊形預算。
最簡單的估計多邊形預算方法是,用實時系統硬體每秒可處理的多邊形數目除以目標幀頻率(每秒鐘顯示的幀數,通常從15幀到60幀不等)。但要注意,因為實時系統的圖形硬體規格說明中聲稱的多邊形處理能力往往是在理想情況下測定的,所以在使用這些數據的時候應該取一個較保守的數值進行估算,這樣才能得到合情合理的多邊形預算結果。為了獲得更準確的多邊形預算,還應該考慮像素填充率、深度複雜度、特徵數據的類型以及模型資料庫中的運動模型等多種因素的影響。無論使用什麼方式估算多邊形預算,一個普遍的套用規則是:將多邊形預算的1/3用於地形模型、1/3用於地物模型,另外1/3則分配給場景中的運動模型(如車、飛機等)。
數據排列順序
要使上萬個地形點在相應的大地格網(管理格網)中入座,必須先進行排序。據不完全的統計,排序有上百種,如:插入法、比較法、冒泡法、分塊法、B+法、跳躍二分法等。其區別在於,每種方法對“數據占有的臨時存放空間”與“計算時間”這一對矛盾的處理、“調解”的不同。最佳的方法,當然是既省時又省空間,但這很不容易。實踐證明“雙比排序法”是簡單可行的。
舉例
(1)全國1:100萬地形資料庫
全國1:100萬地形資料庫的主要內容包括:測量控制點、水系、居民地、交通、境界、地形、植被等。
該資料庫利用1:100萬比例尺地形圖分版二底圖(印刷用等高線版)作為數據源,執行《國土基礎信息數據分類與編碼》(GB/T 13923—92)國家標準。
(2)全國1:25萬地形資料庫
全國1:25萬地形資料庫共分水系、居民地、鐵路、公路、境界、地形、其他要素、輔助要素、坐標網以及數據質量等14個數據層。
該資料庫按地理坐標和高斯一克呂格投影兩種坐標系統分別存儲。
(3)全國1:5萬地形要素資料庫
全國1:5萬地形矢量要素資料庫是由水系、等高線、境界、交通、居民地等大類的核心地形要素構成的資料庫,其中包括地形要素間的空間關係及相關屬性信息。該資料庫採用高斯一克呂格投影、1980西安坐標系和1985國家高程基準,按6°分帶。