空間數(shù)據(jù)庫的第四章講稿_第1頁
空間數(shù)據(jù)庫的第四章講稿_第2頁
空間數(shù)據(jù)庫的第四章講稿_第3頁
空間數(shù)據(jù)庫的第四章講稿_第4頁
空間數(shù)據(jù)庫的第四章講稿_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

空間數(shù)據(jù)庫的第四章講稿第1頁,課件共76頁,創(chuàng)作于2023年2月面向對象的概念(核心概念)一、核心概念(一)對象(Object)現(xiàn)實世界中的各類現(xiàn)象抽象表示成具有不同特征的對象。對象是具有狀態(tài)和行為特征的實體,對象之間相互區(qū)分、相互聯(lián)系。對象的標識、屬性和方法是它的三個關鍵成分。1、對象標識:為每個對象在全系統(tǒng)范圍內(nèi)定義唯一標識(OID-ObjectIdentifier),在其生命周期中保持不變,是確定對象存取的唯一方法。2、對象屬性:對象的狀態(tài)通過屬性變量定義,由屬性值描述。屬性變量定義屬性的型,包括屬性名稱、數(shù)據(jù)類型、取值范圍和語義完整性約束。每個對象具有一到多個屬性,所有屬性值共同描述其狀態(tài)。3、對象方法:表示對象狀態(tài)的屬性值由一組函數(shù)來操作和維護,這些函數(shù)稱為方法。屬性的型是事先定義的,屬性值由方法來獲取和改變。

第2頁,課件共76頁,創(chuàng)作于2023年2月面向對象的概念(核心概念)(二)消息(Message)對象的屬性只能通過對象自己的方法來獲取和改變。消息是對象間交互的手段,一個對象要獲取或改變另外一個對象的屬性,只能通過消息引用被訪問對象提供給外界的方法來實現(xiàn)。(三)協(xié)議(Protocol)協(xié)議是一個對象所能接受的所有消息構成的集合,是對象的對外接口,是被訪問對象提供給其他對象使用的所有方法的集合。(四)封裝(EncapsuIation)和消息傳遞對象、消息和協(xié)議打包在一起叫封裝。將屬性和方法封裝在對象中,向對象發(fā)送消息,通過對象所指定的公共接口來存取、維護屬性,這是訪問對象屬性的唯一方法。封裝的意義在于對象的訪問只能按對象提供給外界的協(xié)議接口進行,只能通過協(xié)議中提供的方法向對象發(fā)送消息。第3頁,課件共76頁,創(chuàng)作于2023年2月面向對象的概念(核心概念)(五)類和實例(CIass、Instance)類是對具有共同特征的一組對象的抽象,具有相同的屬性類型、消息接口和方法定義的所有對象構成一個類。類中的一個具體對象稱為其所屬類的一個實例,每個實例具有各自不同的狀態(tài)(屬性值)。類有三種主要類型:1、抽象類(AbstractClass):不能創(chuàng)建對象,只能作為父類。2、伴隨類(CoClass):可創(chuàng)建類??芍苯觿?chuàng)建新對象或實例化。3、類(Class):可實例化類。不能直接創(chuàng)建新對象,但在其他類的屬性中可創(chuàng)建它的對象,可以被另一個類的對象實例化,可以被其他類引用,是一種元件類或成份類。

圖4-1類與聯(lián)系

第4頁,課件共76頁,創(chuàng)作于2023年2月面向對象的概念(核心概念)(六)類的描述類的定義稱為類的描述(對象的型或模式),包括協(xié)議描述和實現(xiàn)描述兩個方面。協(xié)議描述定義了該類實例的消息接口(協(xié)議中所有消息),實現(xiàn)描述包括屬性變量的定義及所有方法的實現(xiàn)方式描述。(七)繼承與類等級(Inheritance、CIassHierarchy)類等級結構表達了超類(或父類、基類)與子類間的繼承關系,類等級的繼承性使得子類能自動地繼承其超類的全部語義特性(屬性、方法、約束)。多層類的繼承具有傳遞性,下層子類可繼承其上部各層超類的全部語義特性,即父類的所有屬性和方法可以被它的所有子類傳遞地繼承。子類還可以附加新的屬性和方法,一個實例是其所有超類的一個邏輯上的實例。第5頁,課件共76頁,創(chuàng)作于2023年2月面向對象的概念(核心概念)(八)功能重載和多態(tài)性(0verLoading、PoIymphism)子類對超類方法的覆蓋功能就是重載與多態(tài)的體現(xiàn)。子類定義的新方法與繼承父類的舊方法可具有相同的名稱、形式參數(shù)和返回值,也可以同名但具有不同的形式。系統(tǒng)調(diào)用時根據(jù)不同的描述信息,選擇合適的方法運行。通常把同一個類中有多個同名方法的現(xiàn)象稱為重載或多態(tài),消息傳遞的實現(xiàn)是以重載和多態(tài)為支撐。(九)類圖類圖是一種框架(Frame)、模板(Template)或模式(Schema),描述同類對象的特征及多個類之間的聯(lián)系。(十)實例圖實例(對象)圖是類圖的具體實現(xiàn),給定一張類圖必對應實例圖的一個無限集合。第6頁,課件共76頁,創(chuàng)作于2023年2月面向對象的概念(核心概念)(十一)鏈接與聯(lián)系(Llnk、Association)鏈接與聯(lián)系是建立對象之間及類之間關系的一種手段。兩類之間的直線表示聯(lián)系,兩對象之間的直線表示鏈接。聯(lián)系主要有下列三種:1、實例化(Instantiation):一個類中有一個方法可創(chuàng)建另一個類的對象。2、聚集或聚合(Aggregation和Composition):聚集表示“部分與整體”的關系,由元件(Components)對象構造復雜組合(Assembly)對象。主類控制著成分類的生命周期。3、聯(lián)合(Association):除去類等級關系和類組成關系以外,還有一些類之間的對應關系稱為聯(lián)合。如:材料與產(chǎn)品的關系,學生與課程的關系等。(十二)一般化和特殊化(Generalization、Specification)一般化指從一組相似的對象中找出共性,子類的共性歸入父類,產(chǎn)生祖先類與后代類之間的類等級和類結構關系。特殊化是在一般類共性的基礎上擴展特性構成新的具體類,子類可繼承父類的性質,可對父類的屬性和方法進行更新,也可添加自身特定的屬性及方法。第7頁,課件共76頁,創(chuàng)作于2023年2月面向對象的概念(擴充概念)二、擴充概念——復合對象與類復合等級如果對象的一個屬性的定義域不是基本類(整數(shù)、字符串等),而是另一個非基本類(一個類等級結構),對應的屬性值為這個非基本類的類等級結構中任意一個類的一個實例,屬性取值為該對象的標識符(一個對象引用其他對象),這個對象稱為復合對象。復合對象是構成一個整體與部分等級的非勻質對象集合,它將“整體與部分”的關系補充到一個對象與其引用的其他對象之間的聚集關系中。面向對象表達方式中,空間要素的主題屬性在一個基本類(整數(shù)或字符串)的范圍內(nèi)取值,而空間屬性的定義域則為一個非基本類,空間屬性取值為非基本類的類等級中某個對象(幾何對象)的主關鍵字或對象標識,稱為空間要素對一個幾何對象的引用。

對象的引用建立了一個對象和引用它的另一個對象之間的“整體與部分”關系,通過屬性對其他類的引用構成嵌套關系模型,稱為類復合等級(aclasscompositionhierachy)。

Back第8頁,課件共76頁,創(chuàng)作于2023年2月面向對象數(shù)據(jù)模型一、對象與封裝性(encapsulation)每個概念實體模型化為一個對象,一個對象由描述該對象狀態(tài)的一組屬性數(shù)據(jù)和表達其行為的一組方法組成,是屬性數(shù)據(jù)和行為的統(tǒng)一體。一個對象object可定義成一個三元組:object=(ID,S,M)其中,ID為對象標識,M為方法集,S為對象的屬性數(shù)據(jù)集合,它可以是一個屬性值,也可以是另外一組對象的集合,明顯地表現(xiàn)出對象的遞歸。第9頁,課件共76頁,創(chuàng)作于2023年2月面向對象數(shù)據(jù)模型二、分類(classification)類是同類對象的集合,類將具有相同屬性和方法的對象組合在一起。屬于同一類的所有對象具有相同的屬性定義(數(shù)據(jù)類型和取值范圍)和方法定義(函數(shù)體)。用一個三元組來描述類:class=(CID,CS,CM)其中,CID為類標識,CS為類的狀態(tài)描述,CM為該類的方法。顯然有:S∈CS和M∈CM當object∈class第10頁,課件共76頁,創(chuàng)作于2023年2月面向對象數(shù)據(jù)模型三、概括(generalization)將多個類中的公共屬性和方法抽象出來形成一種更一般的超類。設有兩個類:class1=(CID1,CS1,CM1)=(CID1,CSA,CSB,CMA,CMB)class2=(CID2,CS2,CM2)=(CID2,CSA,CSC,CMA,CMC)class1和class2中都帶有相同的屬性子集CSA和方法子集CMA。并且:CSA∈CS1和CSA∈CS2以及CMA∈CM1和CMA∈CM2。將共同屬性和方法提取出來形成一種超類,SID為超類的標識符。Superclass=(SID,CSA,CMA)定義超類后class1和class2稱為Superclass的子類,分別表示為:class1=(CID1,CSB,CMB)class2=(CID2,CSC,CMC)

第11頁,課件共76頁,創(chuàng)作于2023年2月面向對象數(shù)據(jù)模型超類與子類之間的繼承與抽象關系構成一種類等級結構,空間數(shù)據(jù)庫中限定每個子類只能有一個父類,但可以有多個子類。子類可從父類繼承屬性和方法,也可定義自身特有的屬性和方法。圖4-2為一個簡單的層次模型,表示了路類、公路類、路段類之間的類等級關系。公路類是路類的子類,路段類是公路類的子類。公路類繼承了路類的屬性,并增加了等級、路面、寬度等屬性。路段類除了繼承公路類的屬性外,又新定義了起點、終點等自己的屬性。

圖4-2空間類的類等級結構

第12頁,課件共76頁,創(chuàng)作于2023年2月面向對象數(shù)據(jù)模型四、聚集(aggregation)聚集將幾個不同特征的對象組合成一個更高水平的復合對象,每個不同特征的對象是該復合對象的一部分,它們有自己的屬性數(shù)據(jù)和方法,這些屬性數(shù)據(jù)和方法不能為復合對象所公用,但復合對象可以從中派生得到一些信息。例如,弧段聚集成線狀地物或面狀地物,簡單地物組成復雜地物。設有兩種不同特征的元件對象:object1=(ID1,S1,M1)object2=(ID2,S2,M2)用它們組成一個新的復合對象:object3=(ID3,S3,Object1(Su),Object2(Sv)M3)其中Su∈S1,Sv∈S2,從式中可見,復合對象object3擁有自己的屬性值和操作,它僅從分子對象中提取部分屬性值,且一般不繼承子對象的方法。

第13頁,課件共76頁,創(chuàng)作于2023年2月面向對象數(shù)據(jù)模型一個空間類(非基本類)的實例可以作為元件類實例,聚合成另一個不同類型空間類的實例。聚合與引用關系表達了類與類之間的橫向構成關系,構成了空間數(shù)據(jù)庫的類復合等級結構。一個復雜的空間對象由多個其他的空間對象組成,如交通網(wǎng)絡由交叉路口、服務設施、道路等組成。圖4-3為復合引用與弱引用舉例:

圖4-3空間類的類復合等級結構

第14頁,課件共76頁,創(chuàng)作于2023年2月面向對象數(shù)據(jù)模型五、聯(lián)合(association)類等級和類復合等級關系是空間類之間的兩個最主要關系,除此之外實例間還存在一些其他聯(lián)系,如共存時間段、聯(lián)合關系等。在定義對象時,將同一類對象中的幾個具有相同屬性值的對象組合起來,為了避免重復,設立一個更高水平的對象表示那些相同的屬性值。假設有兩個對象具有一部分相同的屬性值:object1=(ID1,SA,SB,M)object1=(ID2,SA,SC,M)可設立新對象object包含object1和object2,object3=(ID3,SA,object1,object2,M)此時,object1和object2可表示成:object1=(ID1,SB,M)object2=(ID2,SC,M)object1和object2稱為“成分對象”,它們的聯(lián)合所得到的對象為“組合對象”。聯(lián)合的一個特征是它的成分對象應屬于同一個類,即object1和object2是同一個類的對象。

Back第15頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(應用問題描述)一、數(shù)據(jù)應用涉及行政區(qū)劃、城市間路網(wǎng)和土地使用三類數(shù)據(jù)。抽象為七個專題:(一)行政區(qū)劃行政區(qū)域的層次結構劃分為國家、省和縣三層。抽象為三個專題:1、國家country(國家名name,幾何屬性geometry)2、省province(省名name,幾何屬性geometry)3、縣county(縣名name,人口population,幾何屬性geometry)第16頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(應用問題描述)(二)城市間的路網(wǎng)城市間的路網(wǎng)包含道路、路段、城市。抽象為三個專題:1、道路highway)(道路名稱,道路類型)2、路段section(路段名稱,車道數(shù),幾何屬性geometry)3、城市city(城市名稱,人口,幾何屬性geometry)(三)土地使用土地使用(landuse)專題中每個要素有一種土地使用類型,如居住區(qū)、森林、農(nóng)田等。第17頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(實現(xiàn)的功能)二、實現(xiàn)的功能(一)查詢分類1、屬性查詢(alphanumericcriteria):查詢條件中只含主題屬性。2、空間查詢(spatialcriteria):查詢條件中含有幾何對象和空間操作。3、交互式查詢(interactive):人機交互式查詢。(二)查詢命名查詢名稱=類型前綴+模式前綴+編號。類型前綴:屬性查詢ALPHA-、空間查詢SPAT-、交互式查詢INTER-。模式前綴:行政區(qū)劃ADM、路網(wǎng)R、土地使用LU。編號:類型前綴和模式前綴相同時查詢的編號。例子:ALPHA-ADM2表示在行政區(qū)模式上的第二個屬性查詢。第18頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(實現(xiàn)的功能)(三)查詢定義1、屬性查詢:ALPHA-ADM1:某省某縣的居民數(shù)量。ALPHA-ADM2:某省有多少個縣。ALPHA-ADM3:中國的居民數(shù)量。

ALPHA-R1:某一條道路第一路段的車道數(shù)。ALPHA-R2:某一條道路的所有路段名。第19頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(實現(xiàn)的功能)2、空間查詢:SPAT-ADM4:與某省相鄰的省。SPAT-ADM5:顯示某個省。SPAT-ADM6:全國范圍內(nèi),大于“某省”中最大一個縣的那些縣。SPAT-R3:某條道路的長度。SPAT-ADM-R1:通過某個省的所有公路。SPAT-ADM-LU1:顯示某個縣的所有居住面積。SPAT-ADM-LU2:行政區(qū)域與土地使用專題的覆蓋。3、交互式查詢:INTER-ADM7:在屏幕上點擊選擇一個縣。INTER-ADM8:含在所選窗口中的省。INTER-ADM9:用給定窗口裁剪出的縣。INTER-R5:在屏幕上點擊,選中一條道路的路段。INTER-R6:所選路段對應的道路是哪幾條。第20頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(概念模型)一個專題對應一個空間要素類,用矩形方框表示。兩個類之間的連線表示類之間的聯(lián)系,

表示聚合關系,●表示一對多聯(lián)系。一、行政區(qū)劃(Schema1)圖4-4定義國家、省、縣三個專題模式及相互間的聚合關系和一對多聯(lián)系。

國家國家編碼國家名稱幾何對象其他方法省省編碼省名稱幾何對象其他方法縣縣編碼縣名稱縣人口幾何對象其他方法圖4-4行政區(qū)劃的類圖

●第21頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(概念模型)二、城市間的路網(wǎng)(Schema2)圖4-5定義了道路、路段、城市三個專題模式及相互間的聚合關系和一對多聯(lián)系。一條道路由多個路段組成,一個路段屬于多條道路,道路與路段是多對多關系。一條路段連接兩個城市,路段有方向,一個城市被多條路段連接,道路和城市也是多對多關系。

道路道路編碼道路名稱道路類型其他方法城市城市名稱城市人口幾何對象其他方法圖4-5城市間路網(wǎng)的類圖

起始終止

●●●路段編碼路段名稱車道數(shù)量幾何對象其他方法路段●第22頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(概念模型)三、土地使用(Schema3)土地使用(landuse)專題模式的定義如圖4-6所示。

土地使用土地使用編碼土地使用類型區(qū)域名稱幾何對象其他方法圖4-6土地使用的類圖

第23頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(擴展E-R圖表達的概念模型)一、擴展E-R模型的概念象形圖定義一種圖形符號,形式為方框內(nèi)包含一個對象表示符。將圖形符號放在實體矩形框中適當?shù)奈恢?,表示實體的幾何特征。任何兩個空間實體間都隱含著空間聯(lián)系,可定義表示空間聯(lián)系的象形符號。

<形狀><象形圖><形狀><基本形狀><復合形狀><導出形狀><備選形狀>n0,n<任意形狀><用戶自定義形狀>*!<聯(lián)系符號>Partof網(wǎng)絡Partof分區(qū)圖4-7擴展E-R圖模型中的象形圖符號

第24頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(擴展E-R圖表達的概念模型)二、空間要素概念模型(一)行政區(qū)劃(Schema1)圖4-8行政區(qū)劃的擴展E-R圖

第25頁,課件共76頁,創(chuàng)作于2023年2月面向對象空間數(shù)據(jù)模型

(擴展E-R圖表達的概念模型)(二)城市間路網(wǎng)

Back圖4-9城市間路網(wǎng)的擴展E-R圖(三)土地使用圖4-10土地使用的擴展E-R圖第26頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類層次結構)

面向對象空間數(shù)據(jù)模型用一組基本空間數(shù)據(jù)類型來滿足常用幾何形狀的建模需求,表示幾何對象的屬性、方法和關系。圖4-11是OpenGISSimpleFeaturesSpecificationForSQL92和SQL99中定義的幾何類層次模型,表示基本空間幾何體及其關系。其中劃分了幾何類型,定義了每個幾何類的屬性和方法,描述了幾何類等級和幾何類復合等級結構。圖4-11幾何對象層次結構

第27頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類層次結構)一、類等級結構1、幾何體Geometry是一個不能實例化的抽象類,它是所有基本幾何體的超類,它定義了所有基本幾何體的共同屬性和方法。2、空間參照系統(tǒng)類與幾何體Geometry類之間存在著一對多的關系,即所有的基本幾何體必須選擇相同的空間參照系統(tǒng)。3、幾何體Geometry有四個子類,分別是點Point、曲線Curve、面Surface和幾何體集合GeometryCollection。4、幾何體集合GeometryCollection有點集合MultiPoint、曲線集合MultiCurve和面集合MultiSurface三個子類。第28頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類層次結構)5、曲線Curve的子類是用直線連接各點形成的線串LineString。6、面Surface的子類是多邊形Polygon。7、曲線集合MultiCurve的子類是線串集合LineStrings。8、面集合MultiSurface的子類是多邊形集合Polygons。9、線串LineString的子類是線Line和線環(huán)LinearRing。每個子類都繼承了父類的所有語義特征,并可以定義子類新的屬性和方法。第29頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類層次結構)二、類復合等級與聯(lián)系1、一個線串LineString對應多個點Point,一個點集合MultiPoint也對應多個點Point。2、一個多邊形Polygon對應1多個線環(huán)LinearRing。3、一個線串集合LineStrings對應多個線串LineString。4、一個多邊形集合Polygons對應多個多邊形Polygon。具體應用中還可以對圖4-11中表示的幾何類層次結構進行擴展。如為幾何體集合GeometryCollection定義一個子類,該子類是由點集合Points、線串集合LineStrings和多邊形集合Polygons構成的復雜幾何對象。也可以為曲線Curve定義一個子類,即用曲線連接各點形成的弧。第30頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)下面是SQL92和SQL99標準為圖4-11中的每個幾何類定義的屬性和方法。一、幾何體Geometry幾何體Geometry是幾何對象類等級樹的樹根,是所有基本空間幾何體的超類,是一個不能實例化的抽象類。幾何體Geometry類等級中所有的基本幾何對象都采用相同的空間參照系統(tǒng)。(一)幾何體Geometry的屬性:Dimension—對象的空間延展度。點--0維,線---1維,面---2維。CoordinateDimension—對象的坐標維,即使用坐標系的維數(shù)。第31頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)(二)幾何體Geometry的方法:

第32頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)第33頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)第34頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)二、幾何體集合GeometryCollection幾何體集合GeometryCollection是幾何體Geometry的子類,是一個或多個Geometry構成的集合。GeometryCollection無新增屬性,新增方法為:GeometryIteratorGeometries():幾何對象的重載。92IntegerNumGeometries():返回GeometryCollection中Geometry的數(shù)量。99GeometryGeometryN(N:integer):返回GeometryCollection中第N個Geometry。99第35頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)三、點Point點Point是幾何體Geometry的子類,邊界為空,0維幾何要素,表示空間中的一個位置。新增屬性:X—點的x坐標。Y—點的y坐標。新增方法:DoubleX():返回點的x坐標。99DoubleY():返回點的y坐標。99四、點集合MultiPoint點集合MultiPoint是幾何體集合GeometryCollection的子類,是0維幾何要素的集合。點集合MultiPoint的元素為多個不相互聯(lián)結的、無序的點Point。如果任何兩個點都不相等,則點集合MultiPoint是簡單的。點集合MultiPoint的邊界是空集合。點集合MultiPoint沒有新增屬性和方法。第36頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)五、曲線Curve曲線Curve是幾何體Geometry的子類,是點的一個序列。曲線Curve的子類表示兩點間內(nèi)插的形式,它只有一個子類線串LineString,表示點之間為線性內(nèi)插。不相交的曲線Curve稱為簡單曲線Curve,始點與終點相同時稱為閉合曲線,一個簡單閉合的曲線稱為一個環(huán)Ring。不閉合曲線Curve的邊界為它的兩個端點。曲線Curve沒有新增屬性,新增方法為:DoubleLength():返回Curve在相應參照系統(tǒng)中的長度。PointStartPoint():返回Curve的起點。PointEndPoint():返回Curve的終點。IntegerIsClosed():返回TRUE表示曲線閉合(StartPoint()=EndPoint())。99IntegerIsRing():TRUE表示曲線閉合(StartPoint()=EndPoint())且是簡單環(huán)。99第37頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)六、線串LineString線串LineString是曲線Curve的子類,是一個Curve,點和點之間采用線性內(nèi)插,點序列中緊鄰的兩點定義一個線段。線串LineString沒有新增屬性。新增方法為:IntegerNumPoints():返回LineString中的點數(shù)。99PointPointN(N:Integer):返回Linestring中第N個點。99七、線Line線Line是線串LineString的子類,是只有兩個點的線串LineString。線Line沒有新增屬性,新增方法同LineString。八、線環(huán)LinearRing線環(huán)LinearRing是線串LineString的子類,是一個閉合的、簡單的線串LineString。線環(huán)LinearRing沒有新增屬性,新增方法同LineString。第38頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)九、曲線集合MultiCurve曲線集合MultiCurve是幾何體集合GeometryCollection的一個子類,是1維幾何體集合,它的元素為多個曲線Curves。是一個不能實例化的抽象類。如果其中各元素均為簡單元素,且兩元素的交集為邊界上的點集,則曲線集合MultiCurve是簡單的。曲線集合MultiCurve沒有新增屬性。新增方法為:DoubleLength():返回曲線集合MultiCurve的元素Curves的長度總和。IntegerIsClosed():返回1(TRUE)表示曲線集合MultiCurve中每個曲線是封閉的(StartPoint()=EndPoint())99第39頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)十、面Surface面Surfac是2維幾何對象,由一個外部邊界和0個或多個內(nèi)部邊界組成。3維空間的簡單surfaces與平面surfaces同形。多面體表面Polyhedralsurfaces由簡單surfaces共享邊界構成。簡單surface是與surfaces內(nèi)外邊界對應的閉合Curves的集合。它的唯一的可實例化的子集是Polygon。面Surfac沒有新增屬性,新增方法為:DoubleArea():返回面Surface在其參照系統(tǒng)中的面積。DoublePerimeter():返回面Surface在其參照系統(tǒng)中的周長。92DoubleCentroid():返回面Surface在其參照系統(tǒng)中的質心。DoublePointOnSurface():返回面Surface上的點。第40頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)十一、多邊形Polygon多邊形Polygon是面Surface的子類,由一個外部邊界和0個或多個內(nèi)部邊界(洞)組成。多個內(nèi)外邊界互不相交,只能在邊界上相切于一個點。多邊形Polygon內(nèi)部點集是互相連接的、閉合的。多邊形Polygon沒有新增屬性,新增方法為:GeometryExteriorRing():返回Polygon的外環(huán)。IntNumInteriorRings():返回Polygon環(huán)的數(shù)量。List<Geometry>InteriorRings():返回Polygon內(nèi)部環(huán)的集合。第41頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)十二、面集合MultiSurface面集合MultiSurface是幾何體集合GeometryCollection的子類,是元素為面Surface的2維幾何體集合。面集合MultiSurface中任何兩個面Surface的內(nèi)部不能相交,邊界可相交于有限個點。面集合MultiSurface是一個非實例化的抽象類,它為子類定義了一系列方法。面集合MultiSurface的可實例化子類是多邊形集合MultiPolygon,它是多邊形Polygon的集合。多邊形集合MultiPolygon沒有新增屬性,新增方法為:DoubleArea():求面集合MultiSurface在其參照系統(tǒng)中的面積。DoublePerimeter():求面集合MultiSurface在其參照系統(tǒng)中的周長。92DoubleCentroid():求面集合MultiSurface在其參照系統(tǒng)中的質心。DoublePointOnSurface():求面集合MultiSurface上的一個點。第42頁,課件共76頁,創(chuàng)作于2023年2月幾何對象模型(幾何類的定義)十三、多邊形集合MultiPolygon多邊形集合MultiPolygon是面集合MultiSurface的子類,是元素為Polygon的面集合MultiSurface。其中任何兩個元素多邊形Polygon的內(nèi)部不能相交,邊界可相交(接觸)于有限個點。多邊形Polygon內(nèi)部點集是互相連接的、閉合的。多邊形集合MultiPolygon中至少有兩個多邊形Polygon不連接。多邊形集合MultiPolygon是其每個元素的邊界線構成的集合。多邊形集合MultiPolygon沒有新增屬性和新增方法。Back第43頁,課件共76頁,創(chuàng)作于2023年2月純關系實現(xiàn)(空間要素關系模式)一、空間要素的關系模式要素表是一個標準關系表,必須包含一到多個特殊的幾何屬性域geometry。幾何數(shù)據(jù)獨立于要素表之外存儲在單獨的幾何表中,幾何表的主碼GID作為要素表的外碼存儲在要素表的幾何域中,要素表中每個幾何屬性域對應一個具體的幾何表(或視圖)。關系數(shù)據(jù)庫中,一個專題轉換為一個要素關系表(featuretable),一個空間要素轉換為要素關系的一個元組,元組中的幾何域存儲幾何數(shù)據(jù)的標識,幾何數(shù)據(jù)在單獨的幾何表中存儲。空間要素表的一般形式為:關鍵字屬性1。。。幾何屬性域geometry要素關鍵字幾何表主碼GID第44頁,課件共76頁,創(chuàng)作于2023年2月純關系實現(xiàn)(空間要素關系模式)第45頁,課件共76頁,創(chuàng)作于2023年2月純關系實現(xiàn)(空間要素關系模式)第46頁,課件共76頁,創(chuàng)作于2023年2月純關系實現(xiàn)(空間要素關系模式)第47頁,課件共76頁,創(chuàng)作于2023年2月純關系實現(xiàn)(幾何數(shù)據(jù)表)第48頁,課件共76頁,創(chuàng)作于2023年2月純關系實現(xiàn)(例圖)例圖:

第49頁,課件共76頁,創(chuàng)作于2023年2月純關系實現(xiàn)(例圖對應的幾何表)幾何表的二進制對象形式幾何表的數(shù)值坐標形式Back第50頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(空間數(shù)據(jù)類型)一、空間數(shù)據(jù)類型(簡稱“空間ADT”)一種具有較強數(shù)據(jù)表達能力的對象型抽象數(shù)據(jù)類型(ADTAbstractDataType),定義中包含了幾何數(shù)據(jù)結構和一系列用于維護幾何數(shù)據(jù)、實現(xiàn)空間操作、表達空間關系的幾何方法。幾何對象按形態(tài)可分為點、線、面、點集合、線集合、面集合等多種幾何類型,同一種幾何類型的幾何對象屬于一類,定義為一種具體的空間ADT。空間ADT是一個大類,包含Point、Polyline、Polygon等許多不同形態(tài)的具體數(shù)據(jù)類型,要素表中每個空間屬性域定義為一種具體的空間ADT。

第51頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(空間數(shù)據(jù)類型)空間數(shù)據(jù)庫應定義足夠數(shù)量且不冗余的一組通用空間ADT,并為每個空間ADT定義滿足數(shù)據(jù)表示、處理和管理需要的最小函數(shù)集(幾何方法)。空間ADT是應用驅動的,應滿足具體的應用需求,這里定義的空間ADT應能支持前述的空間查詢。定義中應包括空間ADT的名稱、幾何類型的界定約束(簡稱約束)、幾何屬性內(nèi)容、幾何方法形式和定義。

空間函數(shù)的輸出結果應是已定義的數(shù)據(jù)類型之一,空間ADT設計和空間函數(shù)的定義應具有封閉性。第52頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(空間函數(shù)的封閉性)求交集結果有三種:(b)兩個多邊形,空間對象類型為region。(c)兩個多邊形和一條線。(d)兩個多邊形、一條線和一個點。如果只定義點(point)、折線(polyline或line)、區(qū)域(region)三種空間ADT,則不能表示(c)、(d)兩種情況。如選擇(b)作為函數(shù)的輸出,雖強制對應了一種已定義的空間ADT,但沒有準確地表示兩個多邊形的交集。如果定義一個足夠大的空間ADT集合,使空間函數(shù)在數(shù)據(jù)類型集合上封閉,那就需要將點、線、多邊形、復合對象定義成本例中的空間ADT。圖4-26兩個多邊形的交集如圖4-26中,A、B兩多邊形表示成其內(nèi)部和邊界上點的無限集合,兩多邊形的交集定義為同時屬于兩個多邊形的所有點構成的集合。第53頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)

(實例中定義的空間數(shù)據(jù)類型)根據(jù)實例中的關系模式和查詢需求,至少需要定義以下空間ADT:1、點類型(point:0維):屬性:pointADT的函數(shù):

2、折線類型(polyline或line:1維):直線段序列,存儲為坐標向量序列,線狀要素幾何類型。約束:一個端點最多有兩個線段共享。polylineADT的函數(shù):第54頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)

(實例中定義的空間數(shù)據(jù)類型)

3、區(qū)域類型(region兩維):多邊形polygon是折線構成封閉區(qū)域,約束為“無洞的簡單多邊形”。區(qū)域region為不重疊多邊形的集合,polygon和region均是面狀要素幾何類型。本例將多邊形polygon看作區(qū)域的特例,只定義點point、折線polyline、區(qū)域region三種空間ADT。regionADT的函數(shù):

第55頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)

(空間要素的對象關系模式

)二、空間要素的對象關系模式空間要素的對象關系模式中包含一個或多個空間屬性域,每個空間屬性域的數(shù)據(jù)類型為一種具體的空間ADT,取值為該類中具體的幾何對象。空間要素關系表的一般結構為:關鍵字屬性1屬性2。。。。ADT要素ID幾何對象第56頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(實例中要素模式

)(一)行政區(qū)劃(Schema1)1、國家描述國家的基本信息。CreateTableCountry(country_codeinteger,country_namevarchar(30),geometryregion,

PrimaryKey(country_code))第57頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(實例中要素模式

)2、省描述縣的基本信息,通過country_code建立了國家與省之間的聯(lián)系。CreateTableProvince(Province_codeinteger,Province_namevarchar(30),

country_codeinteger,geometryregion,PrimaryKey(Province_code),ForeignKey(country_code)ReferencesCountry)

第58頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(實例中要素模式

3、縣 描述省的基本信息,通過Province_code建立了省與縣之間的聯(lián)系。

CreateTableCounty(County_codeinteger,County_namevarchar(30),populationinteger,Province_codeinteger,geometryregion,

PrimaryKey(county_code),

ForeignKey(Province_code)

ReferencesProvince)第59頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(實例中要素模式

)(二)城市間的路網(wǎng)(Schema2)道路的空間ADT是polyline,道路相對行政區(qū)而言隨時間變化較快,只在路段關系模式中包含空間屬性域,道路的空間屬性由路段關系模式推出。道路和路段兩個關系模式間是多對多的聯(lián)系,建立一個新關系模式HighwaySection來表示。第60頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(實例中要素模式

)第61頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(實例中要素模式

)(三)土地使用(Schema3)轉換為一個土地使用關系CreateTableLand_Use(region_namevarchar(30),

land_use_typevarchar(30),

geometryregion,PrimaryKey(region_nam))第62頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(例子中查詢功能)三、基于對象關系模式的空間查詢根據(jù)本例中定義的空間ADT,用擴展SQL語言描述前面定義的查詢。Select后可跟屬性和函數(shù),where.后的條件中可含空間謂詞。(一)屬性查詢1、ALPHA-ADM1:某省某縣的居民數(shù)量。在County關系中先選擇某省的紀錄,然后在人口域上的投影即為所求。SelectpopulationFromCountyWherecounty_name=“某省”第63頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(例子中查詢功能)第64頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(例子中查詢功能)4、ALPHA-R1:某一條道路第一路段的車道數(shù)。連接HighwaySection、Highway、Section三個關系,從Highway查出要查詢的道路名,從Section中查出該道路第一個路段和該路段的車道數(shù)。Selects.number_lanesFromHighwaySectionash1,Highwayash2,SectionassWhereh2.Highway_code=h1.Highway_codeandh1.section_code=s.section_codeandh2.Highway_name=“路名”andh1.section_number=1第65頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(例子中查詢功能)

5、ALPHA-R2:某一條道路所有路段名。連接HighwaySection、Highway、Section三個關系,從Highway查出要查詢的道路名,從Section中查出該路包含的所有路段。Selectsection_nameFromHighwaySectionash1,Highwayash2,SectionassWhereh2.Highway_code=h1.Highway_codeandh1.section_code=s.section_codeandh2.Highway_name=“路名”第66頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(例子中查詢功能)(二)空間查詢這類查詢中含有空間函數(shù)和謂詞,謂詞用于where子句中,函數(shù)用于select子句中,也可用作謂詞的參數(shù)。1、SPAT-ADM4:與某個縣相鄰的縣。對County和County的進行自身連接,同一關系取兩個別名。求同一關系中與指定縣相鄰的其他縣,顯示縣名。Selectc1.county_nameFromCountyasc1,Countyasc2Wherec2.county_name=“縣名”andc1.Province_code=c2.Province_codeandmeets(c1.geometry,c2.geometry)第67頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(例子中查詢功能)2、SPAT-ADM5:顯示某個省。如果國家、省、縣三個關系中都含有幾何屬性。查詢可描述為:SelectgeometryFromProvinceWhereProvince_name=“某省”

如果只有縣關系中含有幾何屬性,則查詢描述如下:SelectRegionUnion(c.geometry)FromCountryasc,ProvinceaspWherep.Province_name=“某省”andp.Province_code=c.Province_code

連接Country和Province兩關系,查出屬于“某省”的所有縣。投影得到各縣的幾何屬性geometry,用RegionUnion謂詞對幾何屬性求聯(lián)合,消除可能的公共邊界,得到所求省的幾何圖形。第68頁,課件共76頁,創(chuàng)作于2023年2月對象關系實現(xiàn)(例子中查詢功能)3、SPAT-ADM6:全國范圍內(nèi),大于“某省”中最大的一個縣的縣是哪些。查詢描述為:Selectcounty_nameFromCountyWhereArea(County.geo

溫馨提示

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

評論

0/150

提交評論