龍植豪,劉恩林,劉 斌
(1.廣西壯族自治區(qū)森林資源與生態(tài)環(huán)境監(jiān)測中心,南寧 530022;2.國家林業(yè)局中南林業(yè)調(diào)查規(guī)劃設計院,長沙 410014;3.北京易偉航科技有限公司,北京 100085)
林地小班數(shù)據(jù)三維快速渲染技術研究
龍植豪1,劉恩林2,劉 斌3
(1.廣西壯族自治區(qū)森林資源與生態(tài)環(huán)境監(jiān)測中心,南寧 530022;2.國家林業(yè)局中南林業(yè)調(diào)查規(guī)劃設計院,長沙 410014;3.北京易偉航科技有限公司,北京 100085)
基于當前普適的計算機硬件水平,難以實現(xiàn)大范圍、大比例尺的林地成果小班數(shù)據(jù),在三維GIS系統(tǒng)中的地理空間分布快速渲染和信息檢索查詢。通過研究網(wǎng)格化劃分和空間索引建立的關鍵技術,闡述了數(shù)據(jù)組織方式和快速檢索方法,以省級林地小班數(shù)據(jù)為實驗對象,實現(xiàn)了林地小班數(shù)據(jù)三維快速渲染和檢索,效果表明該技術可以提高大比例尺、大數(shù)據(jù)量的矢量數(shù)據(jù)在三維系統(tǒng)中的渲染效率,為林業(yè)三維可視化海量數(shù)據(jù)渲染提供一個有效的技術支撐。
林地小班; 三維GIS;快速渲染
林地是國家重要的自然資源和戰(zhàn)略資源,是森林賴以生存與發(fā)展的根基,在保障木材及林產(chǎn)品供給、維護國土生態(tài)安全中具有核心地位,在應對全球氣候變化中具有特殊地位。國務院明確要求“要把林地與耕地放在同等重要的位置,高度重視林地保護”。為貫徹落實科學發(fā)展觀,統(tǒng)籌好林地資源的保護利用,不斷增加森林資源,國家制定《全國林地保護利用規(guī)劃綱要(2010—2020年)》[1-2],并于2011年啟動全國縣級林地保護利用規(guī)劃落界,以林地小班區(qū)劃為單位,在縣級林地“一張圖”的基礎上,形成省級林地“一張圖”和全國林地“一張圖”數(shù)據(jù)庫,省級林地小班平均約300萬條,全國林地小班數(shù)據(jù)約6800萬條。為提高林地監(jiān)管能力,加強林地保護利用管理,在全國開展了林地年度變更調(diào)查,更新全國林地“一張圖”數(shù)據(jù)庫。廣西是典型的南方集體林區(qū),城市化進程的加快和森林經(jīng)營活動的頻繁,使得每年的林地小班變化量達到全部小班的30%~40%。盡管傳統(tǒng)的二維GIS通過切片服務和建立數(shù)據(jù)庫索引,能實現(xiàn)大數(shù)據(jù)量的地圖渲染和信息檢索[3],但地圖切片耗時長,廣西全區(qū)的林地小班做一次二維地圖切片要一個星期,那么全國林地小班將耗時更多。三維GIS比二維GIS有更直觀的表達效果、更高效的渲染速度、更高的技術和計算機硬件要求。當前普適的計算機硬件水平在三維GIS系統(tǒng)中,難以快速渲染大范圍、大比例尺林地小班的地理空間分布和信息快速檢索查詢。本文通過將林地小班數(shù)據(jù)進行網(wǎng)格化劃分,建立空間索引,實現(xiàn)三維系統(tǒng)中大數(shù)據(jù)量的林地小班快速渲染,并能實現(xiàn)快速檢索需要展示的林地小班,同時可對渲染數(shù)據(jù)進行分析。
三維場景中數(shù)據(jù)的快速渲染是決定三維系統(tǒng)效率的關鍵,四叉樹索引理論是三維矢量數(shù)據(jù)在三維場景中快速渲染的重要技術理論基礎。
四叉樹索引的基本思想是將地理空間遞歸劃分為不同層次的樹結構,它將已知范圍的空間等分成四個相等的子空間,如此遞歸下去,直至樹的層次達到一定深度或滿足某種要求后停止分割,當空間數(shù)據(jù)對象分布比較均勻時,具有較高的空間數(shù)據(jù)插入和查詢效率。作為一種有效的實現(xiàn)三維數(shù)據(jù)快速檢索和瀏覽的手段,需要將原始數(shù)據(jù)轉換為金字塔結構的數(shù)據(jù)存儲,金字塔結構采用基于四叉樹的瓦片數(shù)據(jù)層疊加技術存儲和組織,瓦片劃分方式如圖1。
圖1 瓦片劃分示意圖
第0級將全球劃分為4×2塊,全球坐標范圍為經(jīng)度[-180°,180°],緯度[-90°,90°],中心位于0°經(jīng)線和0°緯線的交匯處,每個瓦片作為一個四叉樹的父節(jié)點,依次按照2×2的規(guī)則細分地球表面。
在數(shù)據(jù)可視化范圍內(nèi),顯示的數(shù)據(jù)量是有限的,在這有限的數(shù)據(jù)請求中,金字塔結構可以快速實現(xiàn)可視化范圍內(nèi)的數(shù)據(jù)檢索[4],金字塔結構組織的數(shù)據(jù)可視區(qū)域如圖2。
攝像機可視區(qū)域模擬人眼看到的事物,遠近不同會導致看到的事物精細程度也不同,根據(jù)這一原理,在三維場景中離攝像機遠的區(qū)域,可以采用減少三角面甚至采用幾個三角面就能表達三維物體,這種表達方式可以實現(xiàn)數(shù)據(jù)快速檢索;不同區(qū)域可以快速融合,無縫瀏覽;數(shù)據(jù)級別方便控制;可控制數(shù)據(jù)保密級別和范圍,方便不同比例尺數(shù)據(jù)直接融合。
圖2 金字塔結構組織的數(shù)據(jù)可視區(qū)域
林地小班是在1∶1萬的比例尺下區(qū)劃生成的數(shù)據(jù),省級林地小班平均在百萬個以上,對這大比例尺大數(shù)據(jù)量的林地小班在三維系統(tǒng)要快速渲染展示,需要對其預處理,基于四叉樹理論,對林地小班采用四叉樹空間索引和劃分空間網(wǎng)格。與前面四叉樹理論不同的是林地小班不建立金字塔結構,只對某一級別劃分空間網(wǎng)格。
2.1.1 按網(wǎng)格范圍對矢量數(shù)據(jù)切割
按照網(wǎng)格區(qū)域塊劃分矢量數(shù)據(jù)不僅可以快速檢索到數(shù)據(jù),并盡量不渲染不在視域中的數(shù)據(jù),從而提高三維矢量數(shù)據(jù)的渲染效率。矢量數(shù)據(jù)按網(wǎng)格范圍切割如圖3。
圖3 矢量數(shù)據(jù)切割
2.1.2 按比例尺劃分定義數(shù)據(jù)級別
比例尺是描述圖上距離與實際距離比例關系,多用于二維地圖。在三維系統(tǒng)中,則用層塊級別來描述當前攝像機高度與地面之間的距離關系。層塊分級是每個級別數(shù)據(jù)地理范圍大小和對應的地理大致比例尺,兩者對應關系如表1,這種定義用于三維數(shù)據(jù)可視化的數(shù)據(jù)塊索引。
根據(jù)林地小班矢量數(shù)據(jù)組織方式,按照級別對其采用網(wǎng)格形式剪裁,每個數(shù)據(jù)塊中包含了部分空間矢量坐標,快速檢索到這些數(shù)據(jù)塊是林地小班三維渲染的一個重要環(huán)節(jié)。
1)區(qū)域塊檢索。區(qū)域塊檢索過程跟攝像機有關,檢索在攝像機可視區(qū)域內(nèi)滿足條件的區(qū)域塊ID列表。如圖4所示,對每個網(wǎng)格進行空間索引編號,如A1,A2…,通過規(guī)定的空間索引公式計算某個(X,Y)坐標對應的矢量數(shù)據(jù)塊。
具體公式為:第level級別對應的數(shù)據(jù)精度為resolution=90.0/2level,其中l(wèi)evel表示數(shù)據(jù)級別,范圍是[-128,128]。網(wǎng)格行列號計算公式:
Col=x/resolution;Row=y/resolution;
表1 層塊級別對應地理范圍和比例尺對照關系表層塊級別比例尺參考范圍01∶147914675全球11∶73957338全球21∶36978669全球31∶18489334全球41∶9244667全球51∶4622334國家61∶2311167國家71∶1155583國家81∶577792國家91∶288896城市101∶144448城市111∶72224城市121∶36112區(qū)縣131∶18056區(qū)縣141∶9028區(qū)縣151∶4514鄉(xiāng)鎮(zhèn)161∶2257鄉(xiāng)鎮(zhèn)171∶1128鄉(xiāng)鎮(zhèn)181∶564街道、村
圖4 網(wǎng)格管理與檢索原理示意圖
其中x表示經(jīng)度,范圍為[-180,180];y表示緯度,范圍為[-90,90];Col和Row結果值取整。
例如計算120°E,37°N,級別為10級對應的網(wǎng)格地址編碼為:
resolution= 90.0/210=0.087 890 62,col= 120/0.087 890 62=1365,Row=37/0.087 890 62=420,那么該網(wǎng)格行號為1365,列號為420。
2)區(qū)域塊選擇。矢量數(shù)據(jù)數(shù)據(jù)塊是以金字塔結構組織,且金字塔結構中的每一層都劃分了區(qū)域塊,因此對于需要顯示的區(qū)域塊,采用四叉樹遞歸檢索方法,從金字塔自頂向下檢索。
區(qū)域塊選擇的原則是:每次在可視范圍內(nèi)檢索出盡可能少的區(qū)域塊,檢索結果中距離攝像機近的區(qū)域塊盡可能的清晰。
區(qū)域塊選擇方法:四叉樹遞歸檢索過程中,對于每個區(qū)域塊,首先判斷該區(qū)域塊跟攝像機的關系,如果在可視區(qū)域外,則直接返回。如果與可視區(qū)域相交,則判斷該區(qū)域塊到攝像機的距離與區(qū)域塊寬度的比值是否大于一個常數(shù),如果大于則添加到檢索列表并返回,小于則繼續(xù)判斷該區(qū)域塊是否到最低級別,如果是最低級別則添加到檢索列表并返回,否則判斷該區(qū)域是否完全在可視區(qū)域內(nèi),是則添加到檢索列表并返回,不是則遞歸遍歷該區(qū)域內(nèi)的四個子區(qū)域。
3)可視區(qū)域剪裁??梢晠^(qū)域剪裁是為了判斷一個區(qū)域塊跟攝像機的平截頭體的相交關系。利用區(qū)域塊的地理坐標范圍和地形的高度范圍構造一個八個頂點的立方體,判斷該立方體的八個頂點是否在可視區(qū)域內(nèi),部分點在可視區(qū)域內(nèi)即為區(qū)域塊與可視區(qū)域相交。判斷一個點是否在可視區(qū)域內(nèi)的參數(shù)包括:MG:地理坐標到世界坐標轉換矩陣;MW:世界坐標轉換矩陣;MV:視口坐標轉換矩陣;MP:透視坐標轉換矩陣;MT=MG×MW×MV×MP,任何一個頂點乘以上面的MT矩陣,轉為齊次坐標后,分別判斷該齊次坐標點的X,Y,Z的范圍是否分別在[-1,1],[-1,1],[0,1]內(nèi),如果在則該點在可視區(qū)域內(nèi)。
4)區(qū)域塊最低級別選擇。區(qū)域塊最低級別選擇是針對區(qū)域塊與可視區(qū)域相交部分檢索的區(qū)域塊過細這一問題的改進方法。當攝像機垂直向下時,采用上述區(qū)域塊選擇法會出現(xiàn)攝像機四周的區(qū)域塊比攝像機中央的區(qū)域塊更精細的問題,原因是攝像機四周的區(qū)域塊與可視區(qū)域相交,通過遞歸判斷下去直到最精細級別為止,視覺垂直向下時,用4到9個大小差不多的區(qū)域塊基本可以填滿屏幕。因此需要控制區(qū)域塊的最低級別選擇。
如圖5所示,高度(h)為攝像機地理位置高度與地形高度之差,寬度(w)為根據(jù)h和攝像機視角計算出的寬度。在判斷最低級別時,先判斷當前區(qū)域塊的寬度是否小于w/2,如果小于則添加到檢索列表并返回,從而減少檢索區(qū)域塊個數(shù)。
圖5 攝像機高度與寬度關系圖
在三維系統(tǒng)中,以面狀數(shù)據(jù)來渲染影響效率,多采用點狀或線狀來渲染[5]。在渲染過程中,首先完成當前攝像機視域范圍內(nèi)包含的數(shù)據(jù)塊ID,建立可顯示的ID塊列表,對各個矢量數(shù)據(jù)來說,獨立完成各自渲染,只是在判斷需要渲染的數(shù)據(jù)前,從ID列表中獲取需要顯示的數(shù)據(jù)塊,渲染流程如圖6。
對于大范圍大比例尺的林地小班數(shù)據(jù),即使采用金字塔結構存儲和快速檢索機制,在后臺的數(shù)據(jù)讀取和二進制解譯也是一個耗時的計算過程,需要采用后臺下載、讀取和解譯,即多線程的異步處理(圖7)。
圖6 矢量數(shù)據(jù)渲染管理
圖7 多線程異步處理
該處理過程包括前臺渲染和后臺數(shù)據(jù)準備線程,以及兩個線程通信和同步所需的數(shù)據(jù)區(qū)。
前臺渲染線程:每次更新前先向后臺線程發(fā)送一個開始工作的消息,根據(jù)當前攝像機位置檢索出一個區(qū)域塊顯示列表,并鎖定數(shù)據(jù)區(qū)的下載列表,將顯示列表復制到下載列表后,對下載列表進行解鎖。根據(jù)該顯示列表檢索渲染數(shù)據(jù)緩存中是否存在相應區(qū)域塊的渲染數(shù)據(jù),并生成一個渲染列表。區(qū)域塊渲染過程就是根據(jù)渲染列表設置相應渲染狀態(tài)并將渲染數(shù)據(jù)提交給計算機顯卡。
后臺數(shù)據(jù)準備線程:程序收到工作的消息指令后,鎖定數(shù)據(jù)區(qū)的下載列表,根據(jù)下載列表判斷每個區(qū)域塊是否存在于當前緩存中,不存在則下載該區(qū)域塊數(shù)據(jù),并放到緩存中。根據(jù)區(qū)域塊下載列表利用Roma算法構造地形網(wǎng)格的三角形數(shù)據(jù),提交到渲染區(qū)域塊緩存中。
雙渲染區(qū)域塊緩存:圖7中的CachePath F和CachePath B兩個渲染區(qū)域塊緩存,都可用來存放網(wǎng)格三角化的渲染數(shù)據(jù)。前后臺線程的工作頻率不一致,當它們同時訪問同一個緩存數(shù)據(jù)時,導致其中一個線程被鎖定。為了保證前后渲染線程的快速渲染和不被鎖定,利用前后渲染沖來解決這個問題。前后渲染線程先嘗試鎖定CachePath F,如果成功則直接渲染,否則嘗試鎖定CachePath B,如果成功則直接進行渲染,否則跳過繼續(xù)執(zhí)行。后臺線程工作時,首先嘗試鎖定CachePath F,成功則構造網(wǎng)格三角形數(shù)據(jù),并提交到緩存中,失敗則程序掛起,直到鎖定緩存成功為止。渲染區(qū)域塊緩存構建完成后,交換前后緩沖標志,再次運行時嘗試重復上述工作過程。
以廣西全區(qū)2013年度林地變更成果小班數(shù)據(jù)測試范本,以基于上述理論和渲染方法的易景三維地球平臺為工具,對林地小班三維快速渲染進行測試和分析。測試結果如表2。
廣西全區(qū)2013年度林地變更成果小班總數(shù)約500萬個,每個小班面平均約由5000個節(jié)點組成,假設使用固定像素進行渲染顯示,那么這些數(shù)據(jù)一次性全部渲染,一條線段需要2個三角面,一條矢量線約10000個三角面,全廣西約5000億個三角形,當前主流計算機的顯卡核心頻率基本在500 MHz(一個周期處理一個三角形,約有5億三角形每秒),這5000億個三角形根本無法在一個周期內(nèi)完成渲染。
表2 矢量數(shù)據(jù)三維預處理結果區(qū)域數(shù)據(jù)內(nèi)容數(shù)據(jù)類型對象個數(shù)原始文件數(shù)據(jù)量/G預處理時間/s廣西全區(qū)林地變更成果小班面500萬10100廣西全區(qū)林地變更成果小班注記點500萬120
通過空間網(wǎng)格劃分,建立空間索引的數(shù)據(jù)預處理機制,基于攝像機視野范圍有限的原則,利用空間索引機制快速檢索到林地小班數(shù)據(jù)塊。通過實驗,在區(qū)域范圍內(nèi)的林地小班數(shù)據(jù)塊最多在100個左右,每個數(shù)據(jù)塊大概有10個裁剪對象,坐標格式控制在0.5萬個左右,在可視區(qū)域內(nèi)渲染矢量數(shù)據(jù)三角面最多為1000萬個,這對于一個周期內(nèi)可以處理5億個三角面的顯卡完全可以承受。渲染效果如圖8所示。
圖8 林地小班快速渲染效果(白線為林地小班界限)
本文闡述了大范圍大比例尺的林地小班矢量數(shù)據(jù)在三維系統(tǒng)中數(shù)據(jù)組織方式和快速渲染檢索的方法,并在基于該方法實現(xiàn)的三維地球平臺下結合省級林地小班數(shù)據(jù)做了快速渲染實驗,實現(xiàn)效果表明本文闡述的方法可以明顯提高大比例尺大數(shù)據(jù)量的矢量數(shù)據(jù)在三維系統(tǒng)中的渲染效率,為林業(yè)三維可視化海量數(shù)據(jù)渲染提供一個有效的技術支撐。但數(shù)據(jù)的組織和渲染適合于桌面系統(tǒng),因數(shù)據(jù)組織比較復雜,對于移動端的二進制解譯過程過于復雜而導致移動端效率低下,在后續(xù)的研究中值得加以改善。
[1] 國家林業(yè)局.全國林地保護利用規(guī)劃綱要(2010—2010年)[R],2010.
[2] 鄭紅,羅為檢.計算機工具軟件在林地落界中的應用[J]. 中南林業(yè)調(diào)查規(guī)劃,2013,32(2):42-44.
[3] 湯楊華,郭新成.三維GIS中海量空間數(shù)據(jù)可視化研究[D].西安:長安大學,2009.
[4] 趙慧中.ROAM算法原理及其可視化應用研究[J].測繪與空間地理信息,2010,33(5):124-126.
[5] 佘江峰,陳景廣,程亮,等.三維地形場景并行渲染技術進展[J].武漢大學學報:信息科學版,2012,37(4):463-467.
ResearchonThree-dimensionalFastRenderingTechnologyofForestLandSubCompartmentData
LONG Zhihao1,LIU Enlin2,LIU Bin3
(1.Guangxi Forest Resources and Environment Monitoring Center,Nanning 530022,Guangxi,China;2.Central South Forest Inventory and Planning Institute of State Forestry Administration,Changsha 410014,Hunan,China;3.Beijing Evia Technology Co.Ltd,Beijing 100085,China)
Based on the current level of computer hardwares,it is difficult to realize the fast rendering of spatial data and information retrieval in the 3D GIS system with large scale forest land data.Based on the study of key technologies for building grid division and spatial index, we expounded the way of data organization and fast retrieval method, with the provincial forest landsub compartment data as the experimental object, forest land subcompartment data fast rendering and retrieval havebeen implemented. The results showed that this technology couldimprove the rendering efficiency of large scale and large amount of vector data in 3D system,and provideeffective technical support for 3D visualization of massive data.
forest landsub compartment;three dimension GIS;fast rendering
2017 — 02 — 20
龍植豪(1985 — ),男,湖南常德人,工程師,主要從事森林資源監(jiān)測與林業(yè)信息化方面的工作。
劉恩林(1980 — ),男,天津人,工程師,主要從事林業(yè)調(diào)查規(guī)劃設計和3S技術應用等工作。
S 771.8
A
1003 — 6075(2017)01 — 0033 — 06
10.16166/j.cnki.cn43 — 1095.2017.01.009