1 Geodatabase概念
Geodatabase是ArcInfo8引入的一種全新的面向?qū)ο蟮目臻g數(shù)據(jù)模型,是建立在DBMS之上的統(tǒng)一的、智能的空間數(shù)據(jù)模型。“統(tǒng)一”是指,Geodatabase之前的多個(gè)空間數(shù)據(jù)模型都不能在一個(gè)統(tǒng)一的模型框架下對(duì)地理空間要素信息進(jìn)行統(tǒng)一的描述,而Geodatabase做到了這一點(diǎn);“智能化”是指,在Geodatabase模型中,對(duì)空間要素的描述和表達(dá)較之前的空間數(shù)據(jù)模型更接近我們的現(xiàn)實(shí)世界,更能清晰、準(zhǔn)確地反映現(xiàn)實(shí)空間對(duì)象的信息。
GeoDatabase的設(shè)計(jì)主要是針對(duì)標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫技術(shù)的擴(kuò)展,它擴(kuò)展了傳統(tǒng)的點(diǎn)、線和面特征,為空間信息定義了一個(gè)統(tǒng)一的模型。在該模型的基礎(chǔ)上,使用者可以定義和操作不同應(yīng)用的具體模型,例如交通規(guī)劃模型、土地管理模型、電力線路模型等。GeoDatabase為創(chuàng)建和操作不同用戶的數(shù)據(jù)模型提供了一個(gè)統(tǒng)一的、強(qiáng)大的平臺(tái)。
由于Geodatabase是一種面向?qū)ο蟮臄?shù)據(jù)模型,在此模型中,空間中的實(shí)體可以表示為具有性質(zhì)、行為和關(guān)系的對(duì)象。Geodatabase描述地理對(duì)象主要通過以下以下四種形式:
(1)用矢量數(shù)據(jù)描述不連續(xù)的對(duì)象;
(2)用柵格數(shù)據(jù)描述連續(xù)對(duì)象;
(3)用TINs描述地理表面;
(4)用Location或者Address描述位址。
Geodatabase還支持表達(dá)具有不同類型特征的對(duì)象,包括簡(jiǎn)單的物體、地理要素(具有空間信息的對(duì)象)、網(wǎng)絡(luò)要素(與其他要素有幾何關(guān)系的對(duì)象)、拓?fù)湎嚓P(guān)要素、注記要素以及其他更專業(yè)的特征類型。該模型還允許定義對(duì)象之間的關(guān)系和規(guī)則,從而保持地物對(duì)象間相關(guān)性和拓?fù)湫缘耐暾?/p>
2 Geodatabase體系結(jié)構(gòu)
Geodatabase以層次結(jié)構(gòu)的數(shù)據(jù)對(duì)象來組織地理數(shù)據(jù)。這些數(shù)據(jù)對(duì)象存儲(chǔ)在要素類(Feature Classes)、對(duì)象類(0bject classes)和數(shù)據(jù)集(Feature datasets)中。Object Class可以理解為是一個(gè)在Geodatabase中儲(chǔ)存非空間數(shù)據(jù)的表。而Feature class是具有相同幾何類型和屬性結(jié)構(gòu)的要素(Feature)的集合。
要素?cái)?shù)據(jù)集(Feature datasets)是共用同一空間參考要素類的集合。要素類(Feature Class)儲(chǔ)存可以在要素?cái)?shù)據(jù)集(Feature datasets)內(nèi)部組織簡(jiǎn)單要素,也可以獨(dú)立于要素?cái)?shù)據(jù)集(Feature datasets)。獨(dú)立于要素?cái)?shù)據(jù)集(Feature datasets)的簡(jiǎn)單的要素類(Feature Class)稱為獨(dú)立要素類(Feature class)。存儲(chǔ)拓?fù)湟? Feature )的要素類必須在要素?cái)?shù)據(jù)集(Feature dataset)內(nèi),以確保一個(gè)共同的空間參考。
Geodatabase的基本體系結(jié)構(gòu)包括要素?cái)?shù)據(jù)集、柵格數(shù)據(jù)集、TIN數(shù)據(jù)集、獨(dú)立的對(duì)象類、獨(dú)立的要素類、獨(dú)立的關(guān)系類和屬性域。其中,要素?cái)?shù)據(jù)集又由對(duì)象類、要素類、關(guān)系類、幾何網(wǎng)絡(luò)構(gòu)成。
3 Geodatabase的三種存儲(chǔ)方案
Geodatabase提供了不同層次的空間數(shù)據(jù)存儲(chǔ)方案,可以分成三種——PersonalGeodatabase(個(gè)人空間數(shù)據(jù)庫)、File Geodatabase(基于文件格式的數(shù)據(jù)庫)和ArcSDE Geodatabase(企業(yè)級(jí)空間數(shù)據(jù)庫)。
1.Personal Geodatabase
Personal Geodatabase主要適用于在單用戶下工作的CIS系統(tǒng),適用于小型項(xiàng)目的地理信息系統(tǒng)。ArcGIS對(duì)個(gè)人Geodatabase同樣具有全功能支持。Personal Geodatabase實(shí)際上就是一個(gè)Microsoft Access數(shù)據(jù)庫,當(dāng)用戶安裝ArcGIS的時(shí)候,系統(tǒng)就自動(dòng)安裝了Microsoft Jet,用戶無需再另外安裝Microsoft Access數(shù)據(jù)庫。也就是說,PersonalGeodatabase對(duì)于ArcGIS用戶是免費(fèi)的,它使用Microsoft Jet Engine的數(shù)據(jù)文件,將空間數(shù)據(jù)存放在Access數(shù)據(jù)庫中。Personal Geodatabase更像基于文件的工作空間,在使用Personal Geodatabase時(shí)需要注意的是,Personal Geodatabase的最大容量是2G,并且只支持windows平臺(tái)。
2.File Geodatabase
在ArcGIS 9.2版本中,引入了一種全新的空間數(shù)據(jù)存儲(chǔ)方案——File Geodatabase,它也是適用于單用戶環(huán)境的,同樣能夠支持完整的Geodatabase數(shù)據(jù)模型,同樣可以讓用戶在沒有DBMS的情況下使用大數(shù)據(jù)集。File Geodatabase數(shù)據(jù)以文件形式存儲(chǔ)在Windows、Solaris以及Linux系統(tǒng)的文件夾內(nèi)。容量限制方面,F(xiàn)ile Geodatabase中的每個(gè)表都能存儲(chǔ)1TB的數(shù)據(jù),這就是說對(duì)任何應(yīng)用目的,用戶都能夠支持非常大的數(shù)據(jù)集。Fiel Geodatabase還具有壓縮矢量數(shù)據(jù)的選項(xiàng),通過這個(gè)選項(xiàng),用戶可以在保證性能的同時(shí)減少硬盤占用,壓縮比率可以達(dá)到2:1到25:1。從目前測(cè)試的情況來看,F(xiàn)ile Geodatabsse性能比Personal Geodatabase要高20%到10倍。如果采用壓縮方式,它的性能與Shape文件相仿,并且要強(qiáng)于Personal Geodatabase。存儲(chǔ)同樣的數(shù)據(jù)時(shí),F(xiàn)ile Geodatabase比Personal Geodatabase減少了50%到80%的磁盤占用空間。
ArcGIS提供了一些工具來從DBMS形式的Geodatabase中提取一個(gè)File Geodatabase以及將一個(gè)File Geodatabase導(dǎo)人DBMS中。用戶可以通過從其他任何Geodatabase或者所支持的文件結(jié)構(gòu)內(nèi),例如Shape文件,加載數(shù)據(jù)來輕松地創(chuàng)建File Geodatabaee。File Geodatabase很容易被ArcGIS Desktop、ArcGIS Engine以及ArcGIS Server訪問和使用。
另外,F(xiàn)ile Geodatabage還支持存儲(chǔ)海量柵格數(shù)據(jù)集,與ArcSDE raster schema兼容。從目前的趨勢(shì)來看,F(xiàn)ile Geodatabase將要逐步取代Personal Geodatabase。
3.ArcSDE Geodatabase
ArcSDE Geodatabase主要用于在多用戶網(wǎng)絡(luò)環(huán)境下工作的GIS系統(tǒng)。通過TCP/IP協(xié)議,安裝在管理企業(yè)數(shù)據(jù)的關(guān)系數(shù)據(jù)庫的服務(wù)器上的ArcSDE為運(yùn)行在客戶端的CIS應(yīng)用程序提供ArcSDE Geodatabase。通過ArcSDE,用戶可以將多種數(shù)據(jù)產(chǎn)品按照Geodatabase模型存儲(chǔ)于商業(yè)數(shù)據(jù)庫系統(tǒng)中,并獲得高效的管理和檢索服務(wù)。
ArcSDE Geodatabase的一個(gè)最大特點(diǎn)就是使用ArcSDE在網(wǎng)絡(luò)環(huán)境下對(duì)空間數(shù)據(jù)進(jìn)行多用戶并行操作。另外 ArcSDE Geodatabaee提供的版本控制機(jī)制也是Personal Geodatabaee和File Geodatabase不具有的。通過ArcSDE,用戶可以在0racle、Microsoft SQL Server、InfoMix和DB2 中存取SDE圖層。
當(dāng)用戶從SDE圖層中創(chuàng)建Geodatabase時(shí),客戶端需要向這些圖層加入元數(shù)據(jù)表。這些元數(shù)據(jù)包括子類、域、關(guān)聯(lián)類、要素集等,這些元數(shù)據(jù)使得ArcSDE管理的空間數(shù)據(jù)庫真正體現(xiàn)了Geodatabase模型。
3 Geodatabase的優(yōu)勢(shì)
地理空間數(shù)據(jù)模型從最初的CAD數(shù)據(jù)模型到Coverage數(shù)據(jù)模型,再發(fā)展為現(xiàn)今普通使用的Geodatabase 數(shù)據(jù)模型,經(jīng)歷了幾十年的時(shí)間。Geodatabase為GIS應(yīng)用程序提供常用的數(shù)據(jù)接口和管理框架,提供了處理豐富數(shù)據(jù)類型、應(yīng)用復(fù)雜規(guī)則和關(guān)系、存取大量地理數(shù)據(jù)等功能。
Geodatabase的優(yōu)勢(shì)主要在該模型對(duì)關(guān)系數(shù)據(jù)庫的擴(kuò)展,具體體現(xiàn)以下幾個(gè)方面:
(1) Geodatabase存儲(chǔ)要素的幾何特性,便于開發(fā)GIS應(yīng)用程序中的空間操作功能,比如查找與要素鄰近的對(duì)象或者具有特定長度的對(duì)象,Geodatabase中還提供定義和管理數(shù)據(jù)的地理坐標(biāo)系統(tǒng)的框架。
(2) Geodatabase中的幾何網(wǎng)絡(luò)(Geometric Network)可以模擬道路運(yùn)輸實(shí)業(yè)或者其他公用設(shè)施網(wǎng)絡(luò),進(jìn)行網(wǎng)絡(luò)拓?fù)溥\(yùn)算。
(3) Geodatabase中可以定義對(duì)象、要素之間的關(guān)聯(lián)(Relationships)。使用拓?fù)潢P(guān)系、空間表達(dá)和一般關(guān)聯(lián),用戶不僅可以定義要素的特征,還可以定義要素與其他要素的關(guān)聯(lián)規(guī)則。當(dāng)要素被移動(dòng)、修改或刪除的時(shí)候,用戶預(yù)先定義好的關(guān)聯(lián)要素也會(huì)作出相應(yīng)的變化。
(4) Geodatabase通過定義域(Domain)和驗(yàn)證規(guī)則(Validation rule)來增強(qiáng)屬性的完整性。
(5) Geodatabase將要素的一些“自然”行為綁定到存儲(chǔ)要素的表中。
(6) Geodatabase可以有多個(gè)版本(Version),同一時(shí)刻允許不同用戶對(duì)同一數(shù)據(jù)進(jìn)行編輯,并可自動(dòng)協(xié)調(diào)出現(xiàn)的沖突。