亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Oracle Spatial空間數(shù)據(jù)存儲管理技術(shù)的應(yīng)用研究

        2011-11-14 10:51:52王云帆
        測繪通報 2011年6期
        關(guān)鍵詞:數(shù)據(jù)類型空間數(shù)據(jù)對象

        王云帆

        (太原理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,山西太原030024)

        Oracle Spatial空間數(shù)據(jù)存儲管理技術(shù)的應(yīng)用研究

        王云帆

        (太原理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,山西太原030024)

        通過論述Oracle Spatial空間數(shù)據(jù)模型,對Oracle Spatial的特點進(jìn)行探討,結(jié)合Oracle數(shù)據(jù)庫在空間數(shù)據(jù)方面的特性,應(yīng)用數(shù)據(jù)庫技術(shù)實現(xiàn)空間數(shù)據(jù)管理與操作,以及空間數(shù)據(jù)查詢、分析、轉(zhuǎn)換等功能。

        Oracle Spatial;空間數(shù)據(jù)存儲;空間數(shù)據(jù)庫

        一、概 述

        Oracle Spatial是Oracle數(shù)據(jù)庫為實現(xiàn)快速、高效地存取、分析空間數(shù)據(jù)而將相關(guān)函數(shù)和過程集成在一起的專用組件。它以對象關(guān)系數(shù)據(jù)模型作為存取和管理空間信息的基礎(chǔ),應(yīng)用面向?qū)ο蟛僮骷夹g(shù)將存儲在Oracle Spatial中的多種元素信息相關(guān)聯(lián),以便進(jìn)行拓?fù)浞治雠c其他操作。它為數(shù)據(jù)庫管理系統(tǒng)管理空間數(shù)據(jù)提供了完全開放的體系結(jié)構(gòu)。其提供的各種功能在數(shù)據(jù)庫服務(wù)器內(nèi)完全集成。用戶通過SQL定義和操縱空間數(shù)據(jù),可以訪問標(biāo)準(zhǔn)的Oracle特性,如靈活的n層體系結(jié)構(gòu)、對象功能、Java存儲過程以及強(qiáng)健的數(shù)據(jù)庫管理工具等,從而具有了保證數(shù)據(jù)的完整性、可恢復(fù)性和安全性等特性,而在基于文件的或復(fù)合的傳統(tǒng)GIS、WebGIS體系結(jié)構(gòu)中幾乎不可能獲得這些特性。

        二、空間數(shù)據(jù)模型

        1.存儲模型

        Oracle Spatial在空間數(shù)據(jù)模型方面,其結(jié)構(gòu)如圖1所示。

        圖1 Oracle Spatial的空間數(shù)據(jù)幾何學(xué)存儲模型

        圖1中,空間圖層是具有相同屬性集的多種幾何體的集合,而幾何體是空間要素的集合,由對象元素的有序集組成,對象元素則是幾何體的基本組成單元。

        Oracle Spatial以點、線、多邊形3種幾何類型為基本對象元素來抽象描繪現(xiàn)實世界的各種地物。另外,作為一種對象關(guān)系型數(shù)據(jù)庫,它還引入了圓弧、圓環(huán)、優(yōu)化矩形、復(fù)合線串、復(fù)合多邊形這些圖形作為基本對象元素(可看作由點、線、多邊形3種最基本的類型的混合而組成的,如圖2所示)。這種模型的優(yōu)點在于與用戶的交互過程中只需處理涉及的層,因而能夠?qū)τ脩舻男枨笞鞒隹焖俜磻?yīng)。

        圖2 部分Oracle Spatial支持的基本對象元素及對應(yīng)幾何學(xué)圖形

        2.基于SDO_GEOMETRY的對象數(shù)據(jù)類型

        為實現(xiàn)對空間數(shù)據(jù)的存取、索引、分析等操作,在Oracle Spatial的對象關(guān)系模式中,定義了一種空間對象類型MDSYS.SDO_GEOMETRY,該類型和其他數(shù)據(jù)類型一樣可以單獨存儲于數(shù)據(jù)庫表的某一列中。該類型的結(jié)構(gòu)定義如下

        其中各個參數(shù)的含義如下:

        1)SDO_TYPE定義了存儲在SDO_GEOMETRY對象中的基本幾何體類型(如點、線、面等),SDO_ GTYPE的值是一個4位數(shù),格式為“ditt”。其中,d表示維數(shù)(如二維、三維或四維);i表示一個三維線性參考系中幾何體的線性參考系測量維的值(默認(rèn)為0);tt表示幾何體的類型(00到07表示了8種目前常用的幾何類型,08到99以備將來使用)。如SDO_GTYPE取值2003則表示二維的多邊形。表1是SDO_GTYPE的有效取值說明。

        表1 SDO_GTYPE說明

        2)SDO_SRID表示了空間對象所在的坐標(biāo)系統(tǒng),即空間參照系統(tǒng)。Oracle遵照OpenGIS規(guī)范定義了一組數(shù)字來表示不同的坐標(biāo)系統(tǒng),并存儲在表MDSYS.CS_SRS中。如果SDO_SRID的值不為空,那么它一定可以從表MDSYS.CS_SRS中的SIRD字段中找到,并且這個值還必須插入到空間元數(shù)據(jù)視圖USER SDO_GEOM_METADATA的SRID字段中。

        3)SDO_POINT只用于在SDO_GEOMETRY對象中存儲點數(shù)據(jù),當(dāng)SDO_ELEM_INFO與SDO_ ORDINATES不為空時,SDO_POINT被忽略。

        SDO_POINT的數(shù)據(jù)類型為對象類型 SDO_ POINT_TYPE,如果用戶具有DBA角色,那么可利用視圖ALL_SOURCE或DBA_SOURCE來執(zhí)行下面的查詢進(jìn)而了解SDO_POINT_TYPE對象類型的定義。

        此外,如果用戶直接以用戶MDSYS登錄數(shù)據(jù)庫,也可以用視圖USER_SOURCE來查詢抽象數(shù)據(jù)類型的結(jié)構(gòu)定義。

        4)SDO_ELEM_INFO描繪了存儲在 SDO_ GEOMETRY對象中存儲各基本元素的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)類型為SDO_ELEM_INFO_ARRAY變長數(shù)組類型,同樣也可以按照上面介紹的方法來查詢其定義。

        5)SDO_ORDINATES對象類型用來存儲空間對象的坐標(biāo)值,其數(shù)據(jù)類型也是一個變長數(shù)組類型SDO_ORDINATE_ARRAY。

        SDO_ORDINATE_ARRAY變長數(shù)組由幾何體元素的坐標(biāo)組成,而這些坐標(biāo)的存儲方式在SDO_ ELEM_INFO_ARRAY中已經(jīng)進(jìn)行了預(yù)定義。

        三、Oracle Spatial空間數(shù)據(jù)管理技術(shù)特點

        1.空間數(shù)據(jù)特征

        Oracle Spatia是順應(yīng)GIS數(shù)據(jù)存儲與管理的需求而發(fā)展起來的,是在關(guān)系數(shù)據(jù)庫管理系統(tǒng)上增加MDSYS.SDO_GEOMETRY對象數(shù)據(jù)類型和對應(yīng)的空間數(shù)據(jù)管理函數(shù),從而實現(xiàn)對空間數(shù)據(jù)提供存儲和管理服務(wù)。利用Oracle Spatial可以在單個數(shù)據(jù)庫實例中實現(xiàn)非結(jié)構(gòu)化、有嵌套關(guān)系的空間、屬性數(shù)據(jù)的統(tǒng)一存儲和管理。它將同一圖層的空間對象存儲在同一張關(guān)系表中,屬性數(shù)據(jù)則作為普通的關(guān)系表列進(jìn)行存儲,當(dāng)涉及空間數(shù)據(jù)時使用對象模型,并將其作為一列存儲于關(guān)系表中。為了加速對空間信息的查詢,Oracle Spatial將空間索引功能引入數(shù)據(jù)庫引擎,這是一項重要特性。Oracle Spatial為建立空間數(shù)據(jù)的索引提供了基于線性四叉樹(Quad-tree)的索引方案和基于參照樹(R-tree)的索引方案,用戶可以根據(jù)需求任意選擇。一般的,當(dāng)為外部地理數(shù)據(jù)建立了空間數(shù)據(jù)表之后就可以建立空間索引。Oracle Spatial利用Oracle的可擴(kuò)展性框架將空間索引創(chuàng)建和查詢處理的接口與SQL引擎緊密集成,且索引創(chuàng)建和維護(hù)的語法只是對CREATE、ALTER及DROP語句的擴(kuò)展。

        實體之間的空間關(guān)系是以與它們關(guān)聯(lián)的幾何體的位置為基礎(chǔ)的,而最普通的空間關(guān)系是以拓?fù)浜途嚯x準(zhǔn)則為基礎(chǔ)的。歐幾里得空間中兩個對象A和B之間的二元拓?fù)潢P(guān)系是以兩個對象A與B在它們內(nèi)部、邊界和外部如何相互作用為基礎(chǔ)的。這稱為兩個對象間拓?fù)潢P(guān)系的9相交模型,它們對A和B提供了相互之間的排他性和完全的覆蓋,這些關(guān)系是包含、被包含、覆蓋、被覆蓋、分離、相等、重疊和接觸。對于決定兩對象間拓?fù)潢P(guān)系的9相交模型,Oracle Spatial能夠完全支持,而其他關(guān)系都能夠通過對上述8種關(guān)系進(jìn)行組合而推導(dǎo)出來。

        2.Oracle Spatial與ArcSDE的比較

        ArcSDE是Esri推出的一種空間數(shù)據(jù)管理方法,它利用GIS計算模式和關(guān)系數(shù)據(jù)庫的優(yōu)勢,較好地解決了海量數(shù)據(jù)(大型數(shù)據(jù)庫)、多用戶共享、快速響應(yīng)的要求,在全球范圍內(nèi)得到了廣泛的應(yīng)用。

        Oracle Spatial和ArcSDE雖然出自兩個不同的軟件公司,但卻有著相似的目標(biāo),都是為了能更好地滿足用戶對空間數(shù)據(jù)管理和使用的需要,但兩種技術(shù)還是存在一些差別。

        1)兩者定位不同。Oracle Spatial強(qiáng)調(diào)的是使Oracle DBMS所管理的數(shù)據(jù)“空間化”,實際上是在原來的數(shù)據(jù)庫模型上增加了對ADT(抽象數(shù)據(jù)類型)、用戶自定義數(shù)據(jù)類型(包含對象類型)的支持,并進(jìn)行了空間數(shù)據(jù)模型的擴(kuò)展;而ArcSDE則更著重于空間數(shù)據(jù)的應(yīng)用,它所提供的API函數(shù)可供MapObjects、ArcView、Visual C++、Visual Basic、Java調(diào)用,方便了二次開發(fā),而非數(shù)據(jù)庫的空間化。

        2)Oracle Spatial的對象相關(guān)VARRAY方式是所謂的“白箱”,即數(shù)據(jù)所包裹的內(nèi)容是可以直接訪問和操縱的;而ArcSDE的方式是所謂的“黑箱”,客戶端不能在數(shù)據(jù)庫表一級直接作底層數(shù)據(jù)對象結(jié)構(gòu)中的內(nèi)容,而是以對象形式對數(shù)據(jù)進(jìn)行管理的?!鞍紫洹钡暮锰幨瞧淇蛻舳说氖跈?quán)用戶可以直接通過SQL訪問數(shù)據(jù)。

        3)在安裝Oracle DBMS時,只要在安裝向?qū)У奶崾鞠逻x擇支持Oracle Spatial之后基本不再需要其他的配置工作;由于ArcSDE采用的是C/S計算模式,故一般要在服務(wù)器端和客戶端分別安裝ArcSDE套件,并做必要的配置工作,相比而言,多了一些維護(hù)工作。

        四、Oracle Spatial基本操作和應(yīng)用示例

        1.空間操作符和函數(shù)

        標(biāo)準(zhǔn)SQL不具備操作空間數(shù)據(jù)的能力,因此Oracle Spatial對標(biāo)準(zhǔn)SQL進(jìn)行了擴(kuò)充,提供了完整的空間數(shù)據(jù)操作函數(shù),使得用戶可以直接在SQL語句中使用這些函數(shù)。但這些函數(shù)僅限于在Oracle數(shù)據(jù)庫平臺上使用。

        Oracle Spatial提供多個函數(shù)/運算符用以操縱空間數(shù)據(jù),包括SDO_WITHIN_DISTANCE、SDO_FILTER、SDO_NN、SDO_GEOM.UNION()、SDO_GEOM.DIFFERENCE()、SDO_GEOM.INTERSECT()、SDO_ GEOM.LEGNTH()、SDO_GEOM.AREA()等。

        在Oracle Spatial中,還提供了對空間聚合、基于函數(shù)的索引、大地測量坐標(biāo)、空間索引分區(qū)以及線性參考等新特性的支持,在性能上比以前有了大幅提高。

        2.應(yīng)用示例

        下面以一個簡單的示例來介紹Oracle Spatial的基本操作。如圖3所示。

        圖3 可樂的興趣區(qū)域

        至此,利用Oracle Spatial完成了空間數(shù)據(jù)存儲和管理操作。

        五、結(jié)束語

        Oracle Spatial作為Oracle數(shù)據(jù)庫中的一個GIS組件,通過提供一個對象數(shù)據(jù)類型SDO_GEOMETRY、索引功能和多個針對SDO_GEOMETRY的函數(shù)、運算符等,能夠在Oracle數(shù)據(jù)庫中實現(xiàn)對空間數(shù)據(jù)的存取、索引、分析等操作。采用Oracle Spatial存儲、管理空間數(shù)據(jù),易于解決數(shù)據(jù)共享、分布式處理、網(wǎng)絡(luò)通信、開放式開發(fā)、并發(fā)控制、網(wǎng)絡(luò)化集成、跨平臺運行及數(shù)據(jù)安全恢復(fù)機(jī)制方面的問題。Oracle Spatial空間數(shù)據(jù)操作與標(biāo)準(zhǔn)SQL操作類似,易于使用,這使得以O(shè)racle Spatial為服務(wù)器端的空間數(shù)據(jù)、屬性數(shù)據(jù)和元數(shù)據(jù)得到統(tǒng)一管理,為空間數(shù)據(jù)的管理和利用帶來方便。

        [1] 何原榮,李全杰,傅文杰.Oracle Spatial空間數(shù)據(jù)庫開發(fā)應(yīng)用指南[M].北京:測繪出版社,2008.

        On the Application of Oracle Spatial Spatial Data Memory Management Technique

        WANG Yunfan

        0494-0911(2011)06-0076-04

        P208

        B

        2011-04-06

        王云帆(1990—),男,北京人,本科生,主要從事空間數(shù)據(jù)庫的學(xué)習(xí)。

        猜你喜歡
        數(shù)據(jù)類型空間數(shù)據(jù)對象
        神秘來電
        睿士(2023年2期)2023-03-02 02:01:09
        詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
        如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
        攻略對象的心思好難猜
        意林(2018年3期)2018-03-02 15:17:24
        基于熵的快速掃描法的FNEA初始對象的生成方法
        元數(shù)據(jù)驅(qū)動的多中心空間數(shù)據(jù)同步方法研究
        區(qū)間對象族的可鎮(zhèn)定性分析
        基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究
        客戶端空間數(shù)據(jù)緩存策略
        多源空間數(shù)據(jù)同名實體幾何匹配方法研究
        欧洲美女黑人粗性暴交| 日本韩国三级在线观看| 久久精品国产色蜜蜜麻豆国语版| 娇妻在交换中哭喊着高潮| 粗一硬一长一进一爽一a级| 99在线无码精品秘 入口九色| 亚洲天堂av黄色在线观看| 国产极品女主播国产区| 日本老熟欧美老熟妇| 国产一起色一起爱| 日本免费看一区二区三区| 亚洲国产精彩中文乱码av| 亚洲av成人综合网| 亚洲AV无码一区二区水蜜桃| 中文字幕亚洲在线第一页| 免费无码av一区二区| 99精品电影一区二区免费看| 国产亚洲精品综合99久久| 蜜桃臀av一区二区三区| 免费1级做爰片1000部视频| 热久久亚洲| 国产一区二区三区蜜桃| 久久精品99国产精品日本 | 色优网久久国产精品| 黄色国产精品福利刺激午夜片| 九九久久99综合一区二区| 美女视频一区| 国产最新一区二区三区| 丰满女人猛烈进入视频免费网站 | 音影先锋色天堂av电影妓女久久| 久久久国产熟女综合一区二区三区 | 久久国产精品免费久久久| 国产精品婷婷久久爽一下| 99久久精品费精品国产一区二区| 国产亚洲精品不卡在线| 黑人玩弄极品人妻系列视频| 在线成人爽a毛片免费软件| 国产爆乳乱码女大生Av| 日本女优爱爱中文字幕| 国产又大又黑又粗免费视频| 黑人巨大videos极度另类|