專利名稱:網絡環境下超大規模空間數據的三維可視化方法
技術領域:
本發明涉及一種網絡環境下超大規模空間數據的三維可視化方法,屬于空間信息技術領域。
背景技術:
近幾年,由于傳感器技術和數據采集技術的不斷發展,大范圍、高分辨率影像和數字高程模型的廉價獲取成為可能,空間數據的數據量呈幾何級數增長。同時,人們也在研究如何獲取城市中諸如人工目標等幾何實體的三維模型,隨著幾何對象數量的不斷增加和幾何表達精度的不斷提高,用于描述幾何對象的數據量也變得越來越多。再加上從其它方法(如測量方法)獲取的地理信息系統(GIS)數據,一個系統的數據總量往往達到幾百兆字節甚至兆兆字節(TB)數量級,可能分布于異構環境中,而且這些數據的格式也不盡相同。從而使得傳輸和可視化這些空間數據需要的計算機內存和資源遠遠超出了目前計算機設備的承受能力。目前,隨著網絡技術、三維可視化技術、虛擬現實技術的發展以及計算機軟硬件的推陳出新,如何在保證場景真實感的前提下,快速實現多源海量數據的可視化成為當前空間信息領域研究熱點。
發明內容
本發明的目的是提供一種網絡環境下超大規模空間數據的三維可視化方法,它解決了網絡環境下大規模多源空間數據格式不一致的問題。借助于本發明的建模、漸進傳輸和渲染技術,實現了多源海量空間數據的快速可視化。具有(1)在分布式環境中,實現空間數據的共享和互操作;(2)低配置在移動終端上(如個人數字助理PDA),就能完成自適應可視化。
在分布式異構環境中,本發明通過空間數據的獲取模型、空間索引技術、自適應傳輸技術和自適應可視化技術等來實現大規模空間數據的三維可視化,其技術方案如下本發明一種網絡環境下超大規模空間數據的三維可視化方法,其方法步驟如下(1) 分布式異構環境中空間數據的獲取模型提出以下兩種模型實現分布式異構環境中空間數據的快速獲取 數據配置模型針對分布式環境的特點,提出數據配置模型,該模型包含數據的類型、大小、所在的位置、所在計算機上的操作系統類型、空間范圍等信息,它用來管理放在每臺服務器上的待可視化的多源空間數據。在系統啟動時,數據配置模型通知客戶端的管理器空間數據分布的具體位置; 數據轉換模型通過設計和建立三維標識數據模型3DGML,以此解決多源空間數據格式不一致性問題。該3DGML在傳統地理標識語言基礎上增加了第三維描述信息,即高程。并且還帶有一個時間變量以描述隨時間變化的地理信息。本專利的空間數據在網絡環境下都是以3DGML的格式來傳輸給客戶端的。
(2)高效的空間索引技術以橢球四叉樹和漸進樹(P-Tree)技術聯合實現空間數據的高效索引。本發明提出優化橢球四叉樹實現大規模地理數據的快速檢索。具體是,沿著經緯格網把地球表面劃分成若干左右相鄰全等的,上下相鄰相似的四邊形,四叉樹的每個結點代表的是顧及地球曲率的、等面積的四邊形。
橢球四叉樹每個結點描述了一定分辨率下確定的、等邊長(以m為單位)的四邊形面片。
隨著視點和視線不斷移近城區,場景會出現三維建筑等實體。本發明設計的空間索引保證靠近視點或用戶最感興趣的實體應先傳輸,次要的目標而后傳輸和渲染。在此情況下,提出一種P-tree的空間索引結構,它在傳統R樹基礎上,增加了一個元素g(e)來存儲地理空間信息。如果在第L層次上的結點n是一個內部結點,g(e)表示在該分支中所有實體集合。返回的集合在包圍盒精度高于閾值時,就合并P-tree的內部結點,否則遍歷P-tree的下一層。P-tree與橢球四叉樹通過一定的閾值相連來實現多分辨率地形和三維幾何模型的索引。
從分辨率為幾公里的大場景到分辨率只有幾米的城市地區,如果場景變化的太快,地形管理器跨越四叉樹而定位到合適位置的速度會落后于用戶變換場景的速度,這種管理機制讓四叉樹能快速定位到合適的空間位置以獲得重要的屬性信息和地理空間邊界盒,從而決定哪些數據和模型顯示在當前視景體內。
(3)海量空間數據的自適應傳輸技術集成了在線高效壓縮與釋放、動態流媒體化技術、外存漸進傳輸算法等混合技術,解決在現有的網絡帶寬和傳輸速率下,以及保持數據和模型最大精度的同時,滿足海量空間數據實時傳輸的要求。
為了減少內存的消耗,構建三維場景的結點采用算術編碼壓縮,先傳輸可見子結點中較粗的模型,并將其保留在客戶機內存中,漸進可視化更高層次的場景。如果遍歷停止,就用較粗細節層次模型渲染。在遍歷四叉樹結構搜索當前待渲染結點的過程中,將流和預取過程分為兩個異步線程進行。在交互的過程中必需的數據放在緩存中,每個細節層次中保留數據塊的緩存,如果塊立即使用,就存儲在內存緩存中,否則,放在磁盤緩存中。
發送新的請求前,客戶端預先計算索引后發送消息到服務器獲取它預先設有存儲的模型結點。從服務器上接收到空間數據時,客戶端做部分簡單的計算,建立數據模型一部分拷貝。服務器建立從屬圖,避免冗余數據的傳輸避免不必要數據的傳輸;客戶端的簡化算法修改服務器端的場景描述,形成設備圖形,該圖形包含漸進入口,它們依連續的順序存儲數據。如果客戶端不能存儲整個細節層次模型時,客戶端就刪除當前不用的數據。若后續的操作需要這部分數據,它只簡單向服務器發送一個請求。這樣,服務器非常容易的處理大量的客戶端連接,因為它不需要記錄每個連接點的狀態。
(4)大規模空間數據的自適應可視化技術傳統的可視化技術只能在中央處理器(CPU)上實現,因而速度較慢,交互性不好。本發明采用視點相關的基于圖形處理器(GPU)的多分辨率動態可視化技術。該技術將空間信息重新組成一系列層,并簡化為兩個視相關的幾何緩沖器。利用GPU的可編程性,基于外存和細節層次模型算法,進而在GPU中實現超大規模幾何實體的動態多分辨率顯示。
本發明一種網絡環境下超大規模空間數據的三維可視化方法,其優點及其達到的功效是它在分布式環境下,將海量多源空間信息在統一的三維環境中可視化,能實現多用戶并發訪問的要求。具體說就是(1)通過建立數據轉換模型并形成三維GML規范,以此解決分布式異構環境下多源空間數據的格式不一致性問題;(2)實現了一個并行的、可以擴充的海量幾何模型傳輸方案,包括預處理算法、多分辨視相關模型簡化等。客戶端能完成細節層次模型(LOD)查詢并實時選擇性簡化幾何實體的表面,而不必接收和存儲整個LOD模型。滿足多用戶并發訪問的要求;(3)在復雜三維城市場景顯示中,絕大多數算法用一個層次包圍體做體空間或者圖像空間剔除驗證,并計算潛在的視集,這樣在運行期間會產生突跳現象。為了避免該現象,研究和集成了基于GPU超大規模數據多分辨率可視化技術與保守阻擋消除法實時可視化場景。
四
圖1本發明三維可視化方法的技術方案實現流程2本發明所述的空間索引結構示意3本發明之渲染和流線程的流程示意4本發明之服務器產生從屬圖,避免冗余數據的傳輸示意5本發明之簡化算法修改服務器端的場景描述,形成設備圖形,該圖形包含漸進入口,它們依連續的順序存儲數據示意6本發明之數據塊的更新示意7本發明之數據塊頂點索引順序示意圖五具體實施方式
通過圖1所示的流程圖來實現本發明提出的可視化方法,其過程步驟如下(1)分布式異構環境中空間數據的更新模型 數據配置模型該模型包含數據的類型、大小、所在的位置、所在計算機上的操作系統類型、空間范圍等信息,它用來管理放在每臺服務器上的待可視化的多源空間數據。在系統啟動時,數據配置模型通知客戶端的管理器空間數據分布的具體位置; 數據轉換模型通過建立三維標識數據模型3DGML,以此解決多源空間數據格式不一致性問題。該3DGML在傳統地理標識語言基礎上增加了第三維描述信息,即高程。并且還帶有一個時間變量以描述隨時間變化的地理信息。本發明的空間數據在網絡環境下都是以3DGML的格式來傳輸給客戶端的。
(2)高效的空間索引技術本發明提出優化橢球四叉樹實現大規模地理數據的快速檢索。具體是,沿著經緯格網把地球表面劃分成若干左右相鄰全等的,上下相鄰相似的四邊形,四叉樹的每個結點代表的是顧及地球曲率的、等面積的四邊形。
假設待分割的數字高程模型(DEM)大地坐標的范圍為(λmin,φmin)和(λmax,φmax),行列數為M×N,每個瓦片有row×col格網點,那么瓦片在地球平行圈方向的數目為qλ=int(N/col),在地球子午圈方向的數目為qφ=int(M/row),因此,經度差Δλ=(λmax-λmin)/qλ,緯度差Δφ=(φmax-φmin)/qφ。為了能夠支持多層次細節模型,所有的結點應均含有數據,所以,橢球四叉樹的索引值key,必須滿足 這里,M,N分別是DEM的行數和列數;row、col分別是每個瓦片的行數和列數;int( )代表取整數的含義;∑代表加和。
在創建橢球四叉樹時,需要從已知索引值key中,知道當前層索引數據的最大坐標(λ2,φ2)和最小坐標(λ1,φ1),利用方程(1)和已知參數qφ,qλ,Δλ,Δφ獲得λ1,φ1,λ2,φ2的值
橢球四叉樹每個結點描述了一定分辨率下確定的、等邊長(以m為單位)的四邊形面片。
隨著視點和視線不斷移近城區,場景會出現三維建筑等實體。本發明設計的空間索引保證靠近視點或用戶最感興趣的實體應先傳輸,次要的目標而后傳輸和渲染。在此情況下,提出一種P-tree的空間索引結構,它在傳統平衡樹基礎上,增加了一個元素g(e)來存儲地理空間信息。如果在第L層次上的結點n是一個內部結點,g(e)表示在該分支中所有實體集合。返回的集合在包圍盒精度高于閾值時,就合并P-tree的內部結點,否則遍歷P-tree的下一層。P-tree與橢球四叉樹通過一定的閾值相連(如圖2)來實現多分辨率地形和三維幾何模型的索引。
從分辨率為幾公里的大場景到分辨率只有幾米的城市地區,如果場景變化的太快,地形管理器跨越四叉樹而定位到合適位置的速度會落后于用戶變換場景的速度,這種管理機制讓四叉樹能快速定位到合適的空間位置以獲得重要的屬性信息和地理空間邊界盒,從而決定哪些數據和模型顯示在當前視景體內。
(3)海量空間數據的自適應傳輸技術為了減少內存的消耗,構建三維場景的結點采用算術編碼壓縮,先傳輸可見子結點中較粗的模型,并將其保留在客戶機內存中,漸進可視化更高層次的場景。如果遍歷停止,就用較粗細節層次模型渲染。在遍歷四叉樹結構搜索當前待渲染結點的過程中,將流和預取過程分為兩個異步線程進行(如圖3所示)。在交互的過程中必需的數據放在緩存中,每個細節層次中保留數據塊的緩存,如果塊立即使用,就存儲在內存緩存中,否則,放在磁盤緩存中。
發送新的請求前,客戶端預先計算索引后發送消息到服務器獲取它預先沒有存儲的模型結點。從服務器上接收到空間數據時,客戶端做部分簡單的計算,建立數據模型一部分拷貝。服務器建立從屬圖,避免冗余數據的傳輸(如圖4所示)避免不必要數據的傳輸;客戶端的簡化算法修改服務器端的場景描述,形成設備圖形,該圖形包含漸進入口,它們依連續的順序存儲數據(如圖5)。如果客戶端不能存儲整個細節層次模型時,客戶端就刪除當前不用的數據。若后續的操作需要這部分數據,它只簡單向服務器發送一個請求。這樣,服務器非常容易的處理大量的客戶端連接,因為它不需要記錄每個連接點的狀態。
(4)大規模空間數據的自適應可視化技術為了提高數據的利用效率,使用環狀數組和模運算的方式來存儲每一層顯示的數據塊,隨著視點的移動,每次只更新“L”形的新區域(如圖6),由于使用環狀數組和模運算來存儲和訪問數據,這使得對于每一個固定頂點在數組中存儲的位置保持不變,新的“L”形區域數據正好保存在數組中舊的“L”形數據位置上。
當移動速度太快時,所有需要更新層次的操作就會變得比較費時,為了提高繪制速度,我們采取從粗到精的更新順序,當某一層的頂點更新數量超過n×n時,該層(以及其包含的所有精細層)暫時停止更新和繪制,當視點的移動速度變慢時,再重新開啟更新和顯示狀態。這種視覺效果就是快速移動時,損失地形的繪制細節,也符合人的視覺習慣。
在進行繪制時,根據數據塊視覺的重要性,采取從精到粗的順序進行。視覺最重要的數據塊,優先級最高,最先繪制,細節層次也最高。根據數據塊視覺重要性的大小,依次繪制整個視景體內的數據。
數據塊視覺重要性的計算偽代碼
impt的計算公式impt=α×max_dist-disttsum_dist+β×heighttsum_height---(3)]]>
對數據塊t來說,distt是數據塊的中心到視點的距離。heightt是數據塊t包圍盒的高度。Max_dist是所有可見數據塊中distt的最大值;sum_dist和sum_height分別是distt和heightt累加和;權α,β滿足α+β=1,為了折衷數據塊的距離和高度,通常取α=β=0.5。所有可見數據塊的視覺重要值impt要進行歸一化,這樣∑timpt=1。
為了利用圖形硬件的頂點緩存和索引緩存,必須構建三角形條帶。由于該算法中每一個最小子塊都是矩形,所以構建三角形條帶的方式一樣。本專利采取如圖7所示的頂點順序來指定矩形塊中的頂點,這樣只有換行處的頂點指定了3次,其余大部分頂點只指定了兩次。
當前每一幀數據更新和變化后頂點索引數組的建立都需要CPU重新計算,因為矩形生成三角形條帶的函數調用過程一致,在新的圖形硬件上利用頂點紋理,進而將索引的計算完全由高效的GPU來完成。為每一矩形塊實時計算三角形條帶索引數組,并通過圖形顯卡的頂點緩沖和索引緩沖來提高繪制速度。相比起層次算法中遍歷每一個頂點,CPU重新計算索引的開銷要小很多。
驗證在網絡環境下對上述方法進行了驗證。服務器配置是P4 2.8GHz處理器,1G&NVIDIAFX3400的顯卡,操作環境為IIS/Windows XP。使用3臺計算機充當客戶端一臺是Pentium 1.73GHZ處理器,512MB內存,64M ATI顯卡的筆記本電腦(稱之PC-I)。第二是臺式計算機,P4 512M內存,GeForce2顯卡(稱之PC-II)。第三臺是P4 1G內存,GeForce3顯卡臺式計算機(稱之PC-III)。
使用美國Defense Mapping Agency的JGP95E 5′全球地形數據;USGS的GTOP030數據;1∶25萬全球地形數據;1∶1萬荊江DEM數據,全球影像為21600×21600的“blue marble”;30m的全國TM影像;以及建筑等三維模型庫進行了實驗研究。
基于組件對象模型(COM),用VC++和OpenGL語言開發了運行在網絡上的分布式三維可視化系統。系統由三個模塊構成第一個是基于超文本傳輸協議(HTTP)的客戶端模塊,負責從服務器上下載數據;第二個是場景管理器模塊,負責在數據儲存器中加載數據,并產生多分辨率的三維場景;第三個是三維分析模塊,用于地理空間分析,比如最短路徑分析,通視分析,水文分析等。
描述地形和三維模型(例如數據路徑,范圍,比例尺和配置)的元數據文檔,首先通過文件傳輸協議(例如HTTP協議)發送到客戶端,系統就可以利用文件中的這些信息管理這些數據。
下列表1列出了可視化地形數據和三維模型的統計信息。對于每一幀的場景數據(數據量>80兆字節),可以看出數據從服務器端加載到客戶端的時間小于4秒,并且能實時處理多個用戶并發訪問。
表1
權利要求
1.一種網絡環境下超大規模空間數據的三維可視化方法,其特征在于其方法步驟如下(1)分布式異構環境中空間數據的獲取模型提出以下兩種模型實現分布式異構環境中空間數據的快速獲取 數據配置模型針對分布式環境的特點,提出數據配置模型,數據配置模型該模型包含數據的類型、大小、所在的位置、所在計算機上的操作系統類型、空間范圍等信息,它用來管理放在每臺服務器上的待可視化的多源空間數據;在系統啟動時,數據配置模型通知客戶端的管理器空間數據分布的具體位置; 數據轉換模型通過建立三維標識數據模型3DGML,以此解決多源空間數據格式不一致性問題;該3DGML在傳統地理標識語言基礎上增加了第三維描述信息,即高程;并且還帶有一個時間變量以描述隨時間變化的地理信息;本發明的空間數據在網絡環境下都是以3DGML的格式來傳輸給客戶端的;(2)高效的空間索引技術以橢球四叉樹和漸進樹技術聯合實現空間數據的高效索引;以優化橢球四叉樹實現大規模地理數據的快速檢索,具體是,沿著經緯格網把地球表面劃分成相鄰全等的、上下相鄰相似的四邊形,四叉樹的每個結點代表的是顧及地球曲率的、等面積的四邊形;橢球四叉樹每個結點描述了一定分辨率下確定的、等邊長的四邊形面片;隨著視點和視線不斷移近城區,場景會出現三維建筑等實體;設計的空間索引保證靠近視點或用戶最感興趣的實體應先傳輸,次要的目標而后傳輸和渲染;在此情況下,提出一種漸進樹的空間索引結構,它在傳統平衡樹基礎上,增加了一個元素g(e)來存儲地理空間信息;如果在第L層次上的結點n是一個內部結點,g(e)表示在該分支中所有實體集合;返回的集合在包圍盒精度高于閾值時,就合并漸進樹的內部結點,否則遍歷漸進樹的下一層;漸進樹與橢球四叉樹通過一定的閾值相連來實現多分辨率地形和三維幾何模型的索引;從分辨率為幾公里的大場景到分辨率只有幾米的城市地區,如果場景變化的太快,地形管理器跨越四叉樹而定位到合適位置的速度會落后于用戶變換場景的速度,這種管理機制讓四叉樹能快速定位到合適的空間位置以獲得重要的屬性信息和地理空間邊界盒,從而決定哪些數據和模型顯示在當前視景體內;(3)海量空間數據的自適應傳輸技術集成了在線高效壓縮與釋放、動態流媒體化技術、外存漸進傳輸算法等混合技術,解決在現有的網絡帶寬和傳輸速率下,以及保持數據和模型最大精度的同時,滿足海量空間數據實時傳輸的要求;為了減少內存的消耗,構建三維場景的結點采用算術編碼壓縮,先傳輸可見子結點中較粗的模型,并將其保留在客戶機內存中,漸進可視化更高層次的場景;如果遍歷停止,就用較粗細節層次模型渲染;在遍歷四叉樹結構搜索當前待渲染結點的過程中,將流和預取過程分為兩個異步線程進行;在交互的過程中必需的數據放在緩存中,每個細節層次中保留數據塊的緩存,如果塊立即使用,就存儲在內存緩存中,否則,放在磁盤緩存中;發送新的請求前,客戶端預先計算索引后發送消息到服務器獲取它預先沒有存儲的模型結點;從服務器上接收到空間數據時,客戶端做部分簡單的計算,建立數據模型一部分拷貝;服務器建立從屬圖,避免冗余數據的傳輸避免不必要數據的傳輸;客戶端的簡化算法修改服務器端的場景描述,形成設備圖形,該圖形包含漸進入口,它們依連續的順序存儲數據;如果客戶端不能存儲整個細節層次模型時,客戶端就刪除當前不用的數據;若后續的操作需要這部分數據,它只簡單向服務器發送一個請求;(4)大規模空間數據的自適應可視化技術采用視點相關的基于圖形處理器的多分辨率動態可視化技術,將空間信息重新組成一系列層,并簡化為兩個視相關的幾何緩沖器,利用GPU的可編程性,基于外存和細節層次模型算法,進而在GPU中實現超大規模幾何實體的動態多分辨率顯示。
全文摘要
一種網絡環境下超大規模空間數據的三維可視化方法,其步驟如下1.分布式異構環境中空間數據的獲取模型提出以數據配置模型和數據轉換模型實現分布式異構環境中空間數據的快速獲取;2.高效的空間索引技術以橢球四叉樹和漸進樹技術聯合實現空間數據的高效索引;3.海量空間數據的自適應傳輸技術集成了在線高效壓縮與釋放、動態流媒體化技術、外存漸進傳輸算法等混合技術,解決在現有的網絡帶寬和傳輸速率下,滿足海量空間數據實時傳輸的要求;4.大規模空間數據的自適應可視化技術將空間信息重新組成一系列層,并簡化為兩個視相關的幾何緩沖器,利用GPU的可編程性,進而在GPU中實現超大規模幾何實體的動態多分辨率顯示。
文檔編號H04L29/06GK101082934SQ20071011907
公開日2007年12月5日 申請日期2007年6月19日 優先權日2007年6月19日
發明者張立強 申請人:北京師范大學