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