摘 要:該文基于筆者多年從事數(shù)字地球和地理系統(tǒng)開發(fā)的相關(guān)工作經(jīng)驗,以面向移動終端的GIS服務(wù)系統(tǒng)設(shè)計為研究對象,設(shè)計實現(xiàn)了一套移動三維地理空間信息服務(wù)系統(tǒng),該系統(tǒng)由服務(wù)器和客戶端組成,服務(wù)器端主要實現(xiàn)三維GIS數(shù)據(jù)的存儲,客戶端采用windows mobile為操作系統(tǒng),移動三維空間信息服務(wù)瀏覽器運行于windows mobile上面,系統(tǒng)在設(shè)計過程中,針對移動終端系統(tǒng)硬件能力的限制,實現(xiàn)了三維場景引擎,能快速,直觀的實現(xiàn)三維場景重現(xiàn),數(shù)據(jù)量小,實時性強,精度較高,并且支持三維GIS的各種交互手段以及全景數(shù)據(jù)瀏覽等功能。
關(guān)鍵詞:地理空間 信息服務(wù) 三維空間
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1674-098X(2013)04(c)-0002-02
隨著移動產(chǎn)品普及,PDA、Pocket PC逐漸進(jìn)入了主流產(chǎn)品,各方面性能有了較大的提升,因此人們對基于移動設(shè)備的應(yīng)用軟件的性能與功能也有了較高的要求,而現(xiàn)階段的軟件存在以下問題:(1)數(shù)據(jù)更新周期需要較長的時間特別是矢量數(shù)據(jù)和三維數(shù)據(jù),尤其對于中小城市、更新周期更長。(2)直觀性差;沒有遙感數(shù)據(jù)參照,更沒有與實地相一致的三維地形和建筑特征。(3)國外軟件所控制;核心技術(shù)來自國外,存在著國家安全及信息安全的隱患。
1 國內(nèi)外現(xiàn)狀以及發(fā)展趨勢
國內(nèi)GIS公司在此方面的移動業(yè)務(wù)主要以二維矢量數(shù)據(jù)為主,少有實景影像、三維模型信息,缺乏地形特征,應(yīng)用面較窄。市場上少見到基于三維數(shù)據(jù)地理服務(wù)的相關(guān)移動產(chǎn)品,獨立開發(fā)的平臺更少,研發(fā)的投入與產(chǎn)品的開發(fā)力度和高度都不夠。
GOOGLE利用自身現(xiàn)有的海量影像數(shù)據(jù),以及數(shù)據(jù)管理平臺的優(yōu)勢,正大力推出相應(yīng)的軟件產(chǎn)品。Blue Point Studio公司開發(fā)了Pocket Earth軟件。日本、韓國、以色列等國,在三維導(dǎo)航、導(dǎo)游服務(wù)方面,已經(jīng)有相關(guān)的產(chǎn)品出現(xiàn)。但這些國外產(chǎn)品只可進(jìn)行有限的應(yīng)用拓展,不能滿足國內(nèi)用戶應(yīng)用的個性需求,效果也不夠理想。
隨著基于下一代互聯(lián)網(wǎng)絡(luò)IPV6網(wǎng)絡(luò)平臺與3G移動系統(tǒng)的推出,實現(xiàn)實時動態(tài)傳輸?shù)娜S搜索查詢、漫游以及面向公眾的移動三維地理空間信息服務(wù)將是一大趨勢,同時與網(wǎng)絡(luò)運營商聯(lián)合,基于該系統(tǒng)可在網(wǎng)絡(luò)平臺、數(shù)字電視、3G手機等領(lǐng)域?qū)崿F(xiàn)跨平臺的應(yīng)用并帶動相關(guān)產(chǎn)業(yè)的形成。
2 研究內(nèi)容
2.1 海量數(shù)據(jù)調(diào)度管理
采用金字塔結(jié)構(gòu)來組織數(shù)字地形和影像數(shù)據(jù)實現(xiàn)海量數(shù)據(jù)在移動設(shè)備上有限資源的動態(tài)調(diào)入。按照金字塔結(jié)構(gòu)來處理后的數(shù)據(jù)形成一個多分辨率的層次結(jié)構(gòu),并采四叉樹來索引這個結(jié)構(gòu)中的不同層次中的塊(Tile),從塔頂至塔底分辨率由低到高變化,相應(yīng)的分塊數(shù)則由少到多,主要包括數(shù)據(jù)分塊、合并、光滑等一系列處理過程。
2.2 空間基礎(chǔ)數(shù)據(jù)信息數(shù)字技術(shù)標(biāo)準(zhǔn)規(guī)范的統(tǒng)一
由于數(shù)字移動三維空間信息涉及到基礎(chǔ)地理空間數(shù)據(jù),專業(yè)空間數(shù)據(jù)和影像數(shù)據(jù)以及相關(guān)的屬性數(shù)據(jù),另外還有專業(yè)數(shù)據(jù)的內(nèi)容,面對如此巨大的數(shù)據(jù)量,數(shù)據(jù)的組織和管理是關(guān)鍵問題,而技術(shù)標(biāo)準(zhǔn)規(guī)范是進(jìn)行數(shù)據(jù)組織管理的基礎(chǔ)。
2.3 數(shù)字移動設(shè)備系統(tǒng)的可視化
采用COM接口利用DirectMobile3D API建立主要面向三維空間場景描述。其一種快速有效的建模工具,同時又給虛擬系統(tǒng)的各個不同應(yīng)用之間提供了一種信息交換標(biāo)準(zhǔn)。針對數(shù)字移動系統(tǒng)涉及的對象,除了具有三維空間信息以外,還具有時間和多重屬性等信息。需要考慮定義新的對象層次結(jié)構(gòu)和適合于地理信息對象造型的方法。
2.4 面向應(yīng)用層的數(shù)據(jù)管理
以GIS數(shù)據(jù)、三維模型數(shù)據(jù)為一體的數(shù)據(jù)庫為數(shù)據(jù)后臺支持的三維空間信息管理系統(tǒng)。根據(jù)地理分區(qū)、邏輯分層的原則,利用網(wǎng)格技術(shù),根據(jù)數(shù)據(jù)之間的關(guān)聯(lián)進(jìn)行組合及分層管理,實現(xiàn)各種信息的一體化管理,并實現(xiàn)各類空間數(shù)據(jù)的三維數(shù)據(jù)管理。
2.5 面向移動的可視化
數(shù)字移動三維的可視化建模理論涉及到多方面的可視化建模理論和信息可視化技術(shù)。
3 系統(tǒng)實現(xiàn)
3.1 系統(tǒng)總體設(shè)計
整個移動三維地理空間信息服務(wù)系統(tǒng)由手持設(shè)備,數(shù)據(jù)服務(wù)器,地理信息基礎(chǔ)數(shù)據(jù)庫,三維模型數(shù)據(jù)庫組成,其中移動終端設(shè)備自帶或者接有GPS接收機,移動終端設(shè)備通過GPS獲得當(dāng)前位置的位置信息,并將位置信息發(fā)送到數(shù)據(jù)服務(wù)器。數(shù)據(jù)服務(wù)器根據(jù)收到的信息,查詢相應(yīng)的三維地理信息數(shù)據(jù)并實時返回給用戶。
整個平臺采用三層軟件機構(gòu)模型,如圖1。
業(yè)務(wù)層為移動終端設(shè)備,提供用戶交互接口,數(shù)據(jù)層為由影像數(shù)據(jù)庫,地形數(shù)據(jù)庫,三維模型數(shù)據(jù)庫組成的三維GIS數(shù)據(jù)庫,中間層為數(shù)據(jù)服務(wù)器,負(fù)責(zé)業(yè)務(wù)層和移動終端之間的通訊,同時進(jìn)行安全驗證等操作。
軟件模型采用中間件技術(shù)機型網(wǎng)絡(luò)通訊,用戶數(shù)據(jù)請求被發(fā)送到中間件上,中間件使用對象傳輸協(xié)議,將請求傳輸給數(shù)據(jù)服務(wù)器,數(shù)據(jù)服務(wù)器執(zhí)行相應(yīng)查詢,并將查詢結(jié)果數(shù)據(jù)集進(jìn)行編碼,在通過中間件返回給移動三維地理空間信息瀏覽器,瀏覽器解碼該三維GIS數(shù)據(jù),通過三維引擎進(jìn)行數(shù)據(jù)的調(diào)度和快速渲染和瀏覽,將三維圖像呈現(xiàn)給移動終端用戶,如何解決讓有限的硬件資源的移動終端快速、流暢的進(jìn)行三維展示,是整個設(shè)計方案可用性的關(guān)鍵所在,也就是說三維場景引擎在有限的硬件資源下實現(xiàn)三維場景渲染的效果,左右著該移動三維地理空間信息服務(wù)系統(tǒng)的用戶體驗感受和可用性。
從該系統(tǒng)的軟件結(jié)構(gòu)模型中我們可以看到該系統(tǒng)包括4個主要部分:場景數(shù)據(jù)庫、對象建模、場景引擎、交互模型。
場景數(shù)據(jù)庫:場景數(shù)據(jù)庫管理三維場景中的所有實體數(shù)據(jù)和關(guān)系數(shù)據(jù)。系統(tǒng)涉及大量模型數(shù)據(jù)、影像數(shù)據(jù)、地形數(shù)據(jù),場景數(shù)據(jù)庫必須負(fù)責(zé)數(shù)據(jù)的簡化、壓縮和結(jié)構(gòu)存儲,同時負(fù)責(zé)數(shù)據(jù)查詢、提取和信息恢復(fù)等任務(wù)。
對象建模:虛擬可視化系統(tǒng)中各種不同實體和關(guān)系非常復(fù)雜,對象建模將有效地簡化系統(tǒng)的設(shè)計。
場景引擎:場景引擎負(fù)責(zé)虛擬系統(tǒng)的繪制和事件以及消息機制的實現(xiàn)。也是可視化系統(tǒng)的關(guān)鍵,如何解決場景的復(fù)雜度和移動設(shè)備圖形和性能不足之間的矛盾,是場景引擎研究的主要問題?;贒irect3D MOBILE的三維場景引擎的渲染。
3.2 系統(tǒng)實現(xiàn)
創(chuàng)建D3DM對象和設(shè)備
(1)D3DMPRESENT_PARAMETERS結(jié)構(gòu)體
這個結(jié)構(gòu)用于設(shè)定將要創(chuàng)建的D3D設(shè)備對象的一些特性,主要包括后備緩沖表面的寬度,高度,象素格式,后備緩沖表面的數(shù)量,通常只有一個,全屏抗鋸齒的類型,指定表面在交換鏈中是如何被交換的,窗口模式,D3D是否自動創(chuàng)建深度、模板緩沖,深度/模板緩沖的格式,屏幕刷新率等。
(2)創(chuàng)建設(shè)備
創(chuàng)建相關(guān)設(shè)備并且設(shè)置設(shè)備的相關(guān)屬性,包括指定對象要表示的物理顯示設(shè)備,設(shè)備的類型,與設(shè)備相關(guān)的窗口句柄,指定一個已經(jīng)初始化好D3DPRESENT_PARAMETERS結(jié)構(gòu)體等。
(3)設(shè)置渲染狀態(tài)
利用D3D設(shè)置場景引擎的多種渲染狀態(tài),它影響幾何物體怎么樣被渲染。渲染狀態(tài)有默認(rèn)值,主要包括裁剪開關(guān)、光照開關(guān)、Z緩沖開關(guān)等。
創(chuàng)建要渲染的場景對象
(1)頂點緩沖的創(chuàng)建
頂點類似于數(shù)學(xué)上點的結(jié)構(gòu),但DirectX的頂點包含了許多附加的屬性,如位置、顏色、法線向量、紋理坐標(biāo)。一個頂點緩沖區(qū)是一塊連續(xù)存儲了的頂點數(shù)據(jù)的內(nèi)存。
(2)索引緩沖的創(chuàng)建及索引數(shù)組的計算
為了表現(xiàn)復(fù)雜模型的時候,減少重復(fù)的頂點數(shù),系統(tǒng)創(chuàng)建頂點列表和索引列表(index list),其中頂點列表包含所有不重復(fù)的頂點,索引列表中則用頂點列表中定義的值來表示每一個三角形的構(gòu)造方式。
(3)紋理的創(chuàng)建
對于紋理的創(chuàng)建,首先要創(chuàng)建紋理表面,他包括該紋理圖面的寬度、高度以及指向的指針等,再從內(nèi)存中讀取數(shù)據(jù)到紋理表面。
(4)渲染過程
一旦創(chuàng)建好頂點緩沖區(qū)和索引緩沖區(qū)及計算好索引后并且各紋理光照等條件都已經(jīng)到位,則接下來就可以進(jìn)行渲染,主要包括設(shè)置資源流、設(shè)置索引緩沖區(qū)、繪制三方面的工作。
3.3 三維數(shù)據(jù)快速瀏覽的實現(xiàn)
(1)三維數(shù)據(jù)加載優(yōu)化
由于移動終端資源有限,對大塊三維數(shù)據(jù)的操作需要較長時間。因此我們將三維數(shù)據(jù)通過另一種壓縮算法先分好塊再存儲起來,這樣可以避免頻繁操作大塊三維數(shù)據(jù)的情況,給瀏覽器的其他處理留下了充分的時間。
(2)三維數(shù)據(jù)存儲優(yōu)化
三維數(shù)據(jù)通過壓縮算法進(jìn)行壓縮后壓縮比達(dá)到5∶1,大大的縮小了需要占用的存儲空間,極大減少了移動終端的資源占用。又因為在壓縮時采用了分塊存儲并建立了索引的方法,加速了讀取速度,很大程度上提高了讀取的效率。
(3)基于LOD的三維數(shù)據(jù)的生成
在實際開發(fā)中注意相鄰復(fù)雜度模型中低復(fù)雜度模型的多邊形數(shù)目是高復(fù)雜度模型多邊形數(shù)目的75%。采用LOD技術(shù)不但可以增強場景的逼真度,也可以減少場景繪制的多邊形的數(shù)量,既提高了可視性又節(jié)約了系統(tǒng)資源。
(4)三維數(shù)據(jù)拼接縫消除
使用LOD技術(shù)時在不同精度的層之間的連接就會導(dǎo)致拼接處有明顯的縫隙,給人明顯的不連續(xù)的感覺,會大大降低場景的真實性,因此我們在不同精度層的拼接處采用建立頂點索引并對這種塊進(jìn)行重新分配空間及調(diào)整三角面列表的生成序列的方法來解決。
4 結(jié)語
本系統(tǒng)針對移動終端在計算能力和三維圖形處理方面存在的局限性,采用三維多細(xì)節(jié)層次LOD建模方式,同時對該建模方式進(jìn)行了改進(jìn)和優(yōu)化,消除了不同精度的三維數(shù)據(jù)拼接縫的問題,對基于D3D MOBILE的三維場景引擎進(jìn)行了優(yōu)化設(shè)計和研究開發(fā),綜合使用中間件技術(shù)、壓縮技術(shù)、渲染技術(shù)等優(yōu)化了移動終端的三維虛擬場景。
參考文獻(xiàn)
[1]陳飛翔,楊崇俊.基于LBS的移動GIS研究[J].計算機工程與應(yīng)用,2006(2):200-201.
[2]高山.虛擬城市的三維建模[J].測繪通報,2004(6):4647.