国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MongoDB的城市三維模型數(shù)據(jù)建庫(kù)技術(shù)探討

2015-04-10 03:46黃夢(mèng)龍
地理空間信息 2015年1期
關(guān)鍵詞:關(guān)系數(shù)據(jù)庫(kù)模型庫(kù)建庫(kù)

黃夢(mèng)龍

(1.福建省基礎(chǔ)地理信息中心,福建 福州350003)

基于MongoDB的城市三維模型數(shù)據(jù)建庫(kù)技術(shù)探討

黃夢(mèng)龍1

(1.福建省基礎(chǔ)地理信息中心,福建 福州350003)

分析了城市三維模型管理的需求,從三維模型數(shù)據(jù)庫(kù)規(guī)范以及MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)模型出發(fā),設(shè)計(jì)了三維模型數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)?;赟kyline三維地理信息系統(tǒng)和MongoDB驅(qū)動(dòng)程序,開發(fā)了三維模型數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)了三維模型的建庫(kù)管理。

城市三維模型;Skyline;MongoDB;模型數(shù)據(jù)庫(kù)

城市三維建模是構(gòu)建數(shù)字城市建設(shè)的一個(gè)組成部分。城市三維模型在城市規(guī)劃、房地產(chǎn)開發(fā)、交通管理、旅游等領(lǐng)域起著重要的作用。

1 城市三維模型庫(kù)結(jié)構(gòu)設(shè)計(jì)

MongoDB是所有NoSQL數(shù)據(jù)庫(kù)中最像關(guān)系數(shù)據(jù)庫(kù)的一種,與SqlServer等關(guān)系數(shù)據(jù)庫(kù)類似。MongoDB的數(shù)據(jù)庫(kù)對(duì)象分為數(shù)據(jù)庫(kù)、集合(Collection)和 文 檔(Document)。MongoDB的 數(shù) 據(jù) 庫(kù) 與SqlSevrer的數(shù)據(jù)庫(kù)類似,集合則類似于關(guān)系表,而文檔則類似于關(guān)系數(shù)據(jù)庫(kù)的記錄。與關(guān)系數(shù)據(jù)庫(kù)的記錄比,MongoDB的文檔提供了靈活的存儲(chǔ)方式,沒(méi)有嚴(yán)格的模式限制。此外MongoDB還提供GridFS對(duì)象,用于對(duì)文件進(jìn)行存儲(chǔ)。GridFS由文件信息集合和文件分塊集合組成,用于對(duì)二進(jìn)制文件進(jìn)行分塊存儲(chǔ)。針對(duì)空間數(shù)據(jù)的存儲(chǔ),MogoDB提供了GeoJSON對(duì)象,可用于存儲(chǔ)點(diǎn)狀、線狀和面狀對(duì)象,MongoDB還針對(duì)GeoJSON對(duì)象提供了空間索引,實(shí)現(xiàn)空間數(shù)據(jù)的高效查詢。

本文從三維模型的特點(diǎn)出發(fā),結(jié)合三維模型建庫(kù)的標(biāo)準(zhǔn)和MongoDB的數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)類型,設(shè)計(jì)模型數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)如圖 1。

圖1 基于MongoDB的三維模型庫(kù)結(jié)構(gòu)

系統(tǒng)的數(shù)據(jù)庫(kù)由查詢定位數(shù)據(jù)庫(kù)、系統(tǒng)運(yùn)維庫(kù)和各地市的模型庫(kù)組成。查詢定位數(shù)據(jù)庫(kù)存儲(chǔ)行政區(qū)劃、地名、興趣點(diǎn)等輔助查詢和定位數(shù)據(jù),系統(tǒng)運(yùn)維庫(kù)存儲(chǔ)了用戶、角色、權(quán)限、系統(tǒng)訪問(wèn)日志以及數(shù)據(jù)庫(kù)目錄等數(shù)據(jù)。

各地市的模型庫(kù)結(jié)構(gòu)由模型庫(kù)、模型子庫(kù)、要素集合、文件集合4個(gè)層次組成。模型庫(kù)是一個(gè)邏輯的概念,用于將各地市的模型庫(kù)分組管理,一個(gè)邏輯庫(kù)中有4個(gè)模型子庫(kù),每個(gè)子庫(kù)對(duì)應(yīng)到一個(gè)MongoDB的數(shù)據(jù)庫(kù),分別存儲(chǔ)模型的元數(shù)據(jù)以及源模型、表現(xiàn)模型和歷史模型的屬性及模型文件。模型的幾何信息采用GeoJSON對(duì)象存儲(chǔ)。各子庫(kù)的模型文件用GridFS存儲(chǔ)模型文件,并用模型類別、編碼、時(shí)間戳組合形成的文件名來(lái)區(qū)分各個(gè)模型。采用這樣的命名方式可以方便地將模型與其屬性關(guān)聯(lián)起來(lái),并按類別等信息對(duì)模型文件進(jìn)行批量操作。

每個(gè)模型的元數(shù)據(jù)、表現(xiàn)模型屬性和源模型屬性通過(guò)模型編碼進(jìn)行關(guān)聯(lián),由于模型編碼唯一標(biāo)識(shí)了每一個(gè)模型,可以由表現(xiàn)模型快速查詢到模型的元數(shù)據(jù)以及對(duì)應(yīng)的源模型。模型更新時(shí),通過(guò)時(shí)間戳來(lái)標(biāo)記某一歷史時(shí)間點(diǎn)的模型,實(shí)現(xiàn)歷史模型的管理,以方便某一歷史三維模型的回溯。

2 城市三維模型管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 系統(tǒng)總體結(jié)構(gòu)

本文采用Skyline TerraExplorer Pro6.1作為三維平臺(tái), 以MongoDB的C#驅(qū)動(dòng)訪問(wèn)模型數(shù)據(jù)庫(kù),開發(fā)了三維模型管理系統(tǒng)。系統(tǒng)運(yùn)行于內(nèi)部局域網(wǎng),由數(shù)據(jù)層、服務(wù)層以及應(yīng)用層組成,系統(tǒng)總體設(shè)計(jì)如圖 2所示。

圖2 系統(tǒng)總體結(jié)構(gòu)

數(shù)據(jù)層和服務(wù)層部署在服務(wù)器端。數(shù)據(jù)層包括基礎(chǔ)地理信息數(shù)據(jù)、三維地形模型和三維城市構(gòu)筑物模型。服務(wù)層包括數(shù)據(jù)查詢服務(wù)和模型提供服務(wù)。數(shù)據(jù)查詢服務(wù)基于MongoDB的空間查詢功能開發(fā),用于地名、興趣點(diǎn)和行政區(qū)劃查詢、輔助模型的定位和瀏覽。由于Skyline TerraExplorer Pro并不支持從數(shù)據(jù)庫(kù)中加載模型數(shù)據(jù),系統(tǒng)開發(fā)模型提供服務(wù),該服務(wù)監(jiān)控并實(shí)時(shí)響應(yīng)客戶端加載模型的請(qǐng)求,從模型庫(kù)中讀取需要的三維模型數(shù)據(jù)返回給客戶端,完成從數(shù)據(jù)庫(kù)中加載模型數(shù)據(jù)。應(yīng)用層為三維模型數(shù)據(jù)庫(kù)管理系統(tǒng),部署在各客戶端。

2.2 系統(tǒng)功能實(shí)現(xiàn)

系統(tǒng)實(shí)現(xiàn)了模型庫(kù)結(jié)構(gòu)管理,模型數(shù)據(jù)批量入庫(kù)、刪除、更新以及編輯,模型快速提取與分發(fā)等功能。模型批量更新時(shí),可以同時(shí)將舊的模型數(shù)據(jù)轉(zhuǎn)入到歷史庫(kù)中,并為每個(gè)模型添加時(shí)間戳,從而實(shí)現(xiàn)歷史模型的瀏覽與回溯。

通過(guò)與后臺(tái)的模型查詢服務(wù)對(duì)接,系統(tǒng)通過(guò)2種方式對(duì)模型數(shù)據(jù)進(jìn)行加載和瀏覽:①以流的方式加載模型數(shù)據(jù),借助Skyline TerraExplorer Pro的動(dòng)態(tài)內(nèi)存管理能力,適合于大范圍模型的加載瀏覽。②查詢感興趣的區(qū)域模型,以動(dòng)態(tài)創(chuàng)建模型對(duì)象的方式逐個(gè)加載,適合于快速查詢?yōu)g覽感興趣區(qū)域的模型。

此外,系統(tǒng)還提供了模型統(tǒng)計(jì)的功能,能夠以多種統(tǒng)計(jì)圖表的方式顯示各地區(qū)、各類型的模型數(shù)量,便于掌握三維模型數(shù)據(jù)的生產(chǎn)和建庫(kù)情況。

系統(tǒng)實(shí)現(xiàn)涉及的空間范圍查詢采用MongoDB的空間查詢算子實(shí)現(xiàn),屬性查詢則采用MongoDB提供的豐富的屬性查詢操作完成。系統(tǒng)界面如圖 3所示。

圖3 系統(tǒng)界面

3 應(yīng)用與展望

本文采用Skyline軟件作為二次開發(fā)工具,利用MongoDB數(shù)據(jù)庫(kù)實(shí)現(xiàn)三維模型的建庫(kù)與管理,已應(yīng)用到福建省數(shù)字城市建設(shè)生產(chǎn)的三維模型管理中,在三維模型的管理、分發(fā)和提供方面進(jìn)行了一些有益的探索。目前已完成了數(shù)字泉州和廈門生產(chǎn)的三維模型的建庫(kù),其中泉州城市模型約4 000個(gè),廈門城市模型約15 000個(gè),表現(xiàn)模型數(shù)據(jù)總量近20 G,源模型數(shù)據(jù)總量約43 G,在后續(xù)的應(yīng)用中將完成其他數(shù)字城市三維模型的建庫(kù)。

Max格式的模型是目前通用的三維模型數(shù)據(jù)格式,國(guó)內(nèi)外主流的三維地理信息系統(tǒng)都支持Max模型的導(dǎo)入與展示,Max模型也可在3D Max軟件中進(jìn)一步編輯處理,因而基于該系統(tǒng)提取和分發(fā)的模型,也可用于基于其他三維平臺(tái)的三維地理信息系統(tǒng)建設(shè)。

[1] 唐楨,張新長(zhǎng),曹凱濱.基于Skyline的三維技術(shù)在城市規(guī)劃中的應(yīng)用研究 [J].測(cè)繪通報(bào),2010(5):20-23

[2] CH/T 9015-2012.三維地理信息模型數(shù)據(jù)產(chǎn)品規(guī)范[S].

[3] CH/T 9016-2012.三維地理信息模型數(shù)據(jù)生產(chǎn)規(guī)范[S].

[4] CH/T 9017-2012.三維地理信息模型數(shù)據(jù)庫(kù)規(guī)范[S].

[5] 朱國(guó)敏,馬照亭,孫隆祥,等.城市三維地理信息系統(tǒng)中海量數(shù)據(jù)的數(shù)據(jù)庫(kù)組織與管理[J].測(cè)繪科學(xué),2008,33(1):238-240

[6] 周松濤. 基于關(guān)系數(shù)據(jù)庫(kù)的三維模型庫(kù)技術(shù)[J]. 測(cè)繪信息與工程,2005,30(6):30-31

[7] 王冬,王曉華.三維 GIS 中海量模型調(diào)度與存儲(chǔ)地理空間信息[J]. 地理空間信息,2012,10(1):109-111

[8] Cbodorow K, Dirolf M. MongoDB權(quán)威指南[M].北京:人民郵電出版,2011

[9] 黃夢(mèng)龍. 基于Skyline的三維城市模型數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 測(cè)繪與空間地理信息,2014,37(8):133-135

[10] MongoDB, Inc. MongoDB Manual[EB/OL]. http://docs. mongodb.org/manual,2014-08-09

P208

B

1672-4623(2015)01-0020-02

10.3969/j.issn.1672-4623.2015.01.007

黃夢(mèng)龍,高級(jí)工程師,主要從事基礎(chǔ)地理信息數(shù)據(jù)建庫(kù)和GIS應(yīng)用開發(fā)工作。

2014-09-10。

項(xiàng)目來(lái)源:福建省測(cè)繪地理信息局2014年測(cè)繪地理信息科技創(chuàng)新資助項(xiàng)目。

猜你喜歡
關(guān)系數(shù)據(jù)庫(kù)模型庫(kù)建庫(kù)
關(guān)系數(shù)據(jù)庫(kù)在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
基于Creo參數(shù)化建模的設(shè)備模型庫(kù)建立方法
“數(shù)字溫縣”建設(shè)項(xiàng)目通過(guò)驗(yàn)收
高校圖書館回溯建庫(kù)探微
Pro/E的三維往復(fù)壓縮機(jī)參數(shù)化模型庫(kù)的建立
中文期刊回溯建庫(kù)的實(shí)踐與思考——以貴州省圖書館為例
基于模型庫(kù)系統(tǒng)的金融體系流動(dòng)性風(fēng)險(xiǎn)預(yù)警機(jī)制研究
基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞檢索
基于模型庫(kù)的現(xiàn)代成本會(huì)計(jì)計(jì)量系統(tǒng)研究
基于數(shù)據(jù)字典的空間數(shù)據(jù)庫(kù)通用建庫(kù)技術(shù)