• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      孟天杭

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

      1 概述

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

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

      2 場景裁剪

      2.1 要素可見性判斷

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

      在可視化過程中,因為在三維瓦片的索引文件中有每個瓦片的包圍體信息,我們在解析索引文件的時候計算了每個瓦片的包圍體信息,并用一個3dTile 類來管理。對于三維空間數(shù)據(jù)我們在繪制時通過AABB 包圍盒來近似其空間范圍,以此包圍體來與相機的視景體求交來分析視景體裁剪過程[4]。

      圖1 視景體裁剪示意圖

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

      圖2 可見性判斷流程圖

      如圖2 所示在進行瓦片的可見性判斷時:

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

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

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

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

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

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

      2.2 LOD 調(diào)度策略

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

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

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

      如圖3 所示在LOD 級別跳躍過程中:

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

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

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

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

      e.遍歷完之后對滿足要求的文件請求文件、渲染解析。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      4 平臺設(shè)計與實現(xiàn)

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

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

      5 結(jié)論

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

      猜你喜歡
      視景瓦片視點
      一種基于主題時空價值的服務(wù)器端瓦片緩存算法
      慣性
      揚子江(2019年1期)2019-03-08 02:52:34
      vega及其在戰(zhàn)場環(huán)境視景仿真系統(tǒng)中的應(yīng)用
      電子測試(2018年4期)2018-05-09 07:28:19
      視點
      河南電力(2016年5期)2016-02-06 02:11:24
      讓你每天一元錢,物超所值——《今日視點—2014精萃》序
      新聞前哨(2015年2期)2015-03-11 19:29:22
      兩會視點
      中國水利(2015年5期)2015-02-28 15:12:40
      全回轉(zhuǎn)拖輪運動建模與視景仿真
      基于Vortex與Vega Prime的車輛模擬器動力學(xué)與視景仿真
      基于NoSQL數(shù)據(jù)庫的瓦片地圖服務(wù)
      基于STK的衛(wèi)星實時視景仿真系統(tǒng)設(shè)計
      上杭县| 太保市| 乐安县| 读书| 会宁县| 绿春县| 五大连池市| 集贤县| 广宁县| 封丘县| 长武县| 金湖县| 自贡市| 安塞县| 通州区| 惠安县| 合川市| 河西区| 长泰县| 神农架林区| 丽江市| 固安县| 中阳县| 辉南县| 巴彦县| 全椒县| 五莲县| 广饶县| 金溪县| 武山县| 七台河市| 南康市| 舒城县| 长葛市| 浦城县| 常宁市| 大姚县| 远安县| 钦州市| 额尔古纳市| SHOW|