本節書摘來自異步社群《arcgis engine 地理資訊系統開發從入門到精通(第二版)》一書中的第6章,第6.4節,作者: 邱洪鋼 , 張青蓮 , 熊友誼 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
arcgis engine 地理資訊系統開發從入門到精通(第二版)
6.4.1 geodatabase介紹
随着關系資料庫技術的完善,變長資訊的存儲成為可能,人們開始采用關系資料庫技術管理空間資料,并逐漸成為主導。利用關系資料庫管理空間幾何資訊、屬性資訊、拓撲資訊、三維資訊以及多媒體資訊,使得gis軟體能夠充分地利用商用資料庫中已經成熟的衆多特征,如快速索引、資料完整性和一緻性、并發控制等機制。在此情況下,esri公司推出了geodatabase,該資料模型采用全關系資料庫管理空間資料,與各種商用關系資料庫相容。geodatabase充分利用面向對象技術,将空間要素的屬性和行為有機地結合在一起,采用現代化的、标準的方式實作對象,對象都定義為一個com元件,并允許使用者在這些基本模型的基礎上擴充自己的面向對象資料模型。
geodatabase是面向對象的空間資料存儲模型,arcsde是esri公司針對空間資料的存儲問題推出的一套空間資料庫管理軟體。通過sde,使用者可以将多種資料産品按照geodatabase模型存儲于商用資料庫系統中,并獲得管理和檢索服務。
geodatabase提供了可伸縮的空間資料存儲方案,提供了兩種存儲方式:personal database和enterprise geodatabase。personal database适用于單機環境下的gis應用,實際上就是一個access資料庫,personal database通過microsoft jet engine将空間資料存放在access資料庫中。enterprise geodatabase主要用于在網絡環境下工作的gis,适合大型資料庫在網絡環境下進行多使用者并發操作和版本控制。gis使用者可以通過建立版本來并發通路geodatabase中的空間資料。
geodatabase 提供了4種空間資料的表述形式:描述要素的矢量資料、描述影像和網格的栅格資料、描述表面不規則三角網絡、用于位址定位的addresses 和locator。
6.4.2 geodatabase的體系結構
geodatabase的基本體系結構包括要素資料集、栅格資料集、tin資料集、獨立的對象類、獨立的關系類和屬性域等。其中要素資料集又由對象類、要素類、關系類等構成。
(1)對象類(object class)。
對象類表示的是非空間實體,不在地圖上直接表示,但與地圖上的直接表示的圖形要素關聯。對象類可以組織到一個要素資料集中,也可以單獨存在。
(2)要素類(feature class)。
要素類表示的是具有相同幾何形狀的空間實體。要素類可以獨立存在,也可以具有拓撲關系。當不同的要素類之間存在拓撲關系時,應組織到一個要素資料集中。要素類可細分為點狀要素類、線狀要素類、面狀要素類等。
要素類與對象類的主要差別在于:要素類中存儲了空間資訊,而對象類中卻沒有。
(3)要素資料集(feature datasets)。
要素資料集由一組具有相同空間參考(spatial reference)的要素類組成,用于存放矢量資料。
(4)栅格資料集(raster datasets)。
栅格資料集用于存放栅格資料,可以支援海量栅格資料,支援影像鑲嵌。可以通過建立“金字塔”索引,進而提高海量栅格資料的檢索速度和顯示效率。
(5)tin資料集(tin datasets)。
tin資料集由一系列不規則的三角形構成,這些不規則的三角形表示了地表的起伏。
(6)關系類(relationship class)。
關系類用于定義兩個不同的要素類或對象類之間的關聯關系。
(7)屬性域(domain)。
屬性域用于定義屬性的有效取值範圍,可以是連續的變化區間,也可以是離散的。
(8)幾何網絡(geometric network)。
幾何網絡是在若幹要素類的基礎上建立的一個新的類。幾何網絡包括網絡的邊要素和點要素,例如供水系統中的幾何網絡,水管是邊要素,點要素就是閥門。