尤良 魯鐵定
(東華理工大學(xué) 測(cè)繪工程學(xué)院 江西南昌 330013)
隨著人類科技的快速發(fā)展,以及城市面貌的日新月異,打造“數(shù)字城市”和“智慧城市”成為了當(dāng)下城市發(fā)展的重要一環(huán)。美國(guó)副總統(tǒng)戈?duì)栍?998年首次提出了“數(shù)字地球”的概念。之后,中國(guó)國(guó)內(nèi)地學(xué)界的學(xué)者專家意識(shí)到,“數(shù)字地球”戰(zhàn)略將是推動(dòng)我國(guó)信息化建設(shè)和社會(huì)經(jīng)濟(jì)、資源環(huán)境可持續(xù)發(fā)展的重要武器。在2009年,IBM的CEO彭盛明進(jìn)一步提出了“智慧城市”的概念[1]。建設(shè)數(shù)字城市的相關(guān)理論與關(guān)鍵技術(shù)在人們的不斷探索中逐漸成熟,近些年來已經(jīng)逐步運(yùn)用到了實(shí)際建設(shè)中。城市規(guī)模隨著社會(huì)的發(fā)展在不斷擴(kuò)大,城市環(huán)境的復(fù)雜程度也隨之不斷上升,而二維平面城市地圖顯然已不能滿足普通用戶和專業(yè)人士的需求。例如傳統(tǒng)平面二維的形式確實(shí)部分還原了城市樣貌,但二維城市的規(guī)劃設(shè)計(jì)終究無法完整、真實(shí)地反映城市空間的實(shí)際情況,缺乏對(duì)城市建設(shè)的指導(dǎo)意義[2]。相比于傳統(tǒng)的二維圖紙,三維數(shù)字城市平臺(tái)的特點(diǎn)在于臨境性、交互性、想象性,更能使人沉浸到虛擬環(huán)境中去,實(shí)現(xiàn)交互操作[3]。三維信息數(shù)據(jù)支撐的信息服務(wù)平臺(tái)搭建了一個(gè)與真實(shí)環(huán)境相差無幾的城市模型,并通過真實(shí)的三維城市模型幫助使用者全面、迅捷和直觀地了解城市的空間信息,使城市規(guī)劃、建設(shè)、管理和服務(wù)更加便利。
對(duì)此,本文研究設(shè)計(jì)了一個(gè)基于OSG的三維城市空間信息服務(wù)平臺(tái),利用OSG平臺(tái)在三維GIS開發(fā)方面的優(yōu)勢(shì),并以輔助城市規(guī)劃等專業(yè)人士為設(shè)計(jì)核心,充分與三維場(chǎng)景進(jìn)行交互,可進(jìn)行多種空間分析操作,操作結(jié)果可供用戶進(jìn)行判斷分析。在該平臺(tái)加載仿真城市模型后,可以全方位觀察城市整體樣貌。平臺(tái)具有量算分析、視域分析、日照分析、場(chǎng)景漫游等功能,以更直觀、更科學(xué)、更準(zhǔn)確經(jīng)濟(jì)的方式輔助城市規(guī)劃的工作,這對(duì)于促進(jìn)城市合理規(guī)劃,實(shí)現(xiàn)城市的可持續(xù)性發(fā)展具有重要意義[4]。
三維城市空間信息服務(wù)平臺(tái)的主旨是通過三維技術(shù),將一座真實(shí)的城市在平臺(tái)上模擬再現(xiàn)出來,并保證用戶在使用平臺(tái)的過程中操作流暢,畫面幀數(shù)平穩(wěn)。其設(shè)計(jì)目標(biāo)如下:
(1)該平臺(tái)的操作界面應(yīng)簡(jiǎn)單明了,既要突出展現(xiàn)三維城市的部分,也要保證用戶初次使用時(shí)易于上手。
(2)能快速加載模型數(shù)據(jù)。
(3)開發(fā)的與三維地圖的交互功能具有實(shí)用性。
(4)具有可擴(kuò)展性,以便后續(xù)的二次開發(fā)。
該平臺(tái)為實(shí)現(xiàn)高效的管理三維場(chǎng)景圖形,使用的是OSG的包圍體層次?!鞍鼑w”是指在一個(gè)簡(jiǎn)單的空間形體中,封裝了一些需要渲染的物體,從而提高運(yùn)行效率。而使用OSG包圍體層次管理的三維場(chǎng)景圖形,通常采用一種自上向下的、分層的樹狀數(shù)據(jù)結(jié)構(gòu)來組織空間數(shù)據(jù)集,稱之為場(chǎng)景樹[5]。OSG場(chǎng)景樹主要包含三大基本類節(jié)點(diǎn),即Node、Geode(葉節(jié)點(diǎn))和Group(組節(jié)點(diǎn))。OSG大部分節(jié)點(diǎn)都繼承自Group節(jié)點(diǎn),少部分繼承自Node節(jié)點(diǎn)及Geode節(jié)點(diǎn),但Geode和Group均繼承自Node節(jié)點(diǎn)。根節(jié)點(diǎn)與組節(jié)點(diǎn)構(gòu)建了場(chǎng)景樹的層次,也包含了幾何信息和用于控制其外觀的渲染狀態(tài)信息。各個(gè)葉節(jié)點(diǎn)包含了構(gòu)成場(chǎng)景中物體的實(shí)際幾何信息[6]。OSG節(jié)點(diǎn)的繼承關(guān)系圖如圖1所示。
圖1 節(jié)點(diǎn)繼承關(guān)系圖
構(gòu)建三維城市空間信息服務(wù)平臺(tái)是一個(gè)復(fù)雜的系統(tǒng)工程,為了滿足研發(fā)和應(yīng)用管理的需求,系統(tǒng)采用層次結(jié)構(gòu)進(jìn)行模塊設(shè)計(jì)和接口管理,將系統(tǒng)劃分為數(shù)據(jù)層、驅(qū)動(dòng)層、應(yīng)用層三個(gè)層次進(jìn)行項(xiàng)目推進(jìn)和對(duì)接,既保證了各模塊間的的內(nèi)部聯(lián)系,又保證系統(tǒng)的靈活性和控制性。其架構(gòu)如圖2所示。
圖2 架構(gòu)設(shè)計(jì)圖
(1)數(shù)據(jù)層。數(shù)據(jù)層包括三維城市空間信息服務(wù)平臺(tái)所需的所有數(shù)據(jù)類型及其存儲(chǔ)方式,是服務(wù)層與應(yīng)用層的數(shù)據(jù)基礎(chǔ)。
(2)驅(qū)動(dòng)層。平臺(tái)采用SQL Server數(shù)據(jù)庫(kù)軟件,用以存儲(chǔ)和管理各種數(shù)據(jù)。圖形引擎方面使用OSG對(duì)三維圖形進(jìn)行渲染和顯示,為用戶提供一個(gè)真實(shí)、立體、交互式的虛擬仿真城市。隨著OSG的模塊和第三方附加庫(kù)不斷完善,OSG可高性能處理海量地理數(shù)據(jù)、多線程渲染場(chǎng)景圖形。
(3)應(yīng)用層。加載出三維場(chǎng)景圖形后,用戶可在平臺(tái)上對(duì)其進(jìn)行自由視角瀏覽、場(chǎng)景漫游、空間量算、視域分析等操作。
OSG使用已成為工業(yè)標(biāo)準(zhǔn)的OpenGL底層渲染API,并封裝了一系列功能模塊,主要應(yīng)用在三維圖形系統(tǒng)的開發(fā),并提供場(chǎng)景的組織及渲染的功能[7]。OSG可實(shí)時(shí)高效地繪制和控制由各種建模軟件建立的3D模型,并且具有操作與統(tǒng)計(jì)模型的功能。除了可以繪制場(chǎng)景中的物體外,OSG還有強(qiáng)大的粒子系統(tǒng)、陰影以及紋理材質(zhì)等支持一遍在程序中更逼真地展示物體。隨著越來越多人投入到OSG的開發(fā),OSG已在視覺仿真、電腦游戲、虛擬現(xiàn)實(shí)、科學(xué)可視化以及三維建模等諸多高性能圖形應(yīng)用領(lǐng)域得到廣泛應(yīng)用。
3.2.1 三維模型數(shù)據(jù)結(jié)構(gòu)
平臺(tái)加載的城市建筑物模型的數(shù)量巨大,而且建筑物模型一般比較復(fù)雜,包含很多頂點(diǎn)數(shù)據(jù),繪制時(shí)有較多的三角網(wǎng)數(shù)量。所以需要將數(shù)據(jù)分塊組織,模型數(shù)據(jù)分塊之后形成瓦片數(shù)據(jù),并組成瓦片金字塔結(jié)構(gòu)。在金字塔結(jié)構(gòu)中,每一層對(duì)應(yīng)相關(guān)的比例尺的數(shù)據(jù)集,金字塔頂端對(duì)應(yīng)的比例尺最小,最末端對(duì)應(yīng)的比例尺最大[8]。瓦片數(shù)據(jù)主要是對(duì)該瓦片的基本信息以及瓦片中模型數(shù)據(jù)等的地理信息進(jìn)行記錄,主要包括瓦片的寬度、數(shù)據(jù)使用的坐標(biāo)系統(tǒng)、比例尺、瓦片圖層信息等。當(dāng)用戶加載城市模型時(shí),平臺(tái)會(huì)根據(jù)視點(diǎn)內(nèi)建筑物模型數(shù)據(jù)覆蓋的范圍,返回對(duì)應(yīng)的瓦片數(shù)據(jù)??纱蟠鬁p少系統(tǒng)響應(yīng)時(shí)間,提升平臺(tái)的流暢度。
3.2.2 三維模型可視化方法
在本文研究設(shè)計(jì)的平臺(tái)中,基于OSG的三維模型可視化方法有以下幾點(diǎn):
(1)LOD技術(shù)。LOD簡(jiǎn)單來說,就是物體的表現(xiàn)形式分為簡(jiǎn)單與詳細(xì),若以簡(jiǎn)單形式來表達(dá)物體,可以使渲染圖形的過程效率提高。當(dāng)瀏覽視角接近觀察物體時(shí),該物體用詳細(xì)的細(xì)節(jié)表達(dá);當(dāng)瀏覽視角遠(yuǎn)離觀察物體時(shí),該物體使用簡(jiǎn)化模型表達(dá)。因?yàn)榫嚯x產(chǎn)生的視覺效果,簡(jiǎn)化后的物體模型與詳細(xì)展示的物體模型基本一致,如此一來,可以獲得比較理想的渲染加速效果,從而提高幀率。
(2)分頁(yè)細(xì)節(jié)層次節(jié)點(diǎn)??捎糜趯?shí)現(xiàn)動(dòng)態(tài)分頁(yè)加載,根據(jù)視點(diǎn)來加載所需要的數(shù)據(jù)。三維城市的信息數(shù)據(jù)是龐大的,但通過分頁(yè)細(xì)節(jié)層次節(jié)點(diǎn),可以把模型進(jìn)行預(yù)處理,在渲染場(chǎng)景時(shí),再根據(jù)需要來實(shí)時(shí)加載需要的數(shù)據(jù),同時(shí)卸載無用的數(shù)據(jù)。
操作系統(tǒng):Microsoft Windows 10
系統(tǒng)類型:64位操作系統(tǒng)
開發(fā)平臺(tái):Microsoft Visual Studio 2015+OSG開發(fā)語(yǔ)言:C++
圖3 數(shù)據(jù)來源
模型數(shù)據(jù):模型數(shù)據(jù)主要包括建筑物、公共設(shè)施等城市中的常見物體。
量算功能作為平臺(tái)的基礎(chǔ)功能,可以實(shí)現(xiàn)測(cè)量三維場(chǎng)景中地物的高度與面積。點(diǎn)擊三維場(chǎng)景中的任意一點(diǎn)作為起始點(diǎn),移動(dòng)鼠標(biāo)向上移動(dòng),兩點(diǎn)高度會(huì)隨之實(shí)時(shí)顯示,再次點(diǎn)擊確認(rèn)最終高度。高度量算結(jié)果如圖4所示。面積量算功能可以實(shí)現(xiàn)在三維場(chǎng)景中自定義多邊形,并計(jì)算其所圍成的區(qū)域面積。高度量算結(jié)果如圖5所示。
圖4 高度量算
圖5 面積量算
為了加強(qiáng)用戶對(duì)三維城市模型的真實(shí)感體驗(yàn),場(chǎng)景漫游功能使用戶可以第一人稱步行的效果瀏覽城市模型。步行方式是沿著用戶自定義選擇的多個(gè)點(diǎn)所生成的路徑進(jìn)行飛行漫游,并且可調(diào)節(jié)飛行高度與速度,且具有飛行路徑錄制和回調(diào)功能。
在三維場(chǎng)景中選取任意點(diǎn),系統(tǒng)會(huì)將各點(diǎn)關(guān)聯(lián),并進(jìn)行插值,最終形成一條瀏覽路徑,屏幕視點(diǎn)會(huì)隨著該路徑移動(dòng),營(yíng)造行走在城市中的觀感。場(chǎng)景漫游效果如圖6所示。
圖6 場(chǎng)景漫游
空間通視作為城市規(guī)劃中經(jīng)常需要解決的問題,對(duì)城市整體的景觀布局起到了關(guān)鍵作用。常見的視域分析分為兩種情況,一是判定任意選取的兩點(diǎn)之間的可見性,二是判定空間任意一點(diǎn)的可視范圍??梢晠^(qū)域顯示為綠色,不可視區(qū)域顯示為紅色。效果如圖7、圖8所示。
視域分析是城市整體規(guī)劃中的重要一環(huán),充分運(yùn)用該平臺(tái)的視域分析功能,可在三維場(chǎng)景下,以模擬現(xiàn)實(shí)的方式進(jìn)行任意視點(diǎn)的可見性判定與最佳可視范圍,并根據(jù)判定過程中顯示的經(jīng)緯度與高度等空間屬性,可以幫助用戶在規(guī)劃設(shè)計(jì)中得到最佳方案。
圖7 可見性判定
圖8 可視域分析
現(xiàn)代城市多為高樓林立,且密集度高,可能導(dǎo)致人們的采光權(quán)被侵害,所以,在初期建設(shè)規(guī)劃中,采用平臺(tái)的日照分析功能可以分析得出建筑物之間的最佳距離,保障人們享受到充足的日照。日照分析功能可以模擬出在晝間的不同時(shí)段,任意被選中的建筑物所受的日照影響所產(chǎn)生的陰影,并可以清晰地判斷周圍建筑物在該時(shí)段采光被影響的情況。
日照分析效果如圖9所示,框選出所需要的建筑,可以變換時(shí)間點(diǎn)觀察選中建筑物所受日照產(chǎn)生的光影,以及判別在該時(shí)段下是否影響了周圍建筑物。
圖9 日照分析
OSG作為一個(gè)免費(fèi)開源、高性能的三維渲染引擎,并且支持眾多第三方工具軟件,不僅降低了三維城市空間信息服務(wù)平臺(tái)的開發(fā)成本,還使平臺(tái)具有良好的擴(kuò)展性。本文設(shè)計(jì)開發(fā)的三維城市空間信息服務(wù)平臺(tái),著重展現(xiàn)了三維城市的立體與互動(dòng)的真實(shí)性,突破了二維信息數(shù)據(jù)下的傳統(tǒng)服務(wù)平臺(tái)所帶來的局限性。為普通用戶帶來更流暢、更真實(shí)的城市地圖服務(wù),也為城市規(guī)劃者提供更準(zhǔn)確的地形地貌信息。在互聯(lián)網(wǎng)發(fā)達(dá)的今天,建設(shè)數(shù)字城市是城市發(fā)展的關(guān)鍵,而開發(fā)一個(gè)功能強(qiáng)大、環(huán)境真實(shí)、易于操作的三維城市信息服務(wù)平臺(tái)是必不可少的一環(huán)。