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