吳清勇 馮成武
摘 ? 要:三維城市模型(3D City Models,3DCM) 作為城市的三維逼真描述,為城市建設(shè)和規(guī)劃等相關(guān)領(lǐng)域提供了具有真實(shí)表現(xiàn)力的應(yīng)用模型。本文針對(duì)關(guān)系數(shù)據(jù)庫(kù)管理三維建模數(shù)據(jù)的一些問(wèn)題,通過(guò)設(shè)計(jì)非關(guān)系MongoDB數(shù)據(jù)庫(kù)系統(tǒng),實(shí)現(xiàn)對(duì)紋理、模型數(shù)據(jù)的快速更新,并支持各類建模數(shù)據(jù)的快速出入庫(kù)、快速更新、快速檢索,并通過(guò)實(shí)驗(yàn)支持本文數(shù)據(jù)庫(kù)系統(tǒng)的可用性。
關(guān)鍵詞:城市 ?三維建模 ?數(shù)據(jù)庫(kù) ?檢索
中圖分類號(hào):P208 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2020)04(c)-0011-02
城市三維建模是我國(guó)數(shù)字城市建設(shè)的重要內(nèi)容。城市建筑物繁多、地形復(fù)雜,現(xiàn)有數(shù)據(jù)管理方式普遍存在外業(yè)數(shù)據(jù)管理難度大,數(shù)據(jù)冗余等問(wèn)題。同時(shí)因數(shù)據(jù)格式各異,難以采用統(tǒng)一管理方式,大量建模數(shù)據(jù)一般以文件形式獨(dú)立保存或簡(jiǎn)單利用關(guān)系數(shù)據(jù)庫(kù)保存,缺乏海量三維數(shù)據(jù)管理的支持,數(shù)據(jù)的整理、查詢等占用大量時(shí)間。
本文針對(duì)當(dāng)前三維建模數(shù)據(jù)管理的一些問(wèn)題,設(shè)計(jì)基于模型庫(kù)、紋理庫(kù)的三維建模數(shù)據(jù)庫(kù)建庫(kù)方案,并對(duì)建庫(kù)方案進(jìn)行實(shí)現(xiàn)。
1 ?三維建模數(shù)據(jù)庫(kù)現(xiàn)狀
關(guān)系型數(shù)據(jù)庫(kù)采用表結(jié)構(gòu)組織數(shù)據(jù),對(duì)海量數(shù)據(jù)管理的數(shù)據(jù)庫(kù)結(jié)構(gòu)復(fù)雜,應(yīng)用效率低,為簡(jiǎn)化數(shù)據(jù)讀取流程,提供統(tǒng)一便捷的數(shù)據(jù)源,有必要采用合適數(shù)據(jù)管理方式對(duì)數(shù)據(jù)集成,以便建模人員建模。非關(guān)系數(shù)據(jù)庫(kù)MongoDB和關(guān)系型數(shù)據(jù)庫(kù)有本質(zhì)區(qū)別,MongoDB以BSON格式組織數(shù)據(jù),BSON格式類似于JSON格式,不存在關(guān)系數(shù)據(jù)庫(kù)表結(jié)構(gòu)的限制,可方便存儲(chǔ)數(shù)據(jù)本身,且效率很高。
2 ?三維建模建庫(kù)方案設(shè)計(jì)
2.1 數(shù)據(jù)庫(kù)總體設(shè)計(jì)
三維建模數(shù)據(jù)庫(kù)系統(tǒng)包括源數(shù)據(jù)庫(kù)、紋理庫(kù)、模型庫(kù)以及系統(tǒng)軟硬件支撐環(huán)境組成。
數(shù)據(jù)庫(kù)體系如圖1所示。如圖1,源數(shù)據(jù)庫(kù)是系統(tǒng)的主數(shù)據(jù)庫(kù),紋理庫(kù)和模型庫(kù)是相對(duì)固定的庫(kù),紋理數(shù)據(jù)庫(kù)是對(duì)紋理數(shù)據(jù)分門(mén)別類的保存,模型數(shù)據(jù)庫(kù)存放常見(jiàn)模型,當(dāng)源數(shù)據(jù)用到相關(guān)的紋理、模型時(shí),可從紋理庫(kù)、模型庫(kù)直接獲取,反之當(dāng)有新紋理、模型時(shí)可導(dǎo)入紋理庫(kù)、模型庫(kù)。
2.2 數(shù)據(jù)存儲(chǔ)方式及格式設(shè)計(jì)
2.2.1 紋理數(shù)據(jù)編碼格式
三維建模紋理數(shù)據(jù)通常以類別存放,是紋理數(shù)據(jù)的庫(kù)外部存放方式。紋理數(shù)據(jù)庫(kù)主要由紋理數(shù)據(jù)庫(kù)名、紋理類型、紋理順序號(hào)等表列組成。紋理庫(kù)按照紋理編碼結(jié)構(gòu)存放紋理,且支持紋理更新、調(diào)用。更新時(shí)根據(jù)紋理的類型,結(jié)合已有的順序號(hào)順次自動(dòng)賦予新順序號(hào),順序號(hào)作為紋理在紋理庫(kù)的唯一標(biāo)識(shí),支持通過(guò)順序號(hào)找到該文件來(lái)應(yīng)用。
2.2.2 模型數(shù)據(jù)編碼格式
模型與紋理是匹配的,三維建模實(shí)質(zhì)也是紋理映射到模型的過(guò)程,因此模型庫(kù)的設(shè)計(jì)原理與紋理庫(kù)一致。模型數(shù)據(jù)庫(kù)由數(shù)據(jù)庫(kù)名、類型、順序號(hào)等表列組成。模型的組織方式與紋理類似,通過(guò)類型判定模型的歸屬,模型庫(kù)為模型分配唯一的模型順序號(hào),支持通過(guò)順序號(hào)檢索出模型來(lái)應(yīng)用。
2.2.3 源數(shù)據(jù)庫(kù)數(shù)據(jù)編碼格式
根據(jù)紋理庫(kù)與模型庫(kù)的特點(diǎn),源數(shù)據(jù)庫(kù)中文件是以工程來(lái)組織的,之所以選擇按工程管理數(shù)據(jù),是為了屬于同一工程的模型與紋理的準(zhǔn)確匹配,源數(shù)據(jù)庫(kù)可以從紋理庫(kù)、模型庫(kù)直接調(diào)用數(shù)據(jù),源數(shù)據(jù)庫(kù)中的數(shù)據(jù)也可以導(dǎo)入到紋理庫(kù)、模型庫(kù)中。
2.3 數(shù)據(jù)字典設(shè)計(jì)
紋理在紋理庫(kù)中按類型分門(mén)別類存放,紋理庫(kù)為每個(gè)類型分配唯一的編號(hào),當(dāng)需要使用某個(gè)紋理時(shí),可按照編號(hào)從紋理庫(kù)中檢索出來(lái)。模型數(shù)據(jù)結(jié)構(gòu)與紋理結(jié)構(gòu)設(shè)計(jì)原理類似。
2.4 數(shù)據(jù)集合與接口設(shè)計(jì)
數(shù)據(jù)集的設(shè)計(jì)考慮物體空間參考、平均大小及數(shù)量,此外還要結(jié)合當(dāng)前三維建模的操作流程及習(xí)慣,建立起對(duì)建模數(shù)據(jù),例如模型、紋理、DLG數(shù)據(jù)、DEM數(shù)據(jù)的工程化管理,如圖2。每個(gè)三維建模場(chǎng)景作為一個(gè)工程管理,每個(gè)工程都包含3類基本數(shù)據(jù)集合,即影像數(shù)據(jù)集、LiDAR點(diǎn)云數(shù)據(jù)集、矢量數(shù)據(jù)集。通過(guò)可視化數(shù)據(jù)庫(kù)系統(tǒng)管理數(shù)據(jù),并支持按列表視圖、樹(shù)狀視圖等顯示方式查看,查看信息包括文件名,文件類型,文件坐標(biāo),上傳時(shí)間等。建模數(shù)據(jù)的存儲(chǔ)、更新及各類檢索方式,以接口提供給外部系統(tǒng)調(diào)用。
3 ?三維建模數(shù)據(jù)庫(kù)實(shí)現(xiàn)
3.1 建模數(shù)據(jù)庫(kù)框架
數(shù)據(jù)庫(kù)系統(tǒng)總體框架如圖3所示。建模數(shù)據(jù)庫(kù)分為數(shù)據(jù)管理層、數(shù)據(jù)庫(kù)層、數(shù)據(jù)應(yīng)用層。數(shù)據(jù)入庫(kù)實(shí)現(xiàn)模型、紋理以封裝文件夾形式整體導(dǎo)入,模型包含若干個(gè)模型立面,紋理包含若干紋理面片。數(shù)據(jù)查詢實(shí)現(xiàn)屬性檢索與地理空間檢索兩種方式,屬性查詢?cè)试S用戶按屬性信息查找文件,地理空間查找允許用戶按地理坐標(biāo)(X,Y坐標(biāo))和查詢半徑建立緩沖圓查找文件。此外,本文通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)為每個(gè)數(shù)據(jù)自動(dòng)生成keyvalue鍵值對(duì)形式的索引,相比關(guān)系型數(shù)據(jù)庫(kù),可直接按key定位到數(shù)據(jù),檢索效率提升明顯。
3.2 檢索數(shù)據(jù)與模型關(guān)聯(lián)
建模數(shù)據(jù)庫(kù)系統(tǒng)支持查詢到的影像添加到指定的模型,實(shí)現(xiàn)檢索數(shù)據(jù)與模型的快速關(guān)聯(lián),對(duì)已有模型或新建模型快速更新。支持設(shè)定查詢距離和檢索影像個(gè)數(shù),對(duì)已有模型或新建模型實(shí)時(shí)更新,方便外業(yè)采集數(shù)據(jù)及時(shí)導(dǎo)入到相應(yīng)模型中,實(shí)現(xiàn)數(shù)據(jù)與模型關(guān)聯(lián)。
4 ?數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)
為驗(yàn)證數(shù)據(jù)庫(kù)系統(tǒng)的入庫(kù)效率,進(jìn)行如下數(shù)據(jù)出入庫(kù)測(cè)試,測(cè)試機(jī)器配置如下:(1)CPU:Intel(R)Core(TM)2Duo,2.66GHz;(2)內(nèi)存:16GB;(3)操作系統(tǒng):Windows7UltimateX64;(4)測(cè)試數(shù)據(jù)庫(kù):MongoDB2.6.3、MySql、SQLServer2008。實(shí)驗(yàn)數(shù)據(jù):若干平均大小為5M的街景系統(tǒng)文件,若干SWDC-5數(shù)字航空傾斜攝影儀拍攝影像,平均大小為160MB。不同數(shù)據(jù)庫(kù)導(dǎo)入平均大小為6MB的數(shù)據(jù)時(shí),隨著數(shù)據(jù)量增大,SqlServer變化較大,MongoDB和MySql比較平穩(wěn),用時(shí)較少,導(dǎo)出同樣數(shù)據(jù)時(shí),本文系統(tǒng)用時(shí)最小。當(dāng)導(dǎo)入相同數(shù)量不同大小的數(shù)據(jù)時(shí),本文設(shè)計(jì)的MongoDB數(shù)據(jù)庫(kù)系統(tǒng)耗時(shí)最少,導(dǎo)出數(shù)據(jù)時(shí)情況類似,本文數(shù)據(jù)庫(kù)系統(tǒng)耗時(shí)最少。
5 ?結(jié)語(yǔ)
本文針對(duì)關(guān)系數(shù)據(jù)庫(kù)管理三維建模數(shù)據(jù)的一些問(wèn)題,通過(guò)設(shè)計(jì)非關(guān)系MongoDB數(shù)據(jù)庫(kù)系統(tǒng),實(shí)現(xiàn)對(duì)紋理、模型數(shù)據(jù)的快速更新,并支持各類建模數(shù)據(jù)的快速出入庫(kù)、快速更新、快速檢索,并通過(guò)實(shí)驗(yàn)支持本文數(shù)據(jù)庫(kù)系統(tǒng)的可用性。
參考文獻(xiàn)
[1] 許嬌龍,李軍.基于City GML的三維城市模型實(shí)時(shí)可視化研究[J].系統(tǒng)仿真學(xué)報(bào),2012(6):25-32.
[2] 周松濤.基于關(guān)系數(shù)據(jù)庫(kù)的三維模型庫(kù)技術(shù)[J].測(cè)繪信息與工程,2005,30(6):30-31.
[3] 李成名,李華,趙占杰,等.CH/T 9016-2012三維地理信息模型數(shù)據(jù)生產(chǎn)規(guī)范[S].北京:測(cè)繪出版社,2013.