前言:想要寫出一篇引人入勝的文章?我們特意為您整理了三維城市管理軟件研究范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
摘要:移動(dòng)終端和傳統(tǒng)PC電腦相比無論是系統(tǒng)的運(yùn)算能力,系統(tǒng)的存儲(chǔ)空間還是系統(tǒng)的圖形繪制效率都要比臺(tái)式機(jī)差很多,為了在移動(dòng)終端上實(shí)現(xiàn)三維城市管理軟件,我們將高效的格網(wǎng)調(diào)度算法,模型、圖片的壓縮算法,OpenGLES2和Spatialite、CouchDB數(shù)據(jù)庫等技術(shù)引入到了系統(tǒng)軟件的開發(fā)中。本文結(jié)合天津市移動(dòng)終端三維城市管理軟件的實(shí)際開發(fā)經(jīng)驗(yàn)探討了在IPad平臺(tái)上系統(tǒng)軟件的實(shí)現(xiàn)方法。
關(guān)鍵詞:IOS;IPad;三維城市;模型簡(jiǎn)化;數(shù)據(jù)壓縮
0引言
隨著“智能化”大潮來襲,以ios和android為代表智能移動(dòng)終端在全球市場(chǎng)地位逐步提升,并大幅侵蝕傳統(tǒng)PC市場(chǎng)。有數(shù)據(jù)顯示,2011年第一季度平板電腦的市場(chǎng)銷量就增加910%,而傳統(tǒng)PC和筆記本銷量整體下滑5.8%,預(yù)計(jì)2014年智能手機(jī)銷量會(huì)達(dá)到5億臺(tái),平板電腦的銷量也將達(dá)到1.2億臺(tái)。終端設(shè)備的快速發(fā)展必然會(huì)帶來巨大的應(yīng)用需求,而作為地理信息系統(tǒng)行業(yè)的新興力量的三維GIS在移動(dòng)智能終端平臺(tái)上更是新上加新。只有快速的掌握新興領(lǐng)域的新技術(shù),才能快速的在新興市場(chǎng)站穩(wěn)腳步,從而獲得更加廣闊的市場(chǎng)前景。
1移動(dòng)終端現(xiàn)狀
隨著移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,以iPhone、iPad為代表的移動(dòng)多媒體終端徹底改變了現(xiàn)代生活。只要指尖輕觸屏幕,就可以隨時(shí)隨地穿梭于互聯(lián)網(wǎng)之間,手機(jī)電視、視頻通話、音樂下載、手機(jī)游戲、即時(shí)通訊、移動(dòng)搜索、移動(dòng)支付等成為最受歡迎的移動(dòng)數(shù)據(jù)業(yè)務(wù)。移動(dòng)互聯(lián)網(wǎng)作為信息技術(shù)領(lǐng)域的又一次突破,對(duì)人類社會(huì)各領(lǐng)域活動(dòng)的潛在顛覆性影響已獲得了越來越多的認(rèn)可,一條以移動(dòng)多媒體終端為核心的產(chǎn)業(yè)鏈正在重構(gòu)相關(guān)產(chǎn)業(yè)格局。另一方面,隨著集成電路技術(shù)的飛速發(fā)展,移動(dòng)終端的處理能力已經(jīng)擁有了強(qiáng)大的處理能力,移動(dòng)終端正在從簡(jiǎn)單的通話工具變?yōu)橐粋€(gè)綜合信息處理平臺(tái)。這也給移動(dòng)終端增加了更加寬廣的發(fā)展空間?,F(xiàn)代的移動(dòng)終端已經(jīng)擁有極為強(qiáng)大的處理能力(CPU主頻已經(jīng)接近2G)、內(nèi)存、固化存儲(chǔ)介質(zhì)以及像電腦一樣的操作系統(tǒng),是一個(gè)完整的超小型計(jì)算機(jī)系統(tǒng),可以完成復(fù)雜的處理任務(wù)。移動(dòng)圖形芯片的快速發(fā)展也使原來不可能完成的三維渲染任務(wù)得到完美的解決。
2基于移動(dòng)終端的海量數(shù)據(jù)城市三維渲染的問題
移動(dòng)終端和傳統(tǒng)的臺(tái)式機(jī)終端相比差別很大,由于體積和硬件條件的制約,移動(dòng)終端的整體性能要遠(yuǎn)低于目前主流的桌面臺(tái)式機(jī),無論是系統(tǒng)的運(yùn)算能力,系統(tǒng)的存儲(chǔ)空間還是系統(tǒng)的圖形繪制效率都要比臺(tái)式機(jī)差很多。而城市三維海量模型數(shù)據(jù)在臺(tái)式機(jī)上調(diào)度渲染也需要很高的負(fù)荷,更不用說移動(dòng)終端了,因此,為了實(shí)現(xiàn)移動(dòng)終端上的城市三維地理信息管理,目前存在如下問題:
2.1海量三維模型數(shù)據(jù)存儲(chǔ)
由于移動(dòng)終端的存儲(chǔ)空間很低,通常城市市區(qū)400km2左右種類齊全的精細(xì)模型需要存儲(chǔ)空間數(shù)百Gb,管理模型數(shù)量約幾百萬個(gè),加上模型貼圖、其他相關(guān)文件需存儲(chǔ)的文件個(gè)數(shù)近幾百萬個(gè)甚至上千萬個(gè)。一次三維城市管理動(dòng)輒幾百Gb上Tb的數(shù)據(jù)是移動(dòng)終端根本無法承受的,而且移動(dòng)終端存儲(chǔ)數(shù)據(jù)的讀、寫速度也很低。為了解決海量城市三維模型在移動(dòng)終端上的存儲(chǔ)問題,我們需要一套完整的三維模型數(shù)據(jù)優(yōu)化、壓縮的解決方案,從而實(shí)現(xiàn)基于移動(dòng)終端的海量三維城市模型存儲(chǔ)的管理。
2.2城市級(jí)三維模型場(chǎng)景管理
在城市級(jí)三維地理信息管理系統(tǒng)中,需要?jiǎng)討B(tài)調(diào)度和顯示大量的城市建筑、地形地貌、城市部件、地下空間設(shè)施及綜合管線等三維模型,這些模型通常具有個(gè)數(shù)巨大、資源消耗巨大、容量巨大等特點(diǎn)。由于城市的范圍很大,為了可以實(shí)現(xiàn)在移動(dòng)終端上的城市級(jí)大范圍的三維模型調(diào)度和管理,我們必須有一套完整的城市三維場(chǎng)景管理技術(shù)。
2.3現(xiàn)有城市三維數(shù)據(jù)的再利用
三維數(shù)字城市在國內(nèi)的應(yīng)用日趨廣泛,各建設(shè)單位在建設(shè)三維數(shù)字城市的過程中也積累了很多的三維模型數(shù)據(jù)和系統(tǒng)空間地理信息數(shù)據(jù),由于移動(dòng)終端的硬件條件限制,直接將已有的城市三維成果數(shù)據(jù)應(yīng)用于基于移動(dòng)終端的應(yīng)用平臺(tái)中不現(xiàn)實(shí),所以需要采用一種最接近原有三維數(shù)字城市系統(tǒng)的技術(shù)路線來實(shí)現(xiàn)基于移動(dòng)終端的應(yīng)用系統(tǒng),這樣做可以最大程度地利用原有成果數(shù)據(jù)和資料,而且還可以沿用原有的部分技術(shù)手段來最大程度地減少功能開發(fā)的重復(fù)投入。
3基于移動(dòng)終端的三維管理軟件的設(shè)計(jì)與實(shí)現(xiàn)
基于移動(dòng)終端的三維管理軟件主要包括基于移動(dòng)終端的三維渲染和基于移動(dòng)終端的數(shù)據(jù)管理兩部分。在設(shè)計(jì)和開發(fā)的過程中針對(duì)上面提出來的問題,我們總結(jié)出如下需要解決的關(guān)鍵點(diǎn):1)城市三維數(shù)據(jù)的壓縮與優(yōu)化。2)城市三維海量數(shù)據(jù)的數(shù)據(jù)庫存儲(chǔ)與檢索。3)城市級(jí)三維模型的調(diào)度與管理。4)移動(dòng)終端三維軟件實(shí)現(xiàn)的核心技術(shù)方法。為了解決這些關(guān)鍵問題,如圖1所示。整個(gè)系統(tǒng)包含渲染內(nèi)核、調(diào)度管理、數(shù)據(jù)庫存儲(chǔ)管理和用戶界面四大部分。其中,渲染內(nèi)核層主要實(shí)現(xiàn)三維模型的實(shí)時(shí)渲染,采用以O(shè)penGLES2.0為底層的OSG作為三維模型渲染引擎,調(diào)度管理部分主要利用海量模型格網(wǎng)調(diào)度技術(shù)實(shí)現(xiàn)城市級(jí)大范圍三維場(chǎng)景的調(diào)度與管理,數(shù)據(jù)庫存儲(chǔ)管理主要實(shí)現(xiàn)了三維空間數(shù)據(jù)的管理和系統(tǒng)海量模型文件的數(shù)據(jù)庫存儲(chǔ),主要采用Spatialite和CouchDB移動(dòng)版。用戶界面部分主要實(shí)現(xiàn)了為用戶提供的直觀易懂的操作功能,如打開數(shù)據(jù),多點(diǎn)觸摸漫游瀏覽,量測(cè),查詢等操作。整體軟件結(jié)構(gòu)中的具體關(guān)鍵技術(shù)如下:
3.1基于移動(dòng)終端的海量模型格網(wǎng)調(diào)度技術(shù)
在瀏覽三維城市模型時(shí),系統(tǒng)需要將三維模型調(diào)入內(nèi)存,然后再利用顯存來實(shí)現(xiàn)三維模型的渲染,但是移動(dòng)終端的硬件條件無法實(shí)現(xiàn)一次性渲染大量三維模型,尤其城市級(jí)模型數(shù)據(jù)庫不僅數(shù)據(jù)存儲(chǔ)量巨大,而且三維模型的數(shù)量也很多,通??梢赃_(dá)到數(shù)百萬個(gè)甚至上千萬個(gè),所以我們?yōu)榱藢?shí)現(xiàn)城市級(jí)三維模型的調(diào)度,我們僅在需要的時(shí)候調(diào)取部分模型,但是我們要想從這上千萬個(gè)物體中查找到幾百個(gè)我們關(guān)心的物體本身也是很耗費(fèi)時(shí)間的。而且由于三維可視化系統(tǒng)的特殊性,用戶在做漫游瀏覽操作時(shí)通常瀏覽范圍是實(shí)時(shí)變化的,因此,會(huì)積累大量的“從上千萬個(gè)物體中查找?guī)装賯€(gè)我們想要看到的物體”這一查找過程,這樣需要耗費(fèi)巨大的系統(tǒng)資源。為了盡量減少模型調(diào)度在查找這一步驟上耗費(fèi)的資源,我們采取格網(wǎng)調(diào)度模型的方法。系統(tǒng)將空間劃分為若干有規(guī)律的格網(wǎng),每個(gè)格網(wǎng)都有自己唯一的標(biāo)識(shí),當(dāng)用戶使用系統(tǒng)瀏覽到一范圍時(shí),系統(tǒng)根據(jù)如下公式:ROWbase64=(Ywcs-_BlockMinY)/_BlockYSizeCOLbase64=(Xwcs-_BlockMinX)/_BlockXSize計(jì)算出當(dāng)前瀏覽范圍包含了哪些格網(wǎng)。如該公式僅用了計(jì)算機(jī)運(yùn)算效率最高的加減乘除,因此,在用戶做漫游瀏覽操作時(shí)完全可以滿足實(shí)時(shí)計(jì)算的要求。系統(tǒng)在計(jì)算出當(dāng)前瀏覽范圍所交的格網(wǎng)后,就可以在這些格網(wǎng)所包含的模型中去查找我們要用到或要渲染顯示的模型了。該調(diào)度方法已經(jīng)應(yīng)用于我們的三維地理信息平臺(tái)中,針對(duì)移動(dòng)終端版本,我們將格網(wǎng)大小分割和空間索引技術(shù)做了進(jìn)一步優(yōu)化,從而更適合移動(dòng)終端三維模型的調(diào)度。
3.2基于OpenGLES2.0的OSGforIOS
OpenGLES(OpenGLforEmbeddedSystems)是Open-GL三維圖形API的子集,針對(duì)手機(jī)、PDA和游戲主機(jī)等嵌入式設(shè)備而設(shè)計(jì)。該API由Khronos集團(tuán)定義推廣,Khronos是一個(gè)圖形軟硬件行業(yè)協(xié)會(huì),該協(xié)會(huì)主要關(guān)注圖形和多媒體方面的開放標(biāo)準(zhǔn)。由于目前在主流的移動(dòng)平臺(tái)中,例如Android、IOS的移動(dòng)操作系統(tǒng)里面目前僅支持OpenGLES的三維圖形API,所以為了更好地支持現(xiàn)在主流的移動(dòng)平臺(tái),使用OpenGLES2.0三維圖形API可以更大范圍的適用各種移動(dòng)終端。OpenSceneGraph是一個(gè)開源的、跨平臺(tái)的基于場(chǎng)景圖的圖形開發(fā)包,它為科學(xué)計(jì)算可視化、游戲、虛擬仿真等這樣的高俠侶圖形應(yīng)用程序開發(fā)而設(shè)計(jì)。它基于場(chǎng)景圖的概念,提供了一個(gè)在OpenGL層面上的面向?qū)ο蟮拈_發(fā)框架,為三維圖形應(yīng)用的快速開發(fā)提供了很多額外的小工具,從而能把開發(fā)者從繁雜的實(shí)現(xiàn)和優(yōu)化底層代碼的調(diào)用中解放出來。由于我們已有基于OSG開發(fā)的三維城市地理信息管理平臺(tái),因此我們還采用OSG移動(dòng)版本來實(shí)現(xiàn)該軟件的開發(fā),從而可以最大程度地利用原有系統(tǒng)資源。
3.3非關(guān)系型數(shù)據(jù)庫CouchDB
CouchDB是一個(gè)開源的面向文檔的數(shù)據(jù)庫管理系統(tǒng),可以通過RESTfulJavaScriptObjectNotation(JSON)API訪問。術(shù)語“Couch”是“ClusterOfUnreliableCom-modityHardware”的首字母縮寫,反映了CouchDB的目標(biāo)具有高度可伸縮性,提供了高可用性和高可靠性,即使運(yùn)行在容易出現(xiàn)故障的硬件上也是如此。CouchDB有如下幾個(gè)方面的特點(diǎn):1)分布式的NOSQL數(shù)據(jù)庫可以把多臺(tái)服務(wù)器節(jié)點(diǎn)上的存儲(chǔ)進(jìn)行分布管理,并協(xié)調(diào)每一臺(tái)服務(wù)器之間的通信和數(shù)據(jù)的一致性。對(duì)于城市級(jí)別的大規(guī)模文檔管理的應(yīng)用,該數(shù)據(jù)庫不用像傳統(tǒng)的數(shù)據(jù)庫一樣集中配置,只需要在需要擴(kuò)充的時(shí)候增加節(jié)點(diǎn)即可。2)完全面向文檔的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)的是非結(jié)構(gòu)或者半結(jié)構(gòu)化的數(shù)據(jù),特別適合讀寫各種文檔數(shù)據(jù),因此,特別適合數(shù)量龐大但是單個(gè)文檔數(shù)據(jù)量又很小的文件。針對(duì)這些應(yīng)用,CouchDB要比傳統(tǒng)的關(guān)系型數(shù)據(jù)庫方便得多,性能也更好。CouchDB在文檔存儲(chǔ)方面有很大的優(yōu)勢(shì),因此,我們將海量的三維模型文件存儲(chǔ)在CouchDB中,避免了在移動(dòng)終端上存儲(chǔ)海量的碎片文件,也提高了這些文件的檢索效率和讀寫性能。CouchDB也是目前唯一一個(gè)支持IOS移動(dòng)平臺(tái)的非關(guān)系型文檔數(shù)據(jù)庫。
3.4輕量級(jí)移動(dòng)空間數(shù)據(jù)庫
SQLite本身是一個(gè)輕量級(jí)的數(shù)據(jù)庫,是遵循ACID的關(guān)系型數(shù)據(jù)庫系統(tǒng),設(shè)計(jì)時(shí)的目標(biāo)是嵌入式、輕量化的,并且現(xiàn)在確實(shí)在嵌入式方面得到了很多的應(yīng)用,它的優(yōu)點(diǎn)是消耗資源低,在嵌入設(shè)備中,不需要多大的內(nèi)存消耗。它可以支持跨平臺(tái)的多操作系統(tǒng),例如Windows,Linux,Unix,同時(shí)可以被多種語言調(diào)用,如C#,Java,PHP,python,Tcl,c++,ObjectC等,同樣相比其他開源的關(guān)系型數(shù)據(jù)庫,它的處理速度更快。SpatiaLite是一套具有空間數(shù)據(jù)功能的SQLite數(shù)據(jù)庫系統(tǒng)。我們采用Sptialite存儲(chǔ)所有的空間地理信息數(shù)據(jù),包括三維模型格網(wǎng)的空間索引,這樣可以快速地實(shí)現(xiàn)空間數(shù)據(jù)的查詢和檢索。
3.5模型自動(dòng)精簡(jiǎn)技術(shù)
為了實(shí)現(xiàn)移動(dòng)平臺(tái)高效調(diào)用大場(chǎng)景的三維模型,需要在瀏覽大范圍城市模型時(shí),采用模型自動(dòng)精簡(jiǎn)技術(shù)自動(dòng)精簡(jiǎn)城市建筑模型及三維地形模型,從而減輕系統(tǒng)的渲染負(fù)擔(dān)。我們采用基于Garland的邊收縮算法來精簡(jiǎn)網(wǎng)格化的三維模型提高訪問速度。近年來,出現(xiàn)了很多有代表性的模型簡(jiǎn)化算法,其中Galand的基于二次誤差度量的邊收縮算法是目前最常采用且有效的算法。其基本思想是以頂點(diǎn)到相關(guān)三角形平面的距離的平方和為誤差度量,通過重復(fù)的邊收縮操作對(duì)模型進(jìn)行簡(jiǎn)化。
4結(jié)束語
應(yīng)用上面的關(guān)鍵技術(shù),我們完成了基于移動(dòng)終端的渲染內(nèi)核、調(diào)度管理、數(shù)據(jù)庫存儲(chǔ)管理幾個(gè)模塊的開發(fā),并完成了整套在ipad平臺(tái)上的三維城市管理平臺(tái)的開發(fā),系統(tǒng)中管理了天津市外環(huán)線內(nèi)400km2的0.2mDOM與DEM場(chǎng)景建立的三維地形和三維精細(xì)建筑模型和空間信息數(shù)據(jù),系統(tǒng)提供了城市三維的高效瀏覽,信息查詢和三維量測(cè)等功能。
參考文獻(xiàn):
[1]王冬,王曉華.三維GIS中海量模型調(diào)度與存儲(chǔ)[J].地理空間信息,2012,10(1):109-111.
[2]何波.移動(dòng)互聯(lián)網(wǎng)之發(fā)展現(xiàn)狀及監(jiān)管對(duì)策[J].廣播電視信息,2011(10):58-61.
[3]黃海峰,黃勃,陳澤江.移動(dòng)三維地理空間信息服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科技資訊,2010(25):25-26.
[4]姚書科,張韌志.基于云計(jì)算的海量圖片存儲(chǔ)管理系統(tǒng)研究[J].電子設(shè)計(jì)工程,2012,20(11):17-20.
[5]張必強(qiáng),邢淵,阮雪榆.基于特征保持和三角形優(yōu)化的網(wǎng)格模型簡(jiǎn)化[J].上海交通大學(xué)學(xué)報(bào),2004,38(8):1373-1377.
[6]鐘曉霞,王建宇.一種基于視向的LOD自動(dòng)生成方法[J].工程圖學(xué)學(xué)報(bào),2002(4):68-72.
[7]丁晶,秦亮軍.移動(dòng)環(huán)境下三維場(chǎng)景的實(shí)時(shí)渲染技術(shù)研究[J].城市勘測(cè),2011(6):18-22.
作者:王冬 王曉華 單位:天津市測(cè)繪院