第2章_空間概念和數據模型_第1頁
第2章_空間概念和數據模型_第2頁
第2章_空間概念和數據模型_第3頁
第2章_空間概念和數據模型_第4頁
第2章_空間概念和數據模型_第5頁
已閱讀5頁,還剩56頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、空間數據庫第2章 空間概念和數據模型第2章 空間概念和數據模型本章內容l2.1 空間信息模型l2.2 數據庫設計的三個步驟l2.3 趨勢:用空間概念擴展ER模型l2.4 趨勢:用UML構建面向對象數據模型l2.5 小結關鍵點l本章講述空間數據庫概念設計有關的技術;l空間概念、抽象、建模、數據模型、數據庫設計;l場模型、對象模型。背景l傳統數據庫主要關心商務和管理應用領域;重點是高效安全地處理大量相對簡單的事物;lGIS,CAD以及工程等具有明確的空間和幾何成分的應用空間數據更為復雜,傳統數據庫不足以處理;空間數據庫的設計和實現由應用領域專家解決;傳統數據庫設計和實現由計算機專家解決。2.1 空

2、間信息模型現實世界 (抽象) 信息世界 (轉化) 數據世界 (建立概念模型) (建立數據模型) 模型: 對現實世界中的實體或對象的抽象或簡化,是對實體或現象中的重要構成及其相互關系的表達,能反映事物固有的特征或運動變化規律。數學模型:變量 - 公式數據模型:類別 - 關系什么是模型?空間資料和數據l幾何測量數據l取樣數據l圖紙數據建模依賴于建模對象的直接、間接的資料和數據資料和數據的分析不同領域對同一對象有不同的模型空間建??臻g信息模型一個州立公園的例子用連續變量變量分布表達空間現象-場模型用離散類別類別分布表達空間現象-對象模型州立公園(State-Park)的SDB例子l 森林(Fores

3、t)l 道路 ( Road ) l 管理員(Manager)l 消防站(Fire-Station)l 設施(Facility)(野營地,辦公室)l 河流(River)森林的場模型觀點l 從函數的角度看,森林可建模成一個函數。l 定義域是森林占據的地理空間。值域是樹種的集合;l 空間二維坐標連續取值,空間(X,Y)上任何一點都對應一個函數值f(x,y)。l 考慮森林分布,按林分對空間區域作窮盡劃分。(0,4)(0,0)(0,2)(4,0)(2,0)橡樹冷杉松樹其他f(x,y) = “松樹”, 0 x 2; 2y 4“冷杉”, 0 x 2; 0y 2xy“橡樹”, 2 x 4; 0y 2 “0”,

4、 2 x 4; 2y 4場模型適合表達的空間現象l 物理參數溫度、氣壓、濕度、電磁場、流體l 環境參數化學污染分布、地表化學元素分布森林的對象模型l 考慮f值發生變化的地方,在明確規定樹種之間界限的情況下,可以得到多邊形的邊界。每個多邊形都有一個唯一的標識和樹種名稱。得到二維空間中的離散對象及其坐標。(0,4)(0,0)(0,2)(4,0)(2,0)橡樹冷杉松樹其他xy多邊形ID樹種邊界坐標FS1FS2FS3松樹冷杉橡樹(0,2),(2,2),(2,4),(0,4)(2,0),(4,0),(4,2),(2,2)(0,2),(2,2),(2,4),(0,4)對象模型適合表達的空間現象l 人工建筑

5、物 城市基礎設施,道路、房屋、公園l 自然對象河流、湖泊、熱帶氣旋、危險區域l 其他類別變量Network2.1.1 場模型的結構和操作l 場模型的3個組成部分 :空間框架: 空間格網,(定義域:空間+自變量)場函數: fi: 空間框架 -屬性域(Ai)場操作:對單個或多個場函數值的操作l 場模型的空間操作疊加操作 (局部操作) :給定位置的新場值取決于同一位置的多個輸入場值,(f+g)(x) = L( f(x), g(x) ),常用于地圖綜合。聚焦操作:給定位置的新場值取決于該位置的一個假定小鄰域上的輸入值,例如高程場的梯度,溫度場梯度。帶操作(區域操作):例如計算區域的面積、平均值等。2.

6、1.2 對象模型l將空間信息抽象成明確的可標識的類別實體或事物,稱之為對象,并加以命名(名稱變量)。與場函數不同(數值變量)。l空間對象的主要特點是它的屬性集,包括空間屬性和非空間屬性。場模型與對象模型的關系l空間域上對象集合的某些屬性可以形成數據場;l對場模型數據按照區間值分割或劃分可以形成空間對象。2.1.3 空間對象模型中的數據類型l屬性數據類型:整型,浮點型,日期型等l基本空間數據類型:點、線、面、體1維2維3維OGC 空間對象幾何體點面線空間參照系統幾何體集合多面多線多邊形線串2*多點1*1*線線性環多個多邊形多個線串2*1*繼承構成聚合SDTS的空間數據類型(對象類型)SDTS 對

7、象Oracle Spatial 的空間對象XML表示的空間對象 0.0,0.0 30.0, 50.0 60.0,100.0 70.0,50.0 100.0, 30.0 0.0, 0.0 0.00.0 100.0100.0 2.1.4 空間對象的操作l1)面向集合的操作并 (Union) 交 (Intersection) 包含屬于2)面向拓撲的操作l找出所有與給定對象存在拓撲關系R的對象。l對象A和B之間存在什么樣的拓撲關系R?l空間對象的拓撲關系類型Point-Surface; Curve-Surface; Surface-Surface例子:地塊與危險棄物場規劃帶或線與洪泛區平面上二元拓撲關

8、系l基于以下的相交情況:A 的內部A,邊界A以及外部AB 的內部B,邊界B以及外部Bl九交矩陣9( , )ABABABA BABABABABABAB 交為空集:用0表示交為非空集:1兩個空間對象的拓撲關系表表2-1 拓撲操作舉例拓撲操作舉例拓撲操作Endpoint (point, arc)點是弧的端點Simple-nonself-intersection (arc)非自交的弧On-boundary (point, region)溫哥華在加拿大和美國的邊界上Inside (point, region)明尼阿波利斯市在明尼蘇達州內Outside (point, region)麥迪遜市在明尼蘇達州之

9、外Open (region)加拿大的內部是個開域(不包括其邊界)Close (region)Carleton郡是個閉域(包括其邊界)Connected (region)瑞士是個連通域(對于區域上的任兩點,都有完全內含在該區域上的路徑將這兩點連接起來),而日本不是連通域Inside (point, loop)點在環中Crosses(arc, region)路(?。┐┻^森林(區域)Touches (region, region)明尼蘇達州(區域)是威斯康星州(區域)的鄰州Overlap(region, region)土地覆蓋(區域)和土地利用(區域)相重疊空間對象的其他操作l 方位操作l 度量空間

10、操作非拓撲操作Euclidean-distance (point, point )兩點間的距離Direction (point, point)麥迪遜市在明尼阿波麥迪遜市在明尼阿波利斯市的東面利斯市的東面Length (arc)單位向量的長度是1個單位Perimeter (area)單位正方形的周長是4個單位Area (region)單位正方形的面積是1個平方單位2.1.5 動態空間操作l靜態操作中操作對象不受操作的影響。l動態操作改變它所作用的對象。l三種基本的動態操作:創建 Create銷毀 Destroy更新 Update將空間對象映射到JAVAl找出Maple野營地周圍方圓10公里內的旅

11、游公司。Facility類Import java.lang.*Import java.io.*Import util.*public class Facilityprotected String name;protected String type;protected point location;將空間對象映射到JAVApublic Facility (String name, String type, Point location) =name; this.type=type; this.location=location; public bollean withinDi

12、stance(Facility f, double d) if (this.location.distance(f.location)d) return true; else return false; 2.2 數據庫設計的三個步驟l 概念模型設計概念模型設計 (E-R)l 邏輯模型設計邏輯模型設計:與概念數據模型在商用DBMS上的具體設計實現(關系模型、層次模型、網狀模型)有關。關系模型設計:關系表,屬性,關系模式,邏輯一致性。關系查詢語言SQL與 關系代數(詳細在第三章講)。關系數據模型(關系代數)并不能滿足空間數據的建模要求 ;GIS與關系數據庫之間還存在相當大的語義鴻溝。目前還沒有廣為

13、接受的地理信息數學模型,地圖代數并不成熟。ArcGIS的Geodatabase提供了空間實體及其關系的要素-對象-關系模型,但不支持SQL查詢操作。l 物理模型設計物理模型設計:空間存儲、索引 (第4章) 。E-R模型(概念模型)l實體和屬性現實世界被劃分為 一個個實體(Entity),或對象;例如州立公園中的:河流、森林、設施實體由屬性(Attributes)來描述其性質,唯一標識實體的屬性或屬性集稱為碼(Key)。屬性包括名稱和類型:類別、比例、數值(場)。屬性的單值和多值:例如森林的空間多值屬性(包括多個多邊形)l聯系實體間關系通過聯系來關聯表達;二元聯系l一對一聯系(1: 1) 管理者

14、與森林l多對一聯系(M:1) 設施與森林l多對多聯系(M:N ) 河流與設施基數( Cardinality )實體及其屬性RiverNameLengthLineIDDischargeQualityFacility NameLengthLineID實體的聯系RiverNameLengthLineIDDischargeQualityFacility NameLengthLineIDSupplies_water_toNMVolumeE-R圖州立公園例子的ER圖 l 個實體l 屬性l 個聯系邏輯設計:關系模型l1970年CODD提出,最流行的邏輯數據模型;l表稱為一個關系(Relation),列稱為屬

15、性(Attribute);l元組(或行)對應關系實例;l屬性的取值范圍稱為域:整型、浮點型、字符型、日期型。不支持自定義類型和幾何類型。關系模型中的約束l邏輯一致性要求,維護某些約束:碼約束:每個關系必須有一個主碼(primary Key)實體完整性:主碼不能取空值 參照完整性:外碼(foreign key)的屬性值要么是另一個關系的主碼值,要么為空值。將ER模型映射到關系模型l 通常有個基本步驟:(由CASE工具生成的ER圖可以轉化成關系模式:ERwin; Oracle Designer; Rational Rose.)l 將每個實體映射成一個獨立的關系;l 1:1的聯系,將任一實體的碼屬性

16、作為其他關系的外碼;l M: 1的聯系,“1”側關系的主碼作為“M”側關系的外碼。l M: N的聯系,每個M: N聯系被映射成一個新的關系,關系的名稱就是聯系的名稱,關系的主碼由參與實體的主碼對組成。l 對于多值屬性,創建一個有兩列的新關系:一列為擁有該多值屬性的實體的碼,另一列為該多值屬性。州立公園的例子:M:N聯系映射為新表l Supplies_Water-To是Facility實體和River實體之間的一個M:N聯系,河流和設施的名字組成主碼,Volume為新表的一個屬性。Supplies_Water-ToFacName RivName Volume(varchar) (varchar)

17、 (Real)州立公園的例子:多值屬性l Forest-Stand有一個多值屬性Polygonid。創建一個有兩列的新關系:一列為擁有該多值屬性的實體的碼,另一列為該多值屬性StandId (Integer) (Integer) Forest-Standard-GeomPolygonidE-R圖州立公園例子的ER圖 l 個實體l 屬性l 個聯系州立公園中森林林份的關系模式Forest-StandStand-id Species Forest-name(Integer) (varchar) (varchar)Forest-Stand-GeomStand-id Polygonid(Integer)

18、 (Integer)lM: 1的聯系,“1”側關系的主碼作為“M”側關系的外碼。州立公園中實體和聯系的關系數據庫模式規則:(1)實體關系表(2)M:N聯系關系表(3)多值的幾何屬性關系表空間表l 在關系數據庫模型中,ER圖中實體的空間屬性必須用特殊的方式處理:空間屬性被表示為新的關系:Pointid(Integer)Latitude(Real)Longitude(Real)Point Polygonid(Integer)Seq-no(Integer)Pointid(Integer)Polygon Lineid(Integer)Seq-no(Integer)Pointid(Integer)Lin

19、e2.3 用空間概念擴展ER模型l用形象圖擴展ER模型增加空間實體的語義(Point, Line, Polygon)增加空間關系(拓撲關系,Part-of關系)l用類似于BNF(Bachus-Naur form巴克斯-諾爾范式 )來表達空間擴展。BNF表示的實體象形圖(1)象形圖任意可能的形狀用戶定義形狀基本形狀復合形狀導出形狀備選形狀BNF表示的實體象形圖(2)形狀BNF表示的實體象形圖()基本形狀有哪些?BNF表示的實體象形圖()基本形狀點線面BNF表示的實體象形圖()復合形狀()導出形狀()備選形狀()任意形狀()自定義形狀BNF表示的聯系象形圖lPart-of用空間概念擴展ER模型 /

20、基本形狀的語法點/線面基本形狀的象形圖2.4 趨勢:用UML構建面向對象數據模型l面向對象語言促進了OODBMS的發展;lUML是用于面向對象軟件設計的概念建模標準之一;l包括:類屬性關系方法類、屬性和關系 l 類:應用中所有具有相同性質的對象的抽象和封裝。l 屬性:描述類和對象的特征。+ 公有的屬性:屬性可以被任何類訪問和操作;- 私有的屬性:只有屬性所在的類才能訪問這個屬性;# 受保護屬性:從父類派生的類可以訪問該屬性。 l 關系聚合(aggregation): 描述部分整體關系 泛化(generalization):描述一般-特殊關系關聯(association): 描述不同類對象的對等

21、關系。l 方法 函數,類定義的一部分,用來修改類的行為或狀態。UML例子Supplies_Water_To# VolumeRiver # Name# Length+GetName()Facility# Name+GetName()Supplies_water_toForest# Name# Geometry+GetName()Belongs_to*1. *1ER與UML的比較ERUML實體(Entity)關系(Relationship)屬性(Attributes)碼屬性角色(Roles)綜合與特化(Generalization&Specialization)類(Class)關聯(Association)屬性(Attributes) 方法角色(Roles) 綜合與分類 ( Generalization&Classification)2.5 小結l 兩種空間信息模型場模型對象模型l 空間信息模型中的數據類型矢量數據模型柵格數據模型l 空

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論