許穎
摘 要
從數據存取方式來看,關系型數據庫與面向對象數據庫具有差異性,無法在程序設計上進行良好匹配。因此,從分析現有數據庫的空間類型、數據結構及影像表達矢量等特點,來提出基于面向對象的空間數據庫管理模型,來實現對空間數據的可視化管理。
【關鍵詞】數據庫 矢量模型 空間數據 轉換機制
從信息構成來看,與空間位置相關的數據占比80%以上,特別是隨著現代定位技術、遙感技術的廣泛應用,以空間數據庫為特征的數據類型也日趨多樣化,而由此帶來的數據庫管理卻面臨新的挑戰。從空間數據管理現狀來看,多為文件、文件管理、關系數據庫,以及全關系數據庫、中間件空間數據庫管理,面向對象數據庫管理等。在文件管理上,數據的安全性、一致性相對統一,而對于關系數據庫及其他混合管理模式來看,由于數據與屬性數據是分開存儲的,其完整性可能遭到破壞,同樣對于變長的關系數據庫進行存取時,還會涉及到數據處理與二進制轉換而引起的效率低下問題。
1 空間數據管理研究現狀
從空間數據的管理實踐中,很多學者提出了不同的管理思路,尤其是在關系型數據庫空間數據管理上,有學者提出設計基于空間數據的關系數據庫;有學者提出基于空間數據映射的嵌入式SQLite方法;也有學者通過對遙感影像數據的分析,提出基于ArcSDE技術的算法。然而,對于面向對象的數據庫,如SQL Server、Oracle、PostgreSQL等主流數據庫,因其非結構性特點,在數據存取管理上難以實現對不同字段的直接存取。特別是兩者數據庫在程序設計上的不匹配問題,也給空間數據管理帶來更長的時間消耗,影響空間數據庫管理效率的提升。
2 空間數據管理機制研究
針對空間數據管理對象的特殊性,主要分為矢量數據、柵格數據及影像數據三種。在程序語言設計上,多通過定義RasterLayer類、VectorLayer類和ImageLayer類來進行不同類型數據的表示。因此,在空間數據管理機制上,也分為三種。第一種是基于矢量的空間數據管理機制,以歐幾里得幾何學中的點、線、面及組合來進行數據空間分布表示,并從矢量數據精度、存儲冗余度等方面來進行網絡化分析。如依照維度變化來劃分0維點、1維線、2維面;在數據表示上用一個坐標來表示點,用連續坐標點表示線,面是由外邊界和0到多個內邊界組成,邊界表示成環,環由多個連續的點坐標構成。因此在面向對象的程序設計中,可以利用CPoint、CLine、CPolygon來表示空間數據及屬性特征,并通過建立基于面向對象數據庫的矢量數據庫檢索機制來實現對面向對象數據庫的管理。
從空間數據庫中的柵格數據來看,其多為均勻的網格單元,并由相應的屬性值來進行表示。如某柵格結構中的點可以由單柵格進行表示,其數值與緊鄰網格值具有差異性;柵格線由連續的柵格單元構成,各個屬性值具有一致性,但與鄰域柵格值具有差異性;面是由多個連續聚集的柵格單元構成,區域內柵格值具有一致性,而鄰域柵格值具有差異性。從空間數據結構組成上,柵格數據表達可以用Cell表示,每個柵格單元有行號、列號及值三部分,而Grid表示起始坐標、行數、列數;RasterLayer為柵格數據圖層,用于表示空間參考信息。
對于影像數據的管理,可以從其記錄載體上對不同感知方式、空間尺寸及監測的動態數據變化信息進行表征,并以圖像方式來呈現,為后續影像空間數據管理創造條件。通過面向對象程序設計,將Image類作為影像數據表達結構,并通過圖像處理函數實現二進制文件轉換,以便于對其進行快速存取。當然,遙感影像數據在管理上多以塊為單位,建立基于面向對象的塊數據檢索是實現存取操作的前提。
3 基于面向對象空間數據管理系統的設計
在對空間數據系統進行管理中,需要滿足三項要求,一是對矢量、柵格及影像數據的存取操作;二是滿足對矢量、柵格、影像數據類型的定義、檢索與更新;三是實現對矢量、柵格、影像數據的可視化交互管理。為此,在設計空間數據庫管理系統中,需要從兩個方面來保障協同管理。
3.1 系統架構上的設計
根據面向對象數據庫的基礎原型,需要搭建三層數據管理架構,即基礎數據庫層、數據庫管理功能層及數據庫服務層。對于基礎數據庫層,主要包括面向對象的矢量數據庫、柵格數據庫及影響數據等空間數據,也是構成整個數據庫設計的底層基礎;對于數據庫管理功能層,主要是滿足基于空間數據的表示、存取、數據庫檢索、空間數據更新等要求;對于數據庫服務層,以滿足對空間數據的表征、控制,增刪空間數據、縮放空間數據圖層,以及平移等操作,在與空間數據進行系統交互過程中為用戶瀏覽提供條件。
3.2 軟件開發平臺的實現
以Visual Studio軟件為開發平臺,利用開源數據庫Db40進行存取,來設計空間數據庫管理系統模型。在空間數據庫設計上,利用面向對象的數據庫存取方案,分別從點、線、面矢量數據轉換與表征上,建立與db40數據庫的存取機制,利用柵格數據庫來滿足對空間數據庫柵格數據類型的存取,特別是設計柵格數據庫檢索與更新機制,來實現柵格數據的快捷、直觀可視化管理;針對空間數據庫中不同城市、建筑、邊界等差異,在柵格數據表示上,融入高程模型,以亮度來區分不同高程區域,以滿足對空間數據遙感影像的準確展示。
4 結語
從本研究對空間數據庫的分析與應用來看,基于面向對象的數據庫系統在設計上,應該滿足矢量空間數據、柵格空間數據、影像數據的結構化轉換,尤其是在數據庫類的設計上,要避免面向對象程序設計語言在空間數據表征與執行中的效率低下問題,通過建立與空間數據庫不同數據類型的檢索與映像,來快速呈現不同空間數據庫的管理需求,滿足對空間數據多維性、時態性要求。當然,隨著空間數據庫海量性特征,在建立空間數據庫空間索引機制上,著重于對數據檢索效率的提升,解決延時性問題。
參考文獻
[1]陸寧,馬智亮.利用面向對象數據庫與關系數據庫管理IFC數據的比較[J].清華大學學報(自然科學版),2012(06).
[2]黃吉川,譚曦.地理空間元數據理論體系研究[J].科技資訊,2015(35).
作者單位
桐鄉技師學院(籌) 浙江省桐鄉市 314500