① 地理信息系統與一般信息系統的區別聯系
聯系:地理信息系統是一般信息系統的分支,一般信息系統包含地理信息系統。兩者區別如下:
一、主體不同
1、地理信息系統:是在計算機硬、軟體系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分布數據進行採集、儲存、管理、運算、分析、顯示和描述的技術系統。
2、一般信息系統:是由計算機硬體、網路和通信設備、計算機軟體、信息資源、信息用戶和規章制度組成的以處理信息流為目的的人機一體化系統。
二、功能不同
1、地理信息系統:是一門綜合性學科,結合地理學與地圖學以及遙感和計算機科學,已經廣泛的應用在不同的領域,是用於輸入、存儲、查詢、分析和顯示地理數據的計算機系統。
2、一般信息系統:對信息的輸入、存儲、處理、輸出和控制。
三、特點不同
1、地理信息系統:地圖這種獨特的視覺化效果和地理分析功能與一般的資料庫操作(例如查詢和統計分析等)集成在一起。
2、一般信息系統:是任何組織中都有的一個子系統,是為了生產和管理服務的。
② 地理資料庫的數據分類
地理數據包括觀測數據、分析測定數據、遙感數據和統計調查數據。按內容分為自然條件和社會經濟兩類數據。圖形數據經過數字化後,在計算機內將各要素數據按一定的數據結構建立地理資料庫,包括兩種基本數據類型:①描述地理實體屬性的數據。如土地利用類型、河流名稱、道路寬度和質量等;②描述地理實體空間分布的數據。如實體位置(X,Y坐標集合)、實體間相鄰關系等。這兩類數據的管理方式不同。對地理屬性數據可採用通用資料庫管理系統進行管理,而對地理空間數據則需採用專門的空間數據管理系統進行管理,並在兩者之間建立有效的聯結。地理資料庫是地理信息系統中最主要的數據基礎,應用於地理過程、地理環境分析評價與制圖。
③ 地理數據和地理信息的區別與聯系
「信息就是信息,既非物質,也非能量。」 狹義資訊理論將信息定義為「兩次不定性之差」,即指人們獲得信息前後對事物認識的差別;廣義資訊理論認為,信息是指主體(人、生物或機器)與外部客體(環境、其他人、生物或機器)之間相互聯系的一種形式,是主體與客體之間的一切有用的消息或知識。我們認為信息是通過某些介質向人們(或系統)提供關於現實世界新的事實的知識,它來源於數據且不隨載體變化而變化,它具有客觀性、實用性、傳輸性和共享性的特點。
信息與數據既有區別,又有聯系。數據是定性、定量描述某一目標的原始資料,包括文字、數字、符號、語言、圖像、影像等,它具有可識別性、可存儲性、可擴充性、可壓縮性、可傳遞性及可轉換性等特點。信息與數據是不可分離的,信息來源於數據,數據是信息的載體。數據是客觀對象的表示,而信息則是數據中包含的意義,是數據的內容和解釋。對數據進行處理(運算、排序、編碼、分類、增強等)就是為了得到數據中包含的信息。數據包含原始事實,信息是數據處理的結果,是把數據處理成有意義的和有用的形式。
地理信息作為一種特殊的信息,它同樣來源於地理數據。地理數據是各種地理特徵和現象間關系的符號化表示,是指表徵地理環境中要素的數量、質量、分布特徵及其規律的數字、文字、圖像等的總和。地理數據主要包括空間位置數據、屬性特徵數據及時域特徵數據三個部分。空間位置數據描述地理對象所在的位置,這種位置既包括地理要素的絕對位置(如大地經緯度坐標),也包括地理要素間的相對位置關系(如空間上的相鄰、包含等)。屬性數據有時又稱非空間數據,是描述特定地理要素特徵的定性或定量指標,如公路的等級、寬度、起點、終點等。時域特徵數據是記錄地理數據採集或地理現象發生的時刻或時段。時域特徵數據對環境模擬分析非常重要,正受到地理信息系統學界越來越多的重視。空間位置、屬性及時域特徵構成了地理空間分析的三大基本要素。
地理信息是地理數據中包含的意義,是關於地球表面特定位置的信息,是有關地理實體的性質、特徵和運動狀態的表徵和一切有用的知識。作為一種特殊的信息,地理信息除具備一般信息的基本特徵外,還具有區域性、空間層次性和動態性特點。
④ 地理信息系統的基本分析功能與應用模型之間的區別和聯系是什麼
分析功能是基於現有數據按照一定規律或者參數進行計算得出結果
這些規律和參數就可以構成一個應用模型 比如降雨量計算模型或者風力強度計算模型等
但應用模型很多是專業領域的模型 其表現可以是參數表格 也可以是圖表或者計算公式 不利於地理信息這種要與地理坐標相聯系並且需要特殊的可視化效果的信息分析與表達
因此要構建適合於地理信息分析和表達的應用模型就要把如氣象、農業等行業應用模型轉變或者結合地理信息 做成與空間信息相連接的模型用於應用分析
舉個例子:
用宗地圖和房地產統計數據作分析可以得到各地塊的房地產總價均價等,但房價與地塊之間的關系要做成一個應用模型,其中就涉及地理位置、房產市場行情、人口數量與構成、收入統計等這類因素,會有各類計算公式,就很復雜了。
⑤ 地理信息系統的數據模型包括那些相互聯系的方面試舉例說明
1.引言
經過幾十年的發展,今天的GIS系統已經具備了較強的數據存貯、管理和輸入輸出功能,但目前大多數的GIS仍然是以數據為中心的,在完整表達客觀地理世界、進行高層次的空間分析和直接提出決策方案的能力方面還遠遠不夠,導致這種情況的根本原因在於現有GIS的數據模型不能准確地表達客觀地理世界。為此,作者為現有GIS軟體總結了兩種典型的數據模型[1]:拓撲關系數據模型和面向實體的數據模型,並分析了它們各自的優缺點,指出應該在整體論的基礎上為地理空間建立一個能夠直接反映人們認知的整體數據模型。
2.面向對象的整體數據模型
GIS本質上是對客觀地理世界的近似模擬,其理想狀態應該是盡可能准確地反映地理世界,同時做到數據量最小,又便於人們從中獲取所需要的信息和規律。要達到這種理想狀態,我們需要做好兩步工作:1)准確理解地理空間;2)為地理空間建立面向對象的整體數據模型---一個基於地理空間整體論、完全以面向對象方式組織的GIS數據模型。
地理空間的理解可以簡單概括為[1]:地理空間是一個目標組合排列集,每個目標或說對象都具有位置、屬性和時間信息,及與其它對象的拓撲關系、語義關系等。基於這一認識,我們可以得到,表達地理空間的整體GIS數據模型有如下特徵:
■ 將地理空間按照人的思維方式理解為基於目標的空間和定義在地球表層目標集上的關系。除了要研究對象的幾何位置及拓撲關系外,還要重視研究對象間的語義關系。
■ 整體數據模型雖然要求我們將客觀世界作為整體看待,但在執行具體的數據組織時也需要對眾多的地理實體進行分層。分層是基本的和必要的,但由於為一種目的進行的分層很難滿足另外的需求,因此重要的不是提供一種通用的分層,而是對方便地加入、刪除對象等維護層的操作予以足夠的支持。復合圖層含有不按對象維數分層的含義,能夠很好地體現客觀 世界的整體特徵,為不同層中的關聯對象或用戶感興趣的不同類型對象提供了一個集中存貯與交互的獨立空間,整體數據模型尤其應該增強復合圖層的功能,使用戶能夠自由地加入、刪除、修改、查詢任意類型(點、線、面和復雜實體)的地理實體,同時能夠進行強大的空間分析;
■ 雖然傳統的GIS數據模型常將基於對象的模型用矢量結構表達,而將基於場的模型用柵格結構表達[2][3],其實可將對象和連續場這兩種看似對立的模型統一在面向對象的整體數據模型中,因為面向對象的方法作為一種框架不僅可以描述基於對象的模型,也可以描述基於場的模型[3][4]。
■ 空間對象是處在三維空間中的,並具有多尺度特徵。
■ 整個數據模型完全以面向對象的方式組織。
由上可見,在整體數據模型中,地理空間被表達為一個具有相互關系的對象集。每個對象不僅具有自己的幾何信息、屬性信息和時間信息,而且與其它對象之間具有拓撲關系和語義關系。所有這些信息在整體數據模型中都處於同等重要的地位,其中起著連接作用的是對象本身。根據對象的形狀特點,同時為了方便計算機實現與管理,我們可以將地理空間中的對象分為5種基本對象:點、線、面、注記和復雜對象。其中,前面四種對象比較簡單,統稱為簡單對象,這里只介紹第5種對象---復雜對象。
復雜對象是由簡單對象組合派生的,可以劃分為如下兩種類型:
1)單純型復雜對象
多個同樣類型的對象合並成為一個單純型復雜對象。·復雜點:點群,由多個點狀對象構成的集合,整個集合是一個對象,如聚集在一起的多個水文站等;•復雜線:線群,由多個線狀對象構成的集合,整個集合是一個對象,如一線狀水系,一徑流網路等;·復雜面:面群,由多個面狀對象構成的集合,整個集合是一個對象,如一湖泊群,一海洋群島等。
2)混合型復雜對象
點、線、面共存的復雜對象。混合型復雜對象的混合種類包括:點與線混合,點與面混合、線與面混合及點、線、面同時存在的混合,多個不同類型對象合並成一個就構成了混合型復雜對象,因此混合型復雜對象不屬於點、線、面中的某一基本類型,在屬性上也就不具備這些基本類型對象的一些特有信息,如線對象的長度,面對象的面積和周長等,這在資料庫表結構的設計中要予以必要的考慮。
單純型復雜對象可以在相應類型的簡單對象集中存貯和在相應圖層中顯示,也可以在復合對象集中存貯和在復合圖層中顯示;混合型復雜對象只能在復合對象集中存貯和在復合圖層中顯示,它們不適合存入簡單對象集,也不宜在點、線、面簡單圖層中顯示,因為它們的加入會破壞簡單對象集和簡單圖層的專題特性,也不便於管理。
上面介紹的這5種對象在地理空間中都是以三維形態存在的,但由於三維GIS建設的成本較高,在技術實現上也有相當的難度,而目前二維GIS能夠滿足大部分實際需求,因此我們在表達三維客觀地理世界、實現整體GIS數據模型時以開發二維GIS為主,而在某些需要查看具體三維細節的地方提供機制以表現其三維結構,例如可以另開辟一個小的三維地圖窗口來表現對象的三維形狀、結構和拓撲關系等。
時間問題[5]-[8]、語義關系和拓撲關系[9]-[11]一直是GIS界長期研究的熱點,雖然它們在整體數據模型裡面佔有很重要的位置,但是本文的重點在於確定整個數據模型和系統的總體組織,對它們的具體討論將在以後逐步展開。
3 系統數據組織
3.1 對象集
對象集是指由眾多對象構成的集合。劃分對象集的目的在於存儲和管理對象的方便,它可以是由同種幾何類型的對象構成的集合,也可以是由不同類型對象組成的集合。在整體GIS數據模型中,有如下三類對象集:
■ 簡單對象集:包括簡單點對象集、線對象集、面對象集和注記對象集四類;點對象集是由簡單點對象或單純型復雜點對象組成的集合,線對象集是由簡單線對象或單純型復雜線對象組成的集合,面對象集是由簡單面對象或單純型復雜面對象組成的集合。簡單對象集也可稱為專題對象集。
■ 復合對象集:由簡單點、線、面對象、注記對象、單純型復雜對象或混合型復雜對象等不同類型對象組成的集合。在這種對象集合中,可以包含任意類型的對象元素;
■ 場:場是由有機關聯的對象構成的集合,其中的元素在幾何上不再相互獨立,而是緊密相關,這一點與以上兩種對象集不同。如TIN、GRID、影像和網路等。場中的元素對象一般較多,場本身就是一個對象集,因此我們在概念上不再另設場對象和場對象集。
由上可見,對象類型與對象集類型並不是完全一一對應的,例如:單純型復雜線對象與簡單線對象一樣分別存貯與顯示在簡單線對象集和簡單線圖層中,不必要專門的單純型復雜線對象集和單純型復雜線圖層來存貯和顯示。
除了點、線、面三種單純型復雜對象外,其它各種對象(點、線、面簡單對象、注記對象和混合型復雜對象)與對象集類型都是一一對應的。另外,場是一種對象集,不過由於其中的元素並不是場對象(沒有場對象概念),因而場與場中的元素也不存在一一對應的關系,但在實現時開發者完全可以設計一個場類來管理各種各樣的場。
值得指出的是,整體GIS數據模型認為人們感知的客觀世界是一個由眾多類型不同的地理實體組成的整體世界,而不是人為分割的、僵化的對象層,但由於分層能夠為GIS管理和顯示地理對象提供極大的方便,因此我們在基本分層(在本文中是對象集)的基礎上,特別提出並強調復合對象集的概念,以此來表達和實現整體GIS數據模型的整體思想。復合對象集打破了GIS中傳統分層的框架,為不同對象集中的關聯對象或用戶感興趣的不同類型對象提供了一個集中存貯與交互的獨立空間,但同時也為系統開發和管理帶來了一定難度。比如,單純型對象集的顯示、修改、存貯、管理、分析和輸出都可採用統一的方法進行,而復合對象集的這些操作則必須在內部進行分別處理(按對象類型)。雖然如此,但單純型對象集與復合對象集都是為了滿足不同的用戶需求而設計的,二者在對象組織、系統實現和空間分析上各有優缺點,一個功能強大的GIS應該同時支持它們。
3.2 圖層
對象集加上自己特有的顯示屬性即是圖層,因此對象集類型與圖層類型是一一對應的。由於對象集包括點、線、面、注記對象集、復合對象集和場6種基本類型,因此圖層也有相應的點、線、面、注記圖層、復合圖層和場圖層6種基本類型。對象集用來存貯對象的空間與屬性數據,而圖層則用來設置對象集的顯示風格並控制對象集的顯示範圍、顯示比例和操作特性(如可顯示、可選擇、可編輯和可捕捉等),二者各司其職又相互聯系。在對應關繫上,一個圖層只對應一個對象集,而一個對象集卻可顯示在不同的地圖窗口中對應多個圖層,因此對象集與圖層之間的關系是一對多的關系。
表1 各種對象的存貯與顯示對比表
Tab.1 Contrast of store and display of all kinds of objects
對象類型
存貯的對象集
顯示的圖層
點與單純型復雜點
簡單點對象集表
簡單點圖層
線與單純型復雜線
簡單線對象集表
簡單線圖層
面與單純型復雜面
簡單面對象集表
簡單面圖層
混合型復雜對象
復合對象集表
復合圖層
場
多個非同類簡單對象集表
場圖層
注記對象
注記對象集表
注記圖層
3.3 資料庫
我們這里所說的資料庫是指廣義的資料庫,其定義為「存貯對象的集合」。物理上不管是以文件形式還是以商業資料庫形式存在,只要存貯有對象,我們都稱為資料庫。就綜合性能而言,一般是文件系統在小量數據方面有自己的長處,而商業資料庫則對大量數據的支持有著文件系統無法替代的優勢。
3.4 地圖或地圖窗口
對象集是用來存貯地理對象的,圖層是用來控制對象的顯示的,兩者都不等同於地圖或地圖窗口。我們的地圖或地圖窗口是一種框架,是顯示對象的實際載體,也是控制圖層並對之進行操作和分析的主體。
3.5 工作空間
工作空間是為系統管理方便而設計的,相當於一個大的倉庫,裡面存貯有數據的基本信息,如資料庫的名字與尺寸、地圖和其它資源(如點、線、面型符號)。系統運行時可調入資料庫對之進行管理控制。
4 數據存儲與訪問
4.1 存儲結構
4.1.1 簡單對象集對應的表結構
如前文所述,對象集包括點、線、面、注記對象集、復合對象集和場6種基本類型,因此在資料庫中應該設計與之對應的6種表。對於文件系統而言,表的概念可以擴展為結構,也就是說用6種結構來存貯這些對象集的各個元素。其中,結構的成員與表的欄位是一一對應的,為了操作方便,我們還可以定義一個專門的類來管理這個結構。對於商業資料庫而言,表就是關系資料庫系統中的普通表,不必進一步考慮。
不同的對象類型對應不同的表,但所有對象集都可採取形如表2的結構,當然不同類型的對象集在空間坐標串的組織及屬性欄位名字上會有不同。由於點對象與單純型復雜點對象除了空間坐標串組織方式稍有不同外(不過都是用同樣的方法打包成外部不可見的二進制塊,可視為相同),其餘欄位都相同,因此它們可以共存於一個表,也可以一起顯示在同一圖層中,在各方面的處理上幾乎沒有什麼差別。線對象與單純型復雜線對象、面對象與單純型復雜面對象的關系與此類似,也可同存於一個表和在同一圖層中顯示。當然,簡單對象與單純型復雜對象的空間坐標串的組成結構不同,單純型復雜對象應該有能夠識別多個同類型簡單子對象的格式或標記。對於混合型復雜對象,必須用單獨的混合型復雜對象表存貯,表結構中除了沒有簡單對象公有的長度、面積等欄位外,其它欄位均可根據需要進行設置,結構形式仍同於表2。
表2 簡單點、線、面對象及單純型復雜點、線、面對象表
Tab.2 Data structure of all kinds of objects
對象ID
用戶ID
空間信息
語義關系1…
屬性1…
屬性n
…
…
…
…
…
…,三維結構與時間表存在的標志
由上可見,我們並未如拓撲關系模型那樣在面對象表的空間坐標欄位里用一系列弧段標識號來表示面對象的組成,而是直接用其坐標串。雖然這樣在多邊形的公共邊上會有重復存儲現象出現,但在計算機存儲設備日益增大的今天,這已經不再是主要問題,相反這種坐標存儲方式使面對象表不再依賴線對象表,其中的元素也變成為相對獨立、完整的對象,同時也將提高系統訪問數據的速度。這種方式是面向實體的數據模型和面向對象整體數據模型在內部實現機制上的一個特色,是一種以空間換時間的存儲方式。
4.1.2 三維結構與時間屬性的表結構
目前的GIS仍然以二維GIS為主,但有時又需要查看少數對象的三維結構與時間特性,因此我們在整體GIS的資料庫中為這部分對象單獨設計了「三維結構與時間表」。為了討論方便,我們把上面的表2稱為主表,而把這個表稱為副表(表3)。副表中並不存儲整個對象集的全部對象,而是只存儲部分具有三維結構與時間特性的對象。至於哪些對象能有三維結構與時間屬性存貯在副表中,則要看它們在主表中最後一個屬性欄位里的標志值。如果標志值為真,則有,否則在三維結構與時間屬性表中就沒有這些對象。
有時候對一部分對象我們只關心其三維結構或只關心其時間屬性,這部分對象的取值不能簡單地設為真或假,此時要修改標志變數的值域將之設置為4值域,即V={0, 1, 2, 3},其中0表示既沒有三維結構又沒有時間屬性,1表示有三維結構但沒有時間屬性,2表示沒有三維結構卻有時間屬性,3表示兩者都有。如果整個對象集中存在值為1或2的對象,那麼該表就要拆分成兩部分以分別存儲它們的三維結構與時間屬性,當然這些對象的其它信息仍然存儲於主表中。
表3 三維結構與時間表
Tab.3 3D data structure and time attribute of all kinds of objects
對象ID
三維結構
時間屬性1
時間屬性2
時間屬性n
…
…
…
…
…
4.1.3 復合對象集對應的表結構
復合對象集是整體GIS數據模型中一個很重要的概念,對於復合對象集,我們可以用兩種方式存貯它。1)物理方式,即在物理上將對象的所有信息都集中存放於一個表中。由於不同類型對象的欄位不盡相同,因而必然會造成一些欄位的空間浪費,例如點對象的長度和面積欄位在現實世界中沒有實際意義,所佔空間自然就是浪費。顯然,復合對象集中對象的類型越多,造成的空間浪費就越大。不過,如果復合對象集中包含的對象類型只是簡單點與單純型復雜點,或簡單線與單純型復雜線,或簡單面與單純型復雜面,那麼就不會存在欄位不一致導致的空間浪費問題。2)邏輯方式,即復合對象集中只存貯對象的系統ID號,而實際的信息仍存在於簡單點、線、面對象和單純型點、線、面復雜對象表---主表中。只是當讀取復合對象集中對象的信息時,要打開並訪問相應類型的主表,需要耗費一定的系統時間。到底採用何種方式合適,要視具體情況而定。作者的建議是,當復合對象集中對象類型較少時,採用物理方式較為合適。反之,採用邏輯方式則更為合理。作為一個好的GIS系統,應該對這兩種存貯方式都進行強有力的支持。
4.1.4 場對應的表結構
面向對象的整體GIS數據模型不僅在概念上將地理對象作為一個個獨立的實體看待,而且在內部存儲上也是將它們獨立存儲,各對象表之間並不存在拓撲依賴關系,這一點與基於拓撲關系的數據模型有很大的不同。那麼,面向對象的整體GIS數據模型如何處理對象間的拓撲關系呢?我們知道,拓撲模型存貯對象間拓撲關系的一個很重要的目的是為了實現數據共享(同時也降低了訪問速度),整體GIS放棄了這一點,它在對象的單個表中為每個對象都存貯了完整的坐標信息。拓撲關系在GIS中並不是最基本的信息,當在特殊情況下需要時我們可以將它們臨時構建出來,生成的拓撲關系存放於新的對象集中,形成專門的具有拓撲關系的對象集,這種對象集就是場(這里特指矢量場)。場表的欄位設置基本上採用了拓撲關系數據模型的表結構,面與線之間的坐標存儲具有依賴關系。
其實,拓撲關系數據模型中預先存儲的拓撲關系和整體GIS數據模型中臨時構建的拓撲關系都是最基本的點、線、面鄰接關系,並未涉及到相交、相離、覆蓋等更多的拓撲關系,鄰接關系也是拓撲關系中最常用的一種,因此我們只討論點、線、面間的鄰接拓撲關系,其它關系可根據空間查詢和分析運算得到。
1)網路場
網路場是包含並強調點、線拓撲關系的最典型代表,網路場對應的對象表有兩個:以弧段為主的弧段---結點表(表中含坐標串欄位)與以結點為主的結點---弧段表(表中可含結點坐標欄位,也可不含)。其中結點---弧段表中可存貯弧段標識號,也可不存(如果不存,可在弧段---結點表中查得結點的弧段),但結點表一定要存在,因為結點有屬性要保存。網路場的兩個表包含了點與線之間的鄰接拓撲關系,我們可以通過它們查得任意結點的鄰接弧段和結點,可以查得任意弧段的起止結點。弧段的位置信息一般存於弧段---結點表的空間坐標串欄位中,端點的坐標可存於該欄位中,也可在結點---弧段表中設一坐標欄位存貯。
2)TIN場
TIN場由兩類表即可存貯:三角形表和點表。三角形的坐標存於點表的坐標欄位中,三角形表本身不存儲坐標信息,而只存三角形頂點序號,這些序號的排列有嚴格的順序,不能隨意顛倒。
3)點-線-面場
有了多邊形---弧段、弧段與結點和多邊形、結點---弧段三個表,我們就可以得到任意多邊形、任意弧段和任意結點的拓撲鄰接關系[1]。其中弧段與結點和多邊形表是樞紐,為弧段默認設置了空間坐標串欄位、從結點、到結點、左多邊形和右多邊形5個欄位。含有這種點、線、面之間拓撲關系的典型場有城市街區圖、地籍管理中的宗地等。
其它場如GRID模型、影像數據是柵格數據管理的范圍,數據結構相對簡單,本文不作討論。
4.1.5 資料庫選擇
在資料庫類型選擇上,有三種模式可供參考:
■ 全文件方式,即空間數據和屬性數據都存貯在文件系統中;
■ 文件資料庫混合方式,即空間數據存貯在文件系統中,而屬性數據存貯在商業資料庫中;
■ 全資料庫方式,即空間數據與屬性數據都存貯在商業資料庫中,兩種數據可以存放於同一個表也可分別存放於兩個表中。
4.2 訪問機制
上一小節討論了地理對象的存貯方式,作為一個大的空間資料庫,僅有這些表是不夠的。6種基本對象集表只是給我們提供了裝載對象的空間,其中的商業資料庫表雖然也給我們提供了訪問介面(文件系統中表的介面則需要我們自己開發),但究竟如何進行有效的調度訪問則還需要進一步設計和組織。
4.2.1 空間索引
我們知道,由於每個表具有相對固定的欄位結構,因此一個表只適合存貯類型相同的對象,在整體GIS數據模型里,一個表通常對應一個對象集。一個資料庫中往往有多個表,為了管理表的方便,可以用一個統一的表---總表來管理所有對象集對應的表,總表使我們在不必訪問資料庫各表的情況下就能得到它們的基本信息(如對象集的范圍、對象集的索引表等)。一個資料庫中只存在一個總表。
在解決了統一管理對象集表的問題後,進一步,為了快速訪問各表中的地理對象,我們可以為每個表建立空間索引和屬性索引。屬性索引可以直接利用關鍵字在資料庫中建立,而空間索引則需要採用一定的演算法來實現,常用的方法有R樹索引、網格索引和四叉樹索引等。為每個對象分配的空間索引編號都存在該對象集的空間索引表中,即一個對象集表對應一個空間索引表。一個資料庫中所有對象集表和相應的空間索引表都只對應一個總表。
表4 對象集表對應的空間索引表
Tab.4 Spatial index table of all kinds of object sets
索引塊編號 索引塊內的對象ID集合
…
….
4.2.2 對象存取
關系資料庫以結構簡單規范著稱,訪問存取操作技術也易為人們理解和掌握。當我們把地理對象存入資料庫中以後,後面對這些對象的訪問、修改也就容易了,在表中加、刪記錄也相當簡單。採用的方法都是將給定的空間、屬性條件組織成標準的SQL語句,輸入查詢運算元裡面執行即可。當然,對於空間條件的處理,需要自己寫演算法實現。總體來說,對資料庫中對象的訪問是以記錄集為媒介的,不管是讀出對象信息,還是修改、加入、刪除記錄(寫進),都要通過記錄集進行,因此必須首先進行查詢(SQL查詢和空間查詢)得到帶有所需欄位的記錄集。對於不支持這種規范化操作的文件型資料庫,可以自己開發類似的訪問引擎實現對象存取。圖3表示了在資料庫中進行對象存取的一種機制。
5 系統實現
相對於以前的GIS數據模型而言,整體模型更能真實地逼近客觀世界,我們開發的商品化軟體---SuperMap 系列軟體很好地體現了整體GIS數據模型的思想,能夠滿足整體GIS的大部分需求,目前已經在國內外市場上得到了廣泛應用。
圖4展示的是SuperMap系列軟體之一的通用桌面GIS系統---SuperMap Deskpro 3.0版本,該系統完全以面向地理實體的方式組織,不僅存貯有地理實體的位置與屬性信息,而且能夠方便地存取實體之間的拓撲關系和語義關系。在圖層的組織方面,不僅符合用戶對地理世界的直接感知模式(通過復合對象集實現),而且支持用戶根據自己的需要對地理數據進行理性地思考、組織、存貯、管理與顯示(簡單對象集不僅能滿足用戶的專題需要,同時也能避免用戶誤操作對專題數據統一性的破壞)。在數據存貯與管理方面,既支持小數據量的文件型資料庫,同時也支持市場上廣為流行的大型商用資料庫,如SQL Server和Oracle等,空間索引和查詢的速度也滿足海量數據用戶的實際需求。作為桌面GIS系統,SuperMap Deskpro 3.0為用戶提供了友好的圖形界面,在操作上也為用戶批量處理數據提供了很大的方便。SuperMap Deskpro 3.0參加國家科技部和國家遙感中心組織的2001年度國產地理信息系統軟體測評後,作為優秀的桌面GIS產品獲得了科技部的表彰推薦。
6 結語
用戶感知到的地理世界是一個整體,而不是一個個數據層,而且是動態變化和處於三維空間中的。地理世界中的各種實體之間具有拓撲關系和語義關系。為了使做出來的GIS盡可能地符合用戶對地理世界的認知,面向對向的整體GIS數據模型及其實現系統需具有如下特點:
1) 強調拓撲關系與語義關系;
2) 強調特定對象的三維結構與時間屬性;
3) 重視在復合對象集與復合圖層方面增強功能,例如增加任意類型的對象與對象集;
4) 面向對象與拓撲關系數據結構相結合、面向實體與面向場數據模型共存;
5) 客觀世界是一個整體,本質上沒有GIS的分層概念,但有時在GIS系統中也需要跨層研究對象之間的關系。對於這種跨層拓撲關系我們可以用三種方法揭示:①將各層顯示在同一地圖窗口中進行觀察;②跨圖層查詢並將結果顯示在同一地圖窗口中,結果也可保存為地圖或復合對象集;③利用整體數據模型中的網路場和點-線-面場有效地模擬跨層之間的拓撲關系。
6) 地理實體之間的語義關系可以通過對象的屬性來標識。