版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Oracle 數(shù)據(jù)庫(kù)對(duì)空間數(shù)據(jù)類型的支持隨著 GIS、CAD/CAM 的廣泛應(yīng)用,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)提出了更高的要求,不僅要存 儲(chǔ)大量空間幾何數(shù)據(jù),且以事物的空間關(guān)系作為查詢或處理的主要內(nèi)容。Oracle 數(shù)據(jù)庫(kù)從 9i 開始對(duì)空間數(shù)據(jù)提供了較為完備的支持,增加了空間數(shù)據(jù)類型和相關(guān)的操 作,以及提供了空間索引功能。Oracle 的空間數(shù)據(jù)庫(kù)提供了一組關(guān)于如何存儲(chǔ),修改和查詢空間數(shù)據(jù)集的 SQLschema 與函數(shù)。通過(guò) MDSYS schema 規(guī)定了所支持的地理數(shù)據(jù)類型的存儲(chǔ)、語(yǔ)法 和語(yǔ)義,提供了 R-tree 空間數(shù)據(jù)索引機(jī)制,定義了關(guān)于空間的相交查詢、聯(lián)合查詢和 其他分析操作的操作符、函數(shù)和過(guò)
2、程,并提供了處理點(diǎn),邊和面的拓?fù)鋽?shù)據(jù)模型及表 現(xiàn)網(wǎng)絡(luò)的點(diǎn)線的網(wǎng)絡(luò)數(shù)據(jù)模型。Oracle 中各種關(guān)于空間數(shù)據(jù)庫(kù)功能主要是通過(guò) Spatial 組件來(lái)實(shí)現(xiàn)。從 9i 版本 開始Oracle Spatia l 空間數(shù)據(jù)庫(kù)組件對(duì)存儲(chǔ)和管理空間數(shù)據(jù)提供了較為完備的支 持。其主要通過(guò)元數(shù)據(jù)表、空間數(shù)據(jù)字段(即 SDO_GEOMETRY 字段和空間索引來(lái) 管理空間數(shù)據(jù),并在此基礎(chǔ)上提供一系列空間查詢和空間分析的函數(shù),讓用戶進(jìn)行更深層次的 GIS 應(yīng)用開發(fā)。 Oracle Spatia 使用空間字段 SDO_GEOMETRY 存儲(chǔ)空間 數(shù)據(jù),用元數(shù)據(jù)表來(lái)管理具有 SDO_GEOMETRY 字段的空間數(shù)據(jù)表,并
3、采用 R 樹索 引和四叉樹索引技術(shù)來(lái)提高空間查詢和空間分析的速度。1、元數(shù)據(jù)表說(shuō)明。Oracle Spatia l 的元數(shù)據(jù)表存儲(chǔ)了有空間數(shù)據(jù)的數(shù)據(jù)表名稱、空間字段名稱、空 間數(shù)據(jù)的坐標(biāo)范圍、坐標(biāo)參考信息以及坐標(biāo)維數(shù)說(shuō)明等信息。用戶必須通過(guò)元數(shù)據(jù) 表才能知道 ORACLE 數(shù)據(jù)庫(kù)中是否有 Oracle Spatial 的空間數(shù)據(jù)信息。一般可以通 過(guò)元數(shù)據(jù)視圖(USER_SDO_GEOM_METADATA 訪問(wèn)元數(shù)據(jù)表。元數(shù)據(jù)視圖的基 本定義為:(TABLE_NAME V ARCHAR2(32,COLUMN_NAME V ARCHAR2(32,DIMINFO MDSYS.SDO_DIM_ARRA
4、Y,SRID NUMBERJ其中,TABLE_NAME 為含有空間數(shù)據(jù)字段的表名,COLUMN_NAME 為空間數(shù) 據(jù)表中的空間字段名稱 QIMINFO 是一個(gè)按照空間維順序排列的SDO_DIM_ELEMENT 對(duì)象的動(dòng)態(tài)數(shù)組,SRID 則用于標(biāo)識(shí)與幾何對(duì)象相關(guān)的空間坐 標(biāo)參考系。SDO_DIM_ELEMENT 對(duì)象的定義如下所示:Create Type SDO_DIM_ELEMENT as OBJECT (SDO_DIMNAME V ARCHAR2(64,SDO_LB NUMBER,SDO_UB NUMBER,SDO_TOLERANCE NUMBER;其中,SDO_DIMNAME 是空間維名
5、稱,SDO_LB 為該空間維的左下角坐標(biāo),SDO_UB為該空間維的右上角坐標(biāo),SDO_TOLERANCE 為幾何對(duì)象的表示精度。2、空間字段說(shuō)明Oracle Spatial 的空間數(shù)據(jù)都存儲(chǔ)在空間字段 SDO_GEOMETRY 中理解SDO_GEOMETRY 是編寫 Oracle Spatial 接口程序的關(guān)鍵。SDO_GEOMETRY 是按 照OpenGIS 規(guī)范定義的一個(gè)對(duì)象,其原始的創(chuàng)建方式如下所示:CREATE TYPEsdo_geometry AS OBJECT (SDO_GTYPE NUMBER,SDO_SRID NUMBER,SDO_POINT SDO_POINT_TYPE,SD
6、O_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY,SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY;該對(duì)象由五個(gè)部分組成,下面分別介紹這五個(gè)部分的定義方法。SDO_GTYPE 是一個(gè) NUMBER 型的數(shù)值,用來(lái)定義存儲(chǔ)對(duì)象的類型。SDO_SRID 也是一個(gè) NUMBER 型的數(shù)值,它用于標(biāo)識(shí)與幾何對(duì)象相關(guān)的空間坐標(biāo)參考系,Oracle Spatial 規(guī)定,一個(gè)幾何字段中的所有幾何對(duì)象都必須為相同的SDO_SRID 值。SDO_POINT是一個(gè)包含 X,Y,Z 數(shù)值信息的對(duì)象,用于表示幾何類型為點(diǎn)的幾何對(duì)象。SDO_ELEM_INFO 是
7、一個(gè)可變長(zhǎng)度的數(shù)組,每 3 個(gè)數(shù)作為一個(gè)元素單位,用于解釋坐 標(biāo)是如何存儲(chǔ)在 SDO_ORDINATES 數(shù)組中的。SDO_ORDINATES 是一個(gè)可變長(zhǎng)度的數(shù)組,用于存儲(chǔ)幾何對(duì)象的真實(shí)坐標(biāo),該數(shù) 組的類型為 NUMBER 型,它的最大長(zhǎng)度為 1048576。SDO_ORDINATES 必須與SDO_ELEM_INFO 數(shù)組配合使用,才具有實(shí)際意義。3、空間索引技術(shù)Oracle Spatial 索引主要提供兩個(gè)功能:找到一個(gè)區(qū)域中的空間對(duì)象,找到兩個(gè)空 間對(duì)象的交集。為此Spatial 提供了 R 樹索引和四叉樹索引兩種索引機(jī)制來(lái)提高空 間查詢和空間分析的速度。R-Tree 索引能代替線性四
8、叉樹索引或和其一起使用。R-Tree 索引不僅僅能對(duì) 2D 數(shù)據(jù)進(jìn)行索引,同時(shí)對(duì) 3D、4D 數(shù)據(jù)也可進(jìn)行索引。空間 R-tree 索引最高能定位四維空間。一個(gè) R-tree 索引近似的使用單個(gè) MBR 來(lái)代表一個(gè)地理對(duì)象。它存儲(chǔ)在空間索引表(USER_SDO_INDEX_METADATA 視 圖中的SDO_INDEX_TABLE 字段所指的空間索引表,如果你去查找那個(gè)字段內(nèi)容,只會(huì)看到一堆二進(jìn)制。同時(shí) R-tree 索引還維護(hù)一個(gè) sequenee 對(duì)象(USER_SDO_INDEX_METADATA 表中的 SDO_RTREE_SEQ_NAME 字段。創(chuàng)建 R 樹索引:CREATE IND
9、EX territory_idx ON territories (territory_geomINDEXTYPE IS MDSYS.SPATIAL_INDEX;創(chuàng)建四叉樹索引:CREATE INDEX ROADS_FIXED ON ROADS(SHAPE INDEXTYPE ISMDSYS.SPATIAL_INDEXPARAMETERS(SDO_LEVEL=;4、查詢模型說(shuō)明Oracle Spatial 使用兩層查詢模型來(lái)解決查詢與空間過(guò)濾的問(wèn)題。模型使用兩個(gè) 不同目的的操作來(lái)加快查詢過(guò)程。而輸出的結(jié)果是這兩個(gè)操作組合結(jié)果。這兩個(gè)操作為 primary 與 secondary 操作:prima
10、ry 過(guò)濾操作:使用地理上近似的查詢操作來(lái)減小計(jì)算的復(fù)雜度。因?yàn)檫@ 個(gè)查詢是近似,所以它產(chǎn)生一個(gè)比較大的結(jié)果集,這個(gè)結(jié)果集是給 secondary 過(guò)濾操 作使用。2.secondary 過(guò)濾操作:在 primary 過(guò)濾出來(lái)的結(jié)果集上使用精確的計(jì)算來(lái)得到最后精度的空間過(guò)濾結(jié)果集。因?yàn)檫@個(gè)計(jì)算過(guò)程是很昂貴的,所以它只在primary 過(guò)濾出來(lái)的結(jié)果集上計(jì)算。Spatial 使用空間索引來(lái)實(shí)現(xiàn) primary 過(guò)濾。 Spatial 并不強(qiáng)求使用一定要使用 primary與 secondary 過(guò)濾組合。在很多情況下,光一個(gè) primary 過(guò)濾就足夠了。例如 一個(gè)放大操作中,應(yīng)用程序只要得到與
11、一個(gè)矩形框相交的地理區(qū)域中的內(nèi)容。這 時(shí),primary 過(guò)濾就可以非??斓姆祷匾粋€(gè)大集合,而應(yīng)用程序可以使用減切路徑來(lái)只 顯示出目標(biāo)區(qū)域來(lái)。Spataial 使用 secondary 過(guò)濾器來(lái)決定空間關(guān)系。空間關(guān)系決定于地理位置。最 通用的空間關(guān)系是基于拓?fù)渑c距離的。為了決定空間關(guān)系,Spatail 有很多 secondary過(guò)濾器:SDO_RELATE 操作指出拓?fù)潢P(guān)系。它實(shí)現(xiàn)了九個(gè)交疊模型在點(diǎn),線與多邊 形中間分類兩個(gè)空間對(duì)象的拓?fù)潢P(guān)系,每個(gè)對(duì)象都有包含,交疊與不包含三種。SDO_WITHIN_DISTANCE 操作決定兩個(gè)空間對(duì)象是否在某個(gè)指定的距離中。SDO_NN 操作指出離某個(gè)空間
12、對(duì)象最近的對(duì)象。SDO_WITHIN_DISTANCE 操作符判斷兩個(gè)對(duì)象是否在一個(gè)指定的距離內(nèi),這個(gè)操作在 B 對(duì)象的周圍建立一個(gè)為指定 距離的區(qū)域,然后看 A 是否與這個(gè)區(qū)域相交。SDO_NN 操作返回在一個(gè)對(duì)象周圍指 定數(shù)目的最近對(duì)象。下面一個(gè)在 Oracle 中構(gòu)建空間數(shù)據(jù)庫(kù)并對(duì)空間數(shù)據(jù)庫(kù)進(jìn)行增、刪、改操作的 實(shí)例。通過(guò)這個(gè)實(shí)例可以看到 Oracle 中構(gòu)建空間數(shù)據(jù)庫(kù)功能強(qiáng)大,且實(shí)現(xiàn)十分簡(jiǎn) 單。首先建立一個(gè)城市表(用來(lái)表示彼此相連的城市和關(guān)系表(用來(lái)表示城市之間的 公路。Create table cities(Locatio n mdsys.sdo_geometry /城市位置Geom
13、 mdsys.sdo_geometry, /城市邊界City varchar2(42, / 城市名State_abrv varhar2(2, 所屬省份Pop number, / 人口數(shù)量Poppsqmi nu mber; 人口密度Create table in terstates(Geom mdsys.sdo_geometry, /城市間地形Highway varchar2(35; / 高速路名接下來(lái)將限制條件插入到 USER_SDO_GEOM_METADATA 中:In sert into USER_SDO_GEOM_METADATA(table_name, colum_name, dimi
14、 nfo,sridValues( cities , location ,Mdsys.sdo_dim_array(mdsys.sdo_dim_eleme nt (-180.O00000000, 180.000000000, 0.000000050,mdsys.sdo_dim_eleme nt (-9(y.000000000, 90000000000, 0.000000050,JNull;In sert into USER_SDO_GEOM_METADATA(table_name, colum_name, dimi nfo,sridValues( cities , geom ,Mdsys.sdo_
15、dim_array(mdsys.sdo_dim_eleme nt (-180.000000000, 180.000000000, 0.000000050,mdsys.sdo_dim_eleme nt (-9(y.000000000, 90000000000, 0.000000050,Null;In sert into USER_SDO_GEOM_METADATA(table_name, colum_name, dimi nfo.sridValues( in terstates , geom ,Mdsys.sdo_dim_array(mdsys.sdo_dim_eleme nt (-180.O00000000, 180.000000000, 0.000000050,mdsys.sdo_dim_eleme nt (-9(y.000000000, 90000000000, 0.00000
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外聘勞務(wù)合同(2篇)
- 培訓(xùn)機(jī)構(gòu)受單位委托培訓(xùn)合同(2篇)
- 大宗礦產(chǎn)品銷售代理合同(2篇)
- 2024版二手房買賣協(xié)議(含裝修情況)2篇
- 2024氣體購(gòu)銷合同范本
- 專業(yè)油罐儲(chǔ)存服務(wù)協(xié)議模板(2024年)版
- 物業(yè)管理裝修協(xié)議書
- 食堂采購(gòu)蔬菜協(xié)議書范本
- 專用消防工程協(xié)作協(xié)議2024年版版A版
- 2025餐飲行業(yè)員工績(jī)效考核與獎(jiǎng)懲合同3篇
- 2024風(fēng)力發(fā)電機(jī)組 整機(jī)一階調(diào)諧質(zhì)量阻尼器
- 班車服務(wù)項(xiàng)目服務(wù)方案
- 《水電工程招標(biāo)設(shè)計(jì)報(bào)告編制規(guī)程》
- 2023年高職單獨(dú)招生考試數(shù)學(xué)試卷含答案
- 導(dǎo)管室進(jìn)修匯報(bào)課件
- T-CEPPC 13-2023 電網(wǎng)區(qū)域電碳因子和電力碳排放量核算規(guī)范
- 生產(chǎn)工廠管理手冊(cè)
- 監(jiān)控系統(tǒng)調(diào)試檢驗(yàn)批質(zhì)量驗(yàn)收記錄(新表)
- 針刺上的預(yù)防與處理
- 行業(yè)財(cái)務(wù)對(duì)標(biāo)分析
- 脫糖果汁的生產(chǎn)工藝優(yōu)化
評(píng)論
0/150
提交評(píng)論