城市GIS三維數據管理方法淺析論文
本文首先介紹了城市GIS數據的內容和特點,重點分析了海量三維模型及屬性數據的組織體系結構,闡述關鍵問題的實現方式,初步設計了一套基于海量數據管理方法的數據流程。
1 引言
隨著“智慧城市”等概念的提出,基于三維的數碼城市地理信息系統(GIS)在城市信息管理中的應用日益廣泛,而且它的應用范圍也逐漸的擴大,由單個住宅小區的三維演示發展到整個城市的大范圍演示,三維數碼城市GIS所管理的數據量呈現出陡增的趨勢,高效快捷的海量數據管理方法已成為數碼城市GIS實現的關鍵技術難題。國內外的科研工作者們在這方面進行了許多探索和實踐,并產生了一些有益的研究成果。本文借鑒了GIS中傳統的二維信息管理技術,并在此基礎之上提出了一種管理海量三維數據的模式,初步設計了一套完整的基于對象關系型數據庫的城市GIS數據管理引擎。
2 城市GIS數據內容與特點
相對于傳統的二維GIS而言,三維數碼城市GIS具有更強的表現力與實用性,而這是以增加管理大量的數據類型和數據量為實現代價的,主要包含了以下幾大類:1)空間數據(Spatial Data)。空間數據是城市GIS的基礎信息, 城市GIS功能的絕大部分將以空間數據為基礎。城市GIS管理的空間數據經抽象后可以分為描述地物和描述地形的兩大類,即描述地物類的二維矢量空間數據(Digital Line Graphic,DLG)、三維矢量模型數據,描述地形的數字高程模型(Digital Elevation Model,DEM)數據和數字正射影像圖(Digital Orthophoto Map,DOM)數據;2)屬性數據。屬性數據是從現實內容方面對三維矢量模型數據的補充,相對于各個特定地物類的“形”而言,屬性數據賦予了它們“意”的內容,描述了它們自身的特有性質,如建筑物可以擁有名稱、高度、用途等屬性信息;3)多媒體數據。城市GIS廣泛應用于社會各行業、各部門,如城市規劃、交通等,隨著應用需求的進一步拓展以及網絡技術的日新月異,如語音、圖象等多媒體信息也開始用于數碼城市GIS中,豐富了系統的表現形式,賦予了系統更加強大的表現能力。
城市GIS的數據內容及其數據量決定了它的應用特點。與傳統的二維GIS相比較,數碼城市GIS對數據組織與管理又提出了許多更高的要求,比如:1)矢量模型數據、DEM數據和DOM數據的三庫一體化管理;2)多尺度模型的集成應用;3)從數據庫到三維虛擬顯示的快速轉換,如:必須只在當前的視線范圍內選擇物體(金字塔或是圓錐內)和動態裝載等都要求新的數據模型和有效的空間索引機制。
3 海量三維模型及屬性數據的組織體系結構
3.1三維空間實體的描述模型介紹
模型是人們對現實世界的一種抽象,數據模型是現實世界向數字世界轉換的橋梁。信息系統的數據模型決定了信息系統的數據結構和對數據可施行的操作,因此數據模型是GIS的靈魂和關鍵。三維空間數據模型是關于三維空間數據組織的概念和方法,它反映了現實世界中三維空間實體及實體間的相互聯系,對三維空間數據模型的認識和研究在很大程度上決定著3D GIS系統的發展和應用的成敗。其中,三維幾何數據模型是三維CAD、三維GIS都需要首先解決的問題,目前,用來描述三維空間實體的模型主要有以下四種(李青元等,2000):1)結構實體幾何模型(Construction Solid Geometry,CSG);2)邊界表示模型(B-reps);3)面向對象模型;3)面向對象的可視化數據模型。這些模型各有優缺點,要應用到城市GIS的海量數據管理,還需要根據實際情況做結構上的.調整和優化,以適應海量數據管理的應用特點。通過比較分析,并結合城市GIS軟件設計的可復用性、可擴展性,本文將采用面向對象的可視化數據模型進行三維模型數據的組織。
3.2 三維模型及屬性數據組織結構
城市GIS的數據內容包括DLG、DEM、DOM、三維模型及其屬性數據,其中最主要的是三維模型及其屬性數據,它們同時也是結構最為復雜的數據部分,涉及的數據量也非常巨大。三維模型及其屬性數據的數據結構設計是關系到整個城市GIS存儲數據量大小、漫游速度快慢以及表現逼真程度高低等的重要因素,本文利用了面向對象的可視化數據模型的設計思想將盡可能完整的數據信息包括進來,同時考慮到數據結構設計的精簡性和易操作性。
1)三維模型數據結構
a)超組對象。對應面向對象可視化數據模型中的組對象。超組對象用于組合各種簡單對象以表達復雜地物,并描述該復雜物體的整體特征,從嚴格意義上講,它并不是實體的地物存儲單元,因為它本身并不存儲地物的矢量數據,因而不作為主要的數據存儲實體。
b)體對象。在數碼城市GIS中,體對象主要用來描述建筑物,針對建筑物結構復雜、通常包含多個單獨實體的特點(例如一個大廈有主樓、副樓、底座等單獨實體),同時為了獲取最大的靈活性,本文在組織建筑物數據時采用體元對象描述每個單獨實體,同時引入一個體組對象,用它來將其所有體元對象組合成一個具有整體特征和屬性的體對象。體組對象和體元對象之間是一對多的關系。
c)面對象。它統一了二維面對象和三維面對象的數據描述,將其矢量數據部分集中到一個面片單元中。面片單元可以描述二維面數據也可以描述三維面數據。
d)線對象。它統一了二維線對象和三維線對象的數據描述,特別將三維管線也引入到線對象模型中,并加入了材質、顏色和管線半徑等可視化信息,管線半徑為零時則表示該線對象描述的是二維或三維的簡單線對象。
e)點對象。它主要描述獨立的點狀地物,并在描述樹、街燈等紋理點狀地物的同時引進了CAD或3DS模型,將這些模型也作為點對象,并用一個定位點和方向來放置它,以增強點對象的可視化效果。因此,點對象既可用來描述簡單的點對象也可通過CAD或3DS模型來描述復雜的對象
上述各個對象均有各自的數據結構,下面以點對象為例簡要說明其特征。點對象的數據結構如下圖所示:
2)屬性數據結構
屬性數據是三維模型數據的解釋和語義描述,它是城市GIS必需的表現數據之一,缺少屬性說明的三維模型有“形”而無“意”,從“形”的意義出發,可將三維模型數據分為五大類地物;但從“意”的角度講,對其分類是以地物的地物類編碼為依據的。地物類編碼是用來標識和區分一類地物的最直接的說明,尤其在區分屬性數據結構方面更是如此,相同地物類編碼所標識的同一類地物將具有相同描述結構的屬性數據。因此,一個城市所有模型數據中地物類編碼的多少就決定了屬性數據結構的多少,這些不同的屬性數據結構主要是由城市GIS的用戶來設計的。同時,基于系統實用性的考慮,對地物類編碼的定義又作了適當的擴展,因為有時用戶覺得嚴格意義上不同地物類編碼的屬性結構有相似性,例如都包含:名稱,面積,備注等信息,用戶可以將這幾類不同地物類編碼的地物歸入同一個新的地物類編碼,從而將它們的屬性數據結構統一起來。
3.3數據庫空間索引方法
在城市GIS中,空間索引一直是空間數據組織的重要內容之一,它是組織空間數據體系結構的基礎,并為快速的空間數據查詢提供了一個高效的途徑。空間索引的性能優劣將直接影響到城市GIS的整體性能優劣。
對于空間索引,各國學者進行了較多的研究,最主要的成果如BSP樹、K-D-B樹、R樹、R+樹、CELL樹、四叉樹等。本文采用的第一種空間索引方法是類似R+樹的索引,但針對城市GIS海量數據管理的特點對其組織作了一定的調整,利用它可以在空間快速的定位一個地物,提高了三維空間漫游時的系統效率。但是使用這種索引方式會導致在進行空間分析時需要設計復雜的算法才能執行較為復雜的查詢操作,而這類算法通常由于復雜度較高且涉及大量數據,所以執行效率比較低;另外一方面,基于Oracle空間插件(Spatial Catridge)的空間索引提供了復雜的索引功能和簡單的編程接口,不需要復雜的算法就可以實現分析功能,克服了前者的缺點,但Oracle空間索引的執行效率比較低,無法滿足實時漫游的效率要求。為此,本文提出的數據組織方法中將采用這兩種索引方法,二者相輔相成,既滿足了實時查詢時的速度要求也滿足了復雜查詢的效率要求。
4 關鍵問題的實現
4.1空間數據的快速壓縮和解壓
在城市GIS管理的海量數據中,三維模型數據是其主要部分,而在三維模型數據中矢量數據和紋理數據占有較大比重。在網絡環境下直接傳輸如此大數據量的數據勢必會降低系統效率,為此,為了提高客戶機從遠程數據庫中提取數據時的網絡傳輸速度,一方面,必須建立高效的空間索引機制;另一方面,出于減少從數據庫中讀取和網絡上傳輸的數據量的考慮,采用數據壓縮技術來實現用更少量的數據來表達更多信息的目的成為必然的選擇。本文根據三維模型中矢量數據、紋理數據各自的特點,分別采用了兩種壓縮方法:一種是針對矢量數據的無損壓縮算法-LZ77,另外一種是針對紋理數據的有損壓縮算法-JPEG。
4.2 多用戶并發控制機制
多用戶數據庫中,由于多個并發的事務操作中可能會同時更新相同的數據,所以必須保證這些同時執行的事務操作能夠產生有意義、一致性的結果。為此,多用戶數據庫中對數據并發和數據一致性的控制是至關重要的。管理數據庫的目的就是為了實現多用戶環境下的數據共享協作,因此并發控制是城市GIS數據管理面臨的關鍵性問題。
通常,多用戶數據庫中是利用鎖機制來解決數據并發、數據一致性以及數據完整性問題的。鎖機制是一種防止多個事務在訪問相同資源時導致的破壞性交互操作的機制,加鎖控制的用戶對象包括用戶的表和表中記錄。然而在此基礎之上,還必須設計一個合理利用鎖機制的策略來保證多個用戶并發訪問時數據庫的吞吐量,但由于事務隔離模型與數據庫的吞吐量是兩個互相矛盾的制約因素,因此必須在二者之間尋求相對平衡以使得在不影響數據一致性的前提下達到系統的最大吞吐量,本文即利用鎖機制實現了多用戶的并發控制。
同時本文并沒有采用對表加鎖的方法,而是采用了對記錄加鎖的方法來設計并發控制機制。對表加鎖的缺點是當某個用戶訪問表中的一條記錄時會鎖定整個表,導致其它用戶無法訪問該表,這在很大程度上降低了系統的吞吐量,因為大多數情況下并發用戶訪問的記錄一般是不同的,這樣的并發操作并不會產生數據的不一致性。相對而言,對記錄加鎖的方法將具有更大的控制靈活性,但同時也增加了設計的復雜性。采用的鎖類型主要是ORACLE中的共享記錄鎖(Row Share Table Locks ,RS),它是所有鎖類型中限制最小的鎖模式,共享記錄鎖允許在一個事務采用該類型鎖鎖定某表中記錄的同時還允許其它事務在該表中進行查詢、插入或者對該表中其它記錄的更新、刪除以及上鎖操作;共享記錄鎖限制其它事務對該表進行排它型(Exclusive)的寫操作,即不允許對上了鎖的記錄進行寫操作,但允許對該表中的其它記錄進行任何其它操作。共享記錄鎖是靈活性最大的一種鎖模式,靈活運用共享記錄鎖可以達到更大的數據庫吞吐量以及更小的并發操作等待時間的效果。
上述這些控制機制保證了多用戶并發環境下城市GIS數據庫能夠維持其底層空間數據庫的數據一致性和完整性。
4.3整體系統的簡要數據流程
從邏輯上講,本文所述城市GIS數據管理體系結構是一個三層結構:上層是數據管理操作層(用戶界面)、中間是數據操作功能實現層(空間數據引擎),底層是ORACLE數據庫。這三者之間的數據流從數據庫的角度出發可分為兩種:入數據流(In Flow)和出數據流(Out Flow),入數據流主要是指由上層插入或更新數據時向底層數據庫輸入的數據,出數據流主要是指由上層發出查詢請求時由底層數據庫向上層提供的數據,三者間的簡要數據流程如圖2所示。
5 結語
完備的三維數據模型定義、高效空間索引、快速數據壓縮方法等等問題都是城市GIS海量數據管理的難點。這些內容不僅依賴三維GIS本身的發展,而且也需要計算機領域技術進步的支持,雖然本文提出城市GIS海量數據管理方法初步實現框架和方式,但仍存在一些問題有待進一步探討和改進。
【城市GIS三維數據管理方法淺析論文】相關文章:
淺析GIS多源數據集成模式論文04-27
淺析城市園林的設計要點的論文04-22
6西格瑪,以數據為依據的管理方法論文07-02
淺析山地城市公園規劃設計論文04-18
基于運動捕獲數據的三維角色動畫設計論文07-11
淺析同軸雙層三維金屬管的制造技術論文05-20
宜居城市建設路徑淺析論文04-26