亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        海量三維空間數(shù)據(jù)可視化技術(shù)研究

        2021-01-20 08:43:44孟天杭
        關(guān)鍵詞:視景瓦片視點(diǎn)

        孟天杭

        (北京建筑大學(xué)測(cè)繪與城市空間信息學(xué)院,北京100000)

        1 概述

        隨著智慧城市的提出,對(duì)三維地理信息系統(tǒng)的需求有了迅速且實(shí)質(zhì)性的進(jìn)展。無(wú)人機(jī)、三維激光掃描儀技術(shù)的發(fā)展,三維空間數(shù)據(jù)獲取的時(shí)間周期與獲取成本大大縮減,由于獲取的數(shù)據(jù)更全面更精細(xì),伴隨而來(lái)的是數(shù)據(jù)量的增加帶來(lái)的一系列問(wèn)題,包括數(shù)據(jù)的管理、數(shù)據(jù)的篩選、數(shù)據(jù)的更新等眾多問(wèn)題[1]。

        隨著互聯(lián)網(wǎng)的不斷發(fā)展以及需求更加廣泛,三維GIS 可視化平臺(tái)WebGIS 應(yīng)運(yùn)而生,WebGIS 大大降低了系統(tǒng)的成本,用戶的操作也變得更簡(jiǎn)單與高效,這就進(jìn)一步促進(jìn)了WebGIS 技術(shù)的大眾化發(fā)展[2]。Cesium 是一種表達(dá)地理數(shù)據(jù)的三維WebGIS可視化平臺(tái)。它的優(yōu)點(diǎn)是具有多維的空間尺度和友好直觀的三維可視化效果,適合向不同專業(yè)程度的人群展示和分發(fā)地理數(shù)據(jù)。3D Tiles 是一個(gè)開放規(guī)范,可用于在臺(tái)式機(jī)、Web 程序和移動(dòng)應(yīng)用程序之間共享,可視化,可以包含多種類型的3D 地理空間內(nèi)容,比如傾斜攝影測(cè)量模型、BIM建筑模型、人工模型、點(diǎn)云、矢量數(shù)據(jù)等都可以轉(zhuǎn)化為三維瓦片,從而高效地進(jìn)行可視化、共享和互操作等難題[3]。

        2 場(chǎng)景裁剪

        2.1 要素可見性判斷

        Cesium 在進(jìn)行三維瓦片可視化過(guò)程中,它是通過(guò)相機(jī)來(lái)決定那些瓦片是當(dāng)前視點(diǎn)情況下是可見的,對(duì)于可見的瓦片則請(qǐng)求瓦片數(shù)據(jù),對(duì)于不可見的要素直接在此步驟剔除。

        在可視化過(guò)程中,因?yàn)樵谌S瓦片的索引文件中有每個(gè)瓦片的包圍體信息,我們?cè)诮馕鏊饕募臅r(shí)候計(jì)算了每個(gè)瓦片的包圍體信息,并用一個(gè)3dTile 類來(lái)管理。對(duì)于三維空間數(shù)據(jù)我們?cè)诶L制時(shí)通過(guò)AABB 包圍盒來(lái)近似其空間范圍,以此包圍體來(lái)與相機(jī)的視景體求交來(lái)分析視景體裁剪過(guò)程[4]。

        圖1 視景體裁剪示意圖

        如圖1 所示,視景體是由六個(gè)面組成的,分別用六個(gè)平面方程來(lái)表示,通過(guò)六個(gè)表面組成了在可視化場(chǎng)景的可視區(qū)域。 1代表進(jìn)裁剪平面、3 代表遠(yuǎn)裁剪平面,2 4 與視景體相交或部分相交,5 在視景體外面。瓦片的可見與不可見是通過(guò)瓦片的包圍盒與視景體求交來(lái)判斷的,Cesium 通過(guò)三個(gè)變量表示裁剪結(jié)果。MASK_INSIDE:表示瓦片在視景體里面、MASK_OUTSIDE:表示瓦片不在視景體里面、MASK_INDETERMINATE: 表示瓦片部分在視景體里面。

        圖2 可見性判斷流程圖

        如圖2 所示在進(jìn)行瓦片的可見性判斷時(shí):

        a.遍歷索引文件獲取每個(gè)瓦片的外包圍體信息、旋轉(zhuǎn)矩陣、幾何誤差、精化方式等信息。并將這些信息構(gòu)成Cesium3DTile類 , 包 含 transform、computedTransform、boundingVolume、viewerRequestVolume、geometricError 等信息。

        b.判斷當(dāng)前節(jié)點(diǎn)是否有父級(jí)旋轉(zhuǎn)矩陣parentTransform,如果有父級(jí)就用父級(jí)旋轉(zhuǎn)矩陣,如果沒(méi)有就用索引文件中的旋轉(zhuǎn)矩陣。

        c.判斷是否有父級(jí)的parentVisibilityPlaneMask 信息,如果有就用父級(jí)的可見性平面,從而提高瓦片可見性判斷的速度,如果沒(méi)有則利用裁剪平面去計(jì)算此值。

        d.更新旋轉(zhuǎn)矩陣transform,用于包圍體邊界的計(jì)算。

        e. 計(jì)算相機(jī)到瓦片包圍盒最近的距離distanceToCamera 與相機(jī)到瓦片中心的距離centerZDepth,用來(lái)后面屏幕空間誤差的計(jì)算。

        f.計(jì)算屏幕空間誤差,并根據(jù)c 和e 計(jì)算的值進(jìn)行瓦片的可見性判斷過(guò)程。

        2.2 LOD 調(diào)度策略

        當(dāng)相機(jī)視點(diǎn)遠(yuǎn)離時(shí),對(duì)場(chǎng)景要素的精細(xì)程度要求較低,即所需數(shù)據(jù)的LOD 級(jí)別較低。當(dāng)相機(jī)視點(diǎn)拉進(jìn)時(shí),對(duì)場(chǎng)景要素的精細(xì)程度要求較高,所需數(shù)據(jù)的LOD 級(jí)別較高。如何去判斷當(dāng)前瓦片的細(xì)節(jié)層次是否滿足當(dāng)前視點(diǎn)下的要求,Cesium 使用像素誤差來(lái)決定瓦片的細(xì)節(jié)層次,也就是屏幕空間誤差SSE。

        式中SSE 表示計(jì)算得到的屏幕空間誤差;geometricError 表示瓦片的幾何誤差;height 是當(dāng)前畫布的像素高度;distance 表示相機(jī)到瓦片中心的距離;seeDenominator 表示2 倍的tan(fov/2)值[5]。

        圖3 LOD 調(diào)度流程圖

        如圖3 所示在LOD 級(jí)別跳躍過(guò)程中:

        a.判斷根節(jié)點(diǎn)是否滿足SSE 要求,如果根節(jié)點(diǎn)不滿足要求整個(gè)樹不會(huì)被渲染。

        b.判斷tileset 是否定義skipLevelOfDetail,如果沒(méi)有則執(zhí)行基礎(chǔ)遍歷,獲取基礎(chǔ)屏幕空間誤差與最大屏幕空間誤差,如果有則執(zhí)行跳躍遍歷。

        c.基礎(chǔ)遍歷是一個(gè)深度優(yōu)先遍歷過(guò)程,遍歷所有可見的瓦片并標(biāo)記。如果skipLevelOfDetail 處于禁用狀態(tài),則直到所有子瓦片都加載后,瓦片才會(huì)進(jìn)行refine 操作,這個(gè)是傳統(tǒng)的替換求精方法,稱為基遍歷。屏幕空間誤差大于基本屏幕空間誤差的瓦片進(jìn)行基本遍歷,所有其他瓦片都跳過(guò)遍歷。

        d.跳躍遍歷過(guò)程,遍歷樹并檢查其選定的幀是否為當(dāng)前幀,如果是將其添加到選擇文件中排隊(duì)。這是一個(gè)前序遍歷過(guò)程,因此子節(jié)點(diǎn)優(yōu)先于父節(jié)點(diǎn)被選中,這樣可以很容易地標(biāo)記出它們的選擇深度。

        e.遍歷完之后對(duì)滿足要求的文件請(qǐng)求文件、渲染解析。

        根據(jù)以上步驟判斷瓦片是否滿足當(dāng)前視點(diǎn)要求下的LOD渲染策略,如果滿足則進(jìn)行請(qǐng)求文件、解析渲染文件如果不滿足則用該節(jié)點(diǎn)的子節(jié)點(diǎn)去重新判斷是否滿足當(dāng)前視點(diǎn)要求的渲染策略,這樣實(shí)現(xiàn)了動(dòng)態(tài)去調(diào)度不同lod 級(jí)別的數(shù)據(jù)。

        3 海量三維瓦片調(diào)度

        3D Tiles 三維空間數(shù)據(jù)格式包含一個(gè)json 索引文件,索引文件中包含了每個(gè)瓦片的幾何誤差、包圍體信息、瓦片數(shù)據(jù)的引用路徑、父子節(jié)點(diǎn)關(guān)系等。索引文件包含了整個(gè)三維瓦片的所有節(jié)點(diǎn)信息,由這些節(jié)點(diǎn)構(gòu)成一個(gè)多叉樹。在Cesium 中通過(guò)Cesium3DTile 類管理,通過(guò)廣度優(yōu)先遍歷索引文件,形成節(jié)點(diǎn)樹用于后面的一系列操作[6]。三維瓦片的調(diào)度過(guò)程如圖4 所示。

        圖4 瓦片調(diào)度過(guò)程圖

        如圖4 所示,在三維可視化過(guò)程中對(duì)三維瓦片調(diào)度時(shí):

        a. 首先定義一個(gè)Cesium3DTileset 類來(lái)管理三維瓦片數(shù)據(jù)。包括了索引文件的解析、節(jié)點(diǎn)樹的構(gòu)建等。

        b.解析三維瓦片數(shù)據(jù)的索引文件,通過(guò)廣度優(yōu)先的方式遍歷整個(gè)索引文件,從而得到三維瓦片數(shù)據(jù)的樹狀結(jié)構(gòu)。其中樹狀結(jié)構(gòu)每個(gè)節(jié)點(diǎn)包含了一個(gè)瓦片的幾何誤差、包圍體信息、旋轉(zhuǎn)矩陣、子節(jié)點(diǎn)等信息,具體含義如下:

        1 子節(jié)點(diǎn)屬性:表示當(dāng)前瓦片的所有子瓦片。

        2 旋轉(zhuǎn)矩陣:表示當(dāng)前瓦片的旋轉(zhuǎn)矩陣,旋轉(zhuǎn)矩陣是具有級(jí)聯(lián)關(guān)系的,當(dāng)前瓦片的位置是由其父節(jié)點(diǎn)的旋轉(zhuǎn)矩陣乘以當(dāng)前節(jié)點(diǎn)的旋轉(zhuǎn)矩陣計(jì)算得來(lái)的。

        3 包圍體屬性:表示當(dāng)前瓦片所包含的三維空間數(shù)據(jù)大的包圍體信息,有三種表示方法:地理范圍、AABB 包圍盒、包圍球三種方式。

        4 幾何誤差屬性:表示瓦片所包含三維空間數(shù)據(jù)的分辨率信息。用來(lái)計(jì)算瓦片的空間屏幕誤差,即瓦片的LOD 級(jí)別,便于在三維可視化時(shí)進(jìn)行判斷。

        c.根據(jù)相機(jī)的視點(diǎn)和視景體對(duì)樹結(jié)構(gòu)的根節(jié)點(diǎn)進(jìn)行裁剪測(cè)試,如果根節(jié)點(diǎn)對(duì)象可見或者部分可見,根據(jù)屏幕空間誤差因子判斷多細(xì)節(jié)層次是否滿足當(dāng)前視點(diǎn)下的要求,如果滿足則進(jìn)行d,如果不滿足則對(duì)子節(jié)點(diǎn)進(jìn)行c,如果當(dāng)前節(jié)點(diǎn)對(duì)象不可見則直接剔除。

        d.對(duì)通過(guò)瓦片的可見性判斷并且滿足當(dāng)前視點(diǎn)下的允許的最大屏幕空間誤差條件,請(qǐng)求三維瓦片數(shù)據(jù),通過(guò)requestTiles、requestContent、updateTiles 等操作請(qǐng)求瓦片數(shù)據(jù),并根據(jù)瓦片的具體格式采用不同的解析方法來(lái)進(jìn)行解析渲染工作。若該瓦片請(qǐng)求成功則將該瓦片的contentUnloaded 屬性設(shè)置為false,避免重復(fù)請(qǐng)求。

        e.瓦片更新是根據(jù)索引文件中的refine 屬性來(lái)進(jìn)行瓦片的更新替換過(guò)程。它有兩種方式add 和replace。add 就是把請(qǐng)求完成的節(jié)點(diǎn)對(duì)象解析渲染加入到當(dāng)前場(chǎng)景中。replace 是當(dāng)前的節(jié)點(diǎn)對(duì)象的多細(xì)節(jié)層次不能滿足要求,則用其滿足要求的子孫節(jié)點(diǎn)瓦片進(jìn)行替換。

        4 平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

        此平臺(tái)以B/S 模式的三維WebGIS 框架為基礎(chǔ),結(jié)合WebGL 圖形硬件加速渲染技術(shù),依托Cesium 平臺(tái),設(shè)計(jì)和實(shí)現(xiàn)基于Cesium 的三維虛擬地球可視化系統(tǒng)。系統(tǒng)采用前后端分離的方式進(jìn)行開發(fā),前端采用Vue 框架進(jìn)行模塊化設(shè)計(jì)、后端采用Nodejs 框架進(jìn)行數(shù)據(jù)的發(fā)布以及整個(gè)平臺(tái)的發(fā)布、數(shù)據(jù)庫(kù)采用MySql 來(lái)存儲(chǔ)三維地理要素的屬性信息,如圖5 所示。系統(tǒng)集成了三維場(chǎng)景繪制、三維漫游、三維測(cè)量、屬性信息查詢等功能。

        圖5 系統(tǒng)總體架構(gòu)圖

        5 結(jié)論

        本文基于WebGL 渲染管線,通過(guò)視場(chǎng)裁剪算法、LOD 調(diào)度策略優(yōu)化,解決Cesium 場(chǎng)景中要素可見性判斷問(wèn)題,通過(guò)剔除場(chǎng)景中不可見要素,降低Cesium 的渲染工作量,減輕瀏覽器的工作負(fù)擔(dān)。在此基礎(chǔ)上,結(jié)合三維瓦片的數(shù)據(jù)結(jié)構(gòu)利用多叉樹的數(shù)據(jù)調(diào)度算法,解決海量數(shù)據(jù)的按需傳輸加載問(wèn)題,實(shí)現(xiàn)快速移動(dòng)的場(chǎng)景中三維空間數(shù)據(jù)的流暢渲染。采用前后端技術(shù)并結(jié)合MySQL 數(shù)據(jù)庫(kù),形成了一套可進(jìn)行查詢、分析、管理等的三維WebGIS 平臺(tái)。

        猜你喜歡
        視景瓦片視點(diǎn)
        一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
        慣性
        vega及其在戰(zhàn)場(chǎng)環(huán)境視景仿真系統(tǒng)中的應(yīng)用
        視點(diǎn)
        河南電力(2016年5期)2016-02-06 02:11:24
        讓你每天一元錢,物超所值——《今日視點(diǎn)—2014精萃》序
        新聞前哨(2015年2期)2015-03-11 19:29:22
        兩會(huì)視點(diǎn)
        全回轉(zhuǎn)拖輪運(yùn)動(dòng)建模與視景仿真
        基于Vortex與Vega Prime的車輛模擬器動(dòng)力學(xué)與視景仿真
        基于NoSQL數(shù)據(jù)庫(kù)的瓦片地圖服務(wù)
        基于STK的衛(wèi)星實(shí)時(shí)視景仿真系統(tǒng)設(shè)計(jì)
        少妇伦子伦情品无吗| 国产激情视频在线观看你懂的| 日本一区二区三区综合视频| 亚洲国产精品久久久久秋霞小说| 成人性做爰aaa片免费看| 91精品啪在线观看国产色| 成人性生交大片免费看激情玛丽莎| 亚洲 欧美 偷自乱 图片| 免费a级毛片永久免费| 亚洲大片免费| 日本精品少妇一区二区| 欧美日韩精品乱国产| 久久久久久久性潮| 精品无码国产一二三区麻豆| 三级日本理论在线观看| 尤物在线精品视频| 在线天堂中文字幕| 青青草视频在线你懂的| 水蜜桃在线观看一区二区| 精品人妻va出轨中文字幕| 日日爽日日操| 日韩精品一区二区亚洲观看av | 亚洲人成77777在线播放网站 | 国产精品高清视亚洲乱码有限公司 | 手机在线免费av资源网| 国产精品亚洲一区二区在线观看 | 亚洲欧美日本人成在线观看| 日本a爱视频二区三区| av 日韩 人妻 黑人 综合 无码| 日韩免费一区二区三区在线| 日本岛国视频在线观看一区二区 | 狼人香蕉香蕉在线28 - 百度| 国产欧美日韩综合一区二区三区| 中文无字幕一本码专区| 国产激情无码视频在线播放性色| 在线永久看片免费的视频| 日本精品国产1区2区3区| 婷婷色婷婷开心五月四| 国产在线不卡一区二区三区| 亚洲欧美成人久久综合中文网| 亚洲av毛片在线免费观看|