❶ 什麼是地理空間
GIS是世界上獨一無二的一種資料庫――空間資料庫(Geodatabase)。它是一個「用於地理的信息系統」。從根本上說,GIS是基於一種使用地理術語來描述世界的結構化資料庫。
這里我們來回顧一些在空間資料庫中重要的基本原理。
· 地理表現形式
作為GIS空間資料庫設計工作的一部分,用戶要指定要素該如何合理的表現。例如,地塊通常用多邊形來表達,街道在地圖中是中心線(centerline)的形式,水井表現為點等等。這些要素會組成要素類,每個要素類都有共同的地理表現形式。
每個GIS數據集都提供了對世界某一方面的空間表達,包括:
· 基於矢量的要素(點、線和多邊形)的有序集合
諸如數字高程模型和影像的柵格數據集
網路
地形和其它地表
測量數據集
其他類型數據,諸如地址、地名和制圖信息
描述性的屬性
除了地理表現形式以外,地理數據集還包括傳統的描述地理對象的屬性表。許多表和空間對象之間可以通過它們所共有的欄位(也常稱為「關鍵字」)相互關聯。就像它們在傳統資料庫應用中一樣,這些以表的形式存在的信息集和信息關系在GIS數據模型中扮演著非常關鍵的角色。
空間關系:拓撲和網路
空間關系,比如拓撲和網路,也是一個GIS資料庫的重要部分。使用拓撲是為了管理要素間的共同邊界、定義和維護數據的一致性法則,以及支持拓撲查詢和漫遊(比如,確定要素的鄰接性和連接性)。拓撲也用於支持復雜的編輯,和從非結構化的幾何圖形來構建要素(例如,用線來構建多邊形)。
地理要素共享幾何形狀。可以使用節點、邊、面的關系來描述要素的幾何形狀
在這個網路示例中,街道要素代表連接它們的端點(稱為「連接」)的邊。
轉向模型可用於控制從一邊到另一邊的通行能力
· 專題圖層與數據集
GIS將空間數據組織成一系列的專題圖層和表格。由於GIS中的空間數據集具有地理參考,因此它們具有現實世界的位置信息並互相疊加。
GIS集成了多種類型的空間數據
在一個GIS中,同類型的地理對象集合被組織成圖層,例如地塊、水井、建築物、正射影像以及基於柵格的數字高程模型(DEM)。明確定義的地理數據集對於一個實用的地理信息系統是相當重要的,同時專題信息集合使用層來組織,這樣的思想也是GIS數據集一個關鍵的思想。
數據集可以用於表達:
原始量測值(例如衛星影像)
經過解譯的信息 l 通過空間分析和建模處理而得來的數據
通過層之間共同的地理位置,我們可以很容易地得到多個層之間的空間關系。
GIS使用普通的對象類來管理這些簡單的圖層,同時憑借一套功能豐富的工具獲取數據層之間的關鍵聯系。
GIS會使用通常是來自不同組織機構,並且具有各種表現方式的大量數據集。因此對於GIS數據集很重要的是:
· 使用簡單並易於理解
· 易於同其他的地理數據集結合使用
· 能夠被有效地編輯與校驗
· 能夠形成具有內容詳實,使用和目標描述明確的清晰文檔
任何的GIS資料庫或者用基於文件的數據組織方式都遵循這些共同的原則與概念。每個GIS都需要有一個機制依據這些原則來描述地理數據,並且通過一套綜合的工具來使用和管理此信息。
❷ 地理三維模型是什麼
地理三維模型是空間分析,而空間分析的基礎是空間數據模型。
GIS的概念數據模型分為3類:對象模型(ob-ject model)、網路模型( network model)和場模型(field model)。
比如基於平面圖的點、線、面數據模型和基於連續鋪蓋的柵格數據模型,分別為對象模型和場模型,描述道路網路、地下管線等需要網路模型;定義了一種基於對象的模型和一種基於域的模型。
分別對應對象模型和場模型;OGC(open GIS consortium)的簡單對象模型規范定義了點、線、面和表面模型,其中表面模型可以用來表達實體,也可以表達地形等2. 5維的連續表面。
但是隨著三維GIS技術的發展,已有的對象模型和場模型在地學表達上並不充足,這些空間數據模型都缺乏對三維空間中連續、非勻質的場數據的表達能力。
隨著三維GIS技術的發展以及三維GIS在建築信息模型(building informationmodeling,BIM)+GIS、數字化孿生、透明城市、智慧城市、城市設計等領域的廣泛應用 。
GIS對現實世界的表達全面擴展到空/天、地表和地下,並從室外走進室內,空間數據模型的二三維一體化是三維GIS發展的必經之路。
早期基於平面圖的空間數據模型已經不能滿足對三維屬性場的表示,比如電磁場:三維空間中5G信號的分布。
空氣的屬性場:污染、溫度、濕度場的表達;地質的屬性場更多更復雜,如密度、孔隙度、楊氏模量、泊松比等。
對於三維場數據的表達,在理論研究方面,基於TEN (tetrahedron network)的數據模型,對其數據結構進行了簡要描述;基於八叉樹和TEN的混合數據結構。
用於平衡數據量和數據表達精度之間的矛盾;基於體元的三維場數據表達方法;構建了泛在知識數據表示模型(mubiquitousknowledgeable data representation model,UKR)。
用來表達復雜的三維空間事物,包括對場數據的表達。
❸ 地理信息系統的數據模型包括那些相互聯系的方面試舉例說明
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) 地理實體之間的語義關系可以通過對象的屬性來標識。
❹ 空間資料庫的組成部分
空間資料庫指的是地理信息系統在計算機物理存儲介質上存儲的與應用相關的地理空間數據的總和,一般是以一系列特定結構的文件的形式組織在存儲介質之上的。《空間資料庫》范圍及重點 1. 第一章:緒論 1) 空間資料庫基本概念、組成部分、名稱簡寫之間的聯系與區別與聯系; 答;利用當代的系統方法,在地理學、地圖學原理的指導下,對地理空間進行科學的認識與抽象,將地理資料庫化為計算機處理時所需的形式與結構,形成綜合性的信息系統技術——空間資料庫 或者SDBMS是海量SD的存儲場所、提供SD處理與更新、交換與共享,實現空間分析與決策的綜合系統。 組成:存儲系統、管理系統、應用系統 是SDBS的簡稱 2) 目前空間資料庫實現方案; 答:ORDBMS 3) GIS,RS與空間資料庫之間的聯系; 4) 常見的空間資料庫產品 答:輕量級: MS的Access、FoxPro、 SUN的MySQL 中等:MS的SQL Server系列 重量級:Oracle的Oracle 不太熟悉的有: Sybase、Informix、DB2 、Ingress、 PostgreSQL(PG)等 5) 產生空間資料庫的原因; 答:直接利用? SD特徵 :空間特性 非結構化特徵 空間關系特徵 多尺度與多態性 海量數據特性 存在的問題:復雜圖形功能:空間對象 復雜的空間關系 數據變長記錄 6)空間資料庫與普通關系資料庫的主要區別。 答:關系資料庫管理屬性數據,空間數據採用文件庫或圖庫形式;增加大二進制數據類型(BLOB),解決變長數據存儲問題;將空間數據/屬性數據全部存放在資料庫中;但空間特性由程序處理 2. 第二章:空間資料庫模型 1) 如何理解空間資料庫模型; 2) 空間數據及空間關系; „ (1) 空間數據類型 幾何圖形數據 影像數據 屬性數據 地形數據 元數據:對空間數據進行推理、分析和總結得到的關於數據的數據, 數據來源、數據權屬、數據產生的時間 數據精度、數據解析度、元數據比例尺 地理空間參考基準、數據轉換方法… (2) 空間關系 指地理空間實體之間相互作用的關系: 拓撲關系:形狀、大小隨投影改變。在拓撲變換下不變的拓撲變數,如相鄰、包含、相交等,
反映空間連續變化的不變性 方位關系:地理空間上的排列順序,如前後、上下、左右和東、南、西、北等方位 度量關系:距離遠近等 3) 空間資料庫如何建模; DB設計三步驟 ‹ Conceptual Data Model:與應用有關的可用信息組織、數據類型、聯系及約束、不考慮細節、E-R模型 Logic Data Model 層次、網狀、關系,都歸為關系,SQL的關系代數(relational algebra, RA) Physical Data Model:解決應用在計算機中具體實現的各種細節,計算機存儲、數據結構等 4) 模型之間如何轉換? 5) 可行的空間資料庫建模方案。 面向對象的空間資料庫模型GeoDatabase 3. 第三章:空間資料庫存儲與索引 1) 空間數據如何組織、存儲的,採用什麼技術或者方法; 為有效表達空間信息內容,空間數據必須按照一定的方式進行組織與存儲:適合外存操作的數據結構、記錄和文件的多種組織方式 SDB空間數據組織:數據項、記錄、文件、資料庫 SDB空間數據存儲:二級存儲器、緩沖區管理器、空間聚類(clustering)、空間索引 2) 空間近似與空間聚類; 目的:降低響應大查詢的尋道時間和等待時間,在二級存儲中空間上相鄰的/查詢上有關聯的空間對象在物理上存放在一起, 內部聚類(internal clustering):加快單個對象的訪問,一個對象都存放在一個磁碟塊(頁面);如超出則存放在連續扇區,本地聚類(local clustering):加快多個對象訪問。一組空間相鄰對象存放在一個頁面 空間聚類比傳統聚類技術復雜。多維空間對象無天然的順序 磁碟:一維存取,高維:將高維映射到一維, 一一對應,保持距離(distance preserving):一一對應,容易;距離不變,近似,映射技術、Z序(z-order)、Hilbert曲線 3) 空間資料庫性能提升的關鍵問題是什麼?如何提升; 資料庫索引,基於樹:ISAM、B樹、B 樹等,基於Hash:靜態、可擴展、線性等 4) 空間索引技術是什麼?為什麼產生?有哪些常見的空間索引;各有何特點及適用范圍? 依據空間對象的位置和形狀或者空間對象之間的空間關系,按一定順序排列的一種數據結構,介於空間操作演算法和空間對象之間,通過篩選,大量與特定空間操作無關的空間對象被排除,提高效率,空間資料庫關鍵的技術 空間索引產生的原因:空間數據的特點:空間定位、空間關系、多維、多尺度、海量、復雜,傳統資料庫索引處理的一維的字元、數字,對多維處理採用組合欄位 1、基於二叉樹的索引技術:二分索引樹結構主要用於索引多維數據點;對復雜空間目標(線、面、體等)的索引卻必須採用近似索引方法和空間映射技術 2、 基於B樹的索引技術 ‹B樹的變體如R樹系列,外包矩形;對大型資料庫具有出色表現;需要解決:減少區域重疊,提高搜索效率 3、基於哈希的網格技術