999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于海量存儲的三維地理信息系統應用與研究

2018-05-25 08:50:52娟,張
計算機技術與發展 2018年5期
關鍵詞:模型

宋 娟,張 宏

(哈爾濱理工大學 計算機科學與技術學院,黑龍江 哈爾濱 150080)

0 引 言

近年來,GIS軟件的3D功能不斷加強。國外3DGIS軟件典型代表包括ESRI公司的ArcView的3D Analyst和GEONOVA公司的DILAS。前者支持多維矢量轉換和全球多分辨率數據的3D無縫可視化,后者支持LOD的3D建模、關系數據庫存儲與管理。由于顯存和系統內存容量有限,實際應用中大規模地形數據采取最近最少利用(least recent use,LRU)原則的分頁方式。針對大規模地形與紋理數據動態可視化的瓶頸,文中提出了多重紋理映射的大規模地形繪制方法,實現了規則網格區域分割的分層(LOD)分塊和四隊列分頁數據庫調度、基于視域的LRU算法內存釋放、多線程并行處理的場景優化策略。

1 四叉樹結構的LOD瓦片組織算法

海量地形3D可視化,采用高精度的DEM作為基礎數據,往往能達到幾百萬個三角形面,渲染每一幀不可能一次性顯示,系統幀率無法達到實時渲染的要求。為解決大規模數據和系統顯示速率的瓶頸,對海量地形和紋理數據采用基于四叉樹結構的LOD簡化[1-3],使紋理映射高效集成到地形3D可視化中,遍歷簡單,減少選中地形子塊的時間。

1.1 四叉樹分層分塊的LOD算法

該系統預處理方法采用地形和紋理多分辨率建模,構建金字塔模型[4];按照四叉樹算法構建LOD地形和紋理樹[5];對紋理片與地形片進行有效壓縮;創建外存的金字塔模型數據庫。多分辨率金字塔用網格表示統一區域,相鄰層精度為1∶4。按正常的視覺現象,透視投影規律:視點距地面較遠時,繪制較少的三角形;較近時,繪制較多的三角形。采用四叉樹算法將原始地形劃分為多網格模型,再分別進行遞歸分割,直到最后一級分塊為最高分辨率。

1.1.1 分塊四叉樹

采用等間隔劃分方法對大規模數據金字塔模型進行分層分塊處理,根據由上而下的方法進行簡化。以地形圖為基礎,進一步進行規則格網劃分。例如一幅1∶2 000圖幅的大小為1 000×800,根據需要把部分單圖幅按2×2等分,即500×400,部分按照4×4等分,即250×200。以左上角為原點,四叉樹場景結構劃分如圖1所示。

圖1 四叉樹結構劃分

模型每節點有兩個LOD級別:本身所在的粗糙網格模型級別和四等分后的子塊級別。分層分塊策略,一次讀寫訪問一節點,且動態調度中只訪問需要的節點。很大程度上縮短了數據訪問時間又能表示多分辨率數據;與四叉樹結構相結合,具備了快速數據索引的功能。

四叉樹層與瓦片的層對應,節點編號是層號和網格坐標,拓撲關系如圖2所示。上下層父子關系、同一層鄰接關系。鄰接包括角鄰接、邊鄰接,上下層包括向上繼承、向下分解。

圖2 瓦片拓撲關系和網格坐標系

1.1.2 塊結構與LOD建模編程實現

采用hash map的數據結構,索引作為鍵,指針內容作為值。采用塊結構保存,如下:

struct Chunk

{

int chunkIndex;//塊索引

int swIndex,seIndex,neIndex,nwIndex;//4個子節點索引

int lod_level;//節點層

int xIndex,yIndex;//節點塊所在層的位置

int min_h,max_h;//塊的最小和最大高程

int mesh_pos;//三角網數據位置

}

利用遞歸思想實現四叉樹LOD模型建立的過程如下:

void UpdateQuadTr(int nXCenter,int nZCenter,int nSize,int lod_level,int xIndex,int yIndex)

{

……

//判斷地形子節點是否需要分割,若是,則執行以下代碼

m_bQuadMat [chunkIndex][nXCenter+ nZCenter* m_nMapSize]=true;

UpdateQuadTr(nXCenter-nSize/2,nZCenter-nSize/2,nSize/2,lod_level+1,xIndex,yIndex); //分割西南節點

UpdateQuadTr(nXCenter+nSize/2,nZCenter-nSize/2,nSize/2,lod_level+1,xIndex,yIndex); //分割東南節點

UpdateQuadTr(nXCenter+nSize/2,nZCenter+nSize/2,nSize/2,lod_level+1,xIndex,yIndex); //分割東北節點

UpdateQuadTr(nXCenter-nSize/2,nZCenter+nSize/2,nSize/2,lod_level+1,xIndex,yIndex); //分割西北節點

}

1.2 地形數據庫管理策略

在紋理疊加到地形的過程中,根據地形和紋理數據的大小,根據不同層不同塊分辨率大小及粗糙程度,對紋理和地形不斷進行LOD處理、計算并疊加。不同層由不同分辨率塊與紋理片組成。把同時打包紋理的地形塊保存為三維模型寫入磁盤,表示多段數據塊的組合體,以常用的“.ive”格式,把場景樹保存為二進制文件,按不同層次數據塊存儲。

每數據層有一特定的標識名。命名方式如下:

FILENAME=地名+數據類型+數據層+行文件夾+數據文件

地塊模型命名為name _root/subtile(數據類型)_L(層)_r(行號)_c(列號).ive,如beijing_subtile_L3_X0_Y1.ive。由于系統中每個文件夾容納的文件數量有限,通過對層做分級,可避免文件夾文件過多。分級后,在外存中,3D地形紋理庫存儲管理圖如圖3所示。

圖3 地形紋理數據庫存儲管理圖

構建3D地形庫,有效組織特定區域相關的數據[6]。通過地理坐標關聯視域范圍的數據,統一分配空間位置索引,快速調度3D庫中的地形紋理數據,提高紋理地形節點的訪問效率和場景裁剪效率,達到整個大規模地形的無縫渲染漫游。

2 動態調度策略算法

2.1 動態調度內存釋放方法

三維場景實時瀏覽時,根據視點的位置,計算視域內塊的索引,根據空間索引快速計算與上一步建立的四叉樹各塊中心點的距離,并根據事先指定的空間閾值判斷是否需要加載或卸載數據,并根據視點的變化,不斷調整內存中模型的細節層次(LOD)級別。

2.1.1 基于視域的LRU算法

LRU頁面置換算法在管理內存時移出短時間內不用的數據塊,提高了空間利用率。采取虛擬頁存儲管理,將所需空間劃分為多個頁面,內存中存放當前所需頁面,其余頁面放入外存。基于視點的加載過程如圖4所示。

圖4 基于視點的數據加載卸載

文中在LRU算法[7]的基礎上,采用基于可視范圍的數據內存釋放算法,內存達到上限時,計算下一幀視域外的地形塊,根據優先級高低將地形數據從內存緩沖區卸載。

2.1.2 動態調度實現

大規模地形3D場景瀏覽,有效采用數據庫分頁技術。分頁調度劃分空間頁面,頁面為地形基本調度單位,場景瀏覽時動態加載。整個地形按照四叉樹構建原則進行劃分,自頂而下、逐級建立各級R+樹空間索引。空間索引方法是為了加速場景遍歷,最大限度地縮短數據加載與卸載的響應時間。

根據LOD技術,利用視角高度與瓦片尺寸的比,判定當前顯示的瓦片是否需要進一步分解。為了利用GPU圖形處理能力,對每一地形瓦片,采用Chunlod網格(Mesh)模型算法,利用后臺線程加載網格數據,GPU對其進行批處理運算,調整地形幾何網格塊的LOD層。

地形動態調度和可視化流程如圖5所示。

圖5 地形數據動態調度和可視化流程

3D場景漫游中,計算和渲染視域內的網格數據[8-10],在很大程度上降低了運行時間復雜度,高效地實現了大規模地形數據的構建與繪制。

2.2 四隊列多線程調度機制

通過上述調度策略,基本實現了大規模地形3D場景的實時瀏覽與交互。為進一步提高場景渲染效率,采用緩存區四隊列機制、多線程加載、區域索引的場景裁切和紋理共享。

2.2.1 緩沖區機制

緩沖區包括內存和外存緩存。內存緩存中,已加載的數據直接用于場景繪制,實現高速緩存。外存緩存用于預存儲數據。高速緩存大小設有上限,控制瓦片數。內外存置換采用所述的LRU算法。漫游常在部分場景附近進行,剛渲染的數據不應立即卸載。當后臺線程需要獲得渲染數據時,先在緩沖區中查找,如未找到則在外存中繼續搜索。

2.2.2 四隊列調度

數據動態調度機制[11-12]:顯示當前可視范圍時,預判斷下一步可能載入的數據;判斷在最近時間內不可能出現在可視范圍內的數據;正確地進行數據加載、卸載、預編譯和合并處理。保證場景瀏覽的穩定性和暢通性。數據調度流程如圖6所示。

2.2.3 多線程處理

每一層單獨設置線程負責不同LOD數據的加載卸載,可提高大規模場景反復加載卸載的性能。原理如下:

圖6 數據調度處理流程

主線程:地形數據獲取,LOD簡化,視域剔除,實現實時繪制和渲染。

數據預調度線程:根據當前視點計算可見域和預可見域,若需要的地形數據塊未在內存中,載入隊列加入地形快索引,從外存庫動態讀取地形塊,且剔除不可見節點以避免資源浪費,同時進行預可見數據調度。

事件處理線程:接收事件,計算相機參數,設置相機視圖矩陣、漫游器、視口等。

3 3DGIS平臺應用

地形/影像三維模型處理工具,實現多重紋理映射地形構建金字塔模型,按層在本地存放組織,實現多重紋理映射。為減小渲染負擔,將多個原始影像分別預處理成不同分辨率紋理,使用OSG中Mipmap紋理映射技術[13-15]。2D紋理寬度高度是2的冪次方,單位為紋素(texel)。一般的,較小紋理圖像分辨率是下一層4個紋理片(單元)的平均值。

如圖7所示,紋理使用多幅分辨率不同的遙感影像(10 m分辨率的普通遙感影像、1 m分辨率的城區高分辨率遙感影像)疊加拼接而成。場景中明顯地展現了不同分辨率紋理的效果,很好地實現了多幅遙感影像的無縫拼接,可在盡量減少大規模數據且保證較高的加載渲染效率的條件下,使場景研究主題更突出。

圖7 三維地理信息系統

4 結束語

針對Mipmap紋理的大規模三維地形可視化技術進行了研究,并應用于3DGIS平臺。基于四叉樹分層分塊的LOD算法,建立多分辨率金字塔模型并進行有效的組織管理;引入四叉樹空間索引的動態調度機制,對場景中地形數據進行紋理映射,并進行動態調度可視化;通過場景裁剪和紋理共享,實現地形場景的快速優化。加快了存取速度,降低了裁剪計算的復雜度,實現了高效渲染。該課題開發的3DGIS平臺為一個基礎應用架構,并未充分利用2D矢量數據的拓撲關系,網絡分析、鄰域分析、緩沖區分析等空間分析應用功能需進一步完善。

參考文獻:

[1] 岳利群,夏 青,柳佳佳,等.全球海量地形數據組織管理方法的研究[J].測繪科學,2009,34(3):121-123.

[2] 戴晨光,張永生,鄧雪清.一種用于實時可視化的海量地形數據組織與管理方法[J].系統仿真學報,2005,17(2):406-409.

[3] 王璐錦,唐澤圣,唐 龍.基于三角形二叉樹的地表模型動態簡化算法[J].清華大學學報:自然科學版,2002,42(1):92-95.

[4] 張恒國,王合龍,吳清香.基于ROAM算法的數字地面模型研究與實現[J].信息技術,2008,32(1):95-97.

[5] 杜 瑩,武玉國,王曉明,等.全球多分辨率虛擬地形環境的金字塔模型研究[J].系統仿真學報,2006,18(4):955-958.

[6] MINOUX C.Enabling virtual-globe browsing on memory-constrained platforms visualization and exploration of geospatial data[R].[s.l.]:[s.n.],2007.

[7] SUN M,LYU G L,LEI C.Large-scale vector data displaying for interactive manipulation in 3D landscape map[R].[s.l.]:[s.n.],2008.

[8] BLOW J.Terrain rendering at high levels of detail[C]//Game developers conference.[s.l.]:[s.n.],2000:119-124.

[9] DAI C G,ZHANG Y S,YANG J Y.Rendering 3D vector data using the theory of stencil shadow volume[R].[s.l.]:[s.n.],2008.

[10] 申閆春,王 銳,翟春麗.海量地形的GIS特征數據實時渲染算法研究[J].計算機仿真,2011,28(10):223-227.

[11] 馬柳青,宋關福,郭 會,等.一種海量地形影像數據的快速漫游算法[J].地球信息科學學報,2009,11(5):604-609.

[12] 宋 敏,申閆春.基于空間數據庫VRGIS的研究與應用[J].測繪與空間地理信息,2012,35(8):47-52.

[13] BHATFACHARJEE S,PATIDAR S,NARAYANAN P J.Real-time rendering and manipulation of large terrains[C]//Proceedings of 6th Indian conference on computer vision,graphics an image processing.Washington DC,USA:IEEE Computer Society,2008:551-559.

[14] 黃超超,凌永順,呂相銀.地形紋理映射方法研究[J].計算機仿真,2005,22(1):209-212.

[15] 姜翰青,王博勝,章國鋒,等.面向復雜三維場景的高質量紋理映射[J].計算機學報,2015,38(12):2349-2360.

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 中文字幕1区2区| 国产色网站| 99视频精品全国免费品| 日韩人妻无码制服丝袜视频| jizz在线观看| 成人国产免费| 色综合久久88色综合天天提莫 | 欧美不卡在线视频| 亚洲日产2021三区在线| 99热这里只有精品在线观看| 成人小视频网| 日本免费新一区视频| 中文字幕乱码二三区免费| 亚洲综合激情另类专区| 久久永久精品免费视频| 国产精品网曝门免费视频| 超碰免费91| 色婷婷亚洲综合五月| 美女国产在线| 国产自无码视频在线观看| 亚洲日韩AV无码一区二区三区人| 直接黄91麻豆网站| 国产午夜小视频| 色综合天天娱乐综合网| 超碰aⅴ人人做人人爽欧美 | 日韩精品久久久久久久电影蜜臀| 亚洲精品无码AV电影在线播放| 毛片一级在线| 丁香五月激情图片| 内射人妻无码色AV天堂| 国产中文一区a级毛片视频| 日本人真淫视频一区二区三区 | www.youjizz.com久久| 人人91人人澡人人妻人人爽| 亚洲中文字幕久久精品无码一区| 日韩免费成人| 国产极品美女在线播放| 深爱婷婷激情网| 亚洲一级无毛片无码在线免费视频 | 国产成人免费| 91国内在线观看| 国产成a人片在线播放| 色噜噜在线观看| 91www在线观看| 亚洲爱婷婷色69堂| 久久青草精品一区二区三区| 国产系列在线| 久久免费视频播放| 亚洲清纯自偷自拍另类专区| 国内视频精品| 国产精品一区二区国产主播| 人妻21p大胆| 一级不卡毛片| 久久77777| 国产三级成人| 永久免费无码成人网站| 国产女主播一区| 精品亚洲麻豆1区2区3区| 国产真实乱子伦视频播放| 亚洲二区视频| 欧美全免费aaaaaa特黄在线| 男人的天堂久久精品激情| 伊人成人在线视频| 日本人妻一区二区三区不卡影院| 亚洲精品无码久久毛片波多野吉| 国产一二三区视频| 亚洲男人天堂2020| 亚洲性视频网站| www亚洲天堂| 亚洲无线视频| 国产成人区在线观看视频| 天天摸夜夜操| 毛片在线看网站| 1769国产精品视频免费观看| 91网址在线播放| 欧美日韩资源| 97超碰精品成人国产| 欧美日韩精品在线播放| 无码精品福利一区二区三区| 欧美亚洲国产精品久久蜜芽| 亚洲视频三级| 国产精品网址你懂的|