Oracle Spatial空間數(shù)據(jù)庫簡介_第1頁
Oracle Spatial空間數(shù)據(jù)庫簡介_第2頁
Oracle Spatial空間數(shù)據(jù)庫簡介_第3頁
Oracle Spatial空間數(shù)據(jù)庫簡介_第4頁
Oracle Spatial空間數(shù)據(jù)庫簡介_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、空間數(shù)據(jù)庫Spatial Database Oracle Spatial概述本章內(nèi)容1 Oracle Spatial簡介2 數(shù)據(jù)類型和元數(shù)據(jù)3 索引和查詢空間數(shù)據(jù)4 坐標(biāo)系統(tǒng)教學(xué)目標(biāo)掌握以下內(nèi)容:了解ORACLE Spatial的功能ORACLE Spatial存儲(chǔ)空間數(shù)據(jù)的特點(diǎn)緒論空間數(shù)據(jù)庫是某一區(qū)域內(nèi)關(guān)于一定地理要素特征的數(shù)據(jù)集合地理數(shù)據(jù):描述地理要素特征(空間實(shí)體)的數(shù)據(jù)地理信息系統(tǒng)如何處理數(shù)據(jù)的?空間數(shù)據(jù)模型點(diǎn):位置:(x,y) 屬性:符號(hào)線:位置: (x1,y1),(x2,y2),(xn,yn) 屬性:符號(hào)形狀、顏色、尺寸面:位置:(x1,y1),(x2,y2),(xi,yi),(x

2、n,yn) 屬性:符號(hào)變化 等值線 (1).矢量結(jié)構(gòu)模型空間數(shù)據(jù)模型遙感傳感器平臺(tái)傳感器(2).柵格結(jié)構(gòu)模型空間數(shù)據(jù)模型 2.幾何對(duì)象點(diǎn):空間的一個(gè)坐標(biāo)點(diǎn);線:多個(gè)點(diǎn)組成的弧段;面:多個(gè)弧段組成的封閉多邊形;圖層按 “主題,” 分層真實(shí)世界空間數(shù)據(jù)模型按 數(shù)據(jù)類型分層G空間數(shù)據(jù)屬性數(shù)據(jù)空間數(shù)據(jù)和屬性數(shù)據(jù)的綜合體Name Address Town St. Zip GIS是IS空間數(shù)據(jù)模型分類:每層地理數(shù)據(jù)空間數(shù)據(jù)屬性數(shù)據(jù);全部地理數(shù)據(jù)全部圖層空間數(shù)據(jù)全部圖層屬性數(shù)據(jù);空間數(shù)據(jù)庫管理方案基于文件與關(guān)系式數(shù)據(jù)庫的空間數(shù)據(jù)混合管理方案基于關(guān)系式數(shù)據(jù)庫的空間數(shù)據(jù)管理方案基于對(duì)象關(guān)系式數(shù)據(jù)庫的空間數(shù)據(jù)管理

3、方案。文件關(guān)系數(shù)據(jù)庫混合管理方案屬性數(shù)據(jù)建立在RDBMS上,數(shù)據(jù)存儲(chǔ)和檢索比較可靠、有效;幾何數(shù)據(jù)采用圖形文件管理,功能較弱,特別是在數(shù)據(jù)的安全性、一致性、完整性、并發(fā)控制方面,比商用數(shù)據(jù)庫要遜色得多。空間數(shù)據(jù)分開存儲(chǔ),數(shù)據(jù)的完整性有可能遭到破壞。GIS軟件:Supermap,Arc/Info,MGE,GenMap等幾何數(shù)據(jù)屬性數(shù)據(jù)ID數(shù)據(jù)文件數(shù)據(jù)庫早期圖形用戶界面圖形處理DBMS屬性用戶界面圖形文件庫屬性數(shù)據(jù)庫GIS用戶界面圖形處理DBMS圖形文件庫屬性數(shù)據(jù)庫高級(jí)語言O(shè)DBC協(xié)議GIS用戶界面圖形處理DBMS圖形文件庫屬性數(shù)據(jù)庫高級(jí)語言數(shù)據(jù)庫開發(fā)語言數(shù)據(jù)庫開發(fā)數(shù)據(jù)庫開發(fā)全關(guān)系式數(shù)據(jù)庫管理方案

4、屬性數(shù)據(jù)、幾何數(shù)據(jù)同時(shí)采用關(guān)系式數(shù)據(jù)庫進(jìn)行管理空間數(shù)據(jù)和屬性數(shù)據(jù)不必進(jìn)行煩瑣的連接,數(shù)據(jù)存取較快屬于間接存取方式,效率比DBMS的直接存取慢,特別是涉及空間查詢、對(duì)象嵌套等復(fù)雜的空間操作GIS軟件:supermap ,System9,Small World、Geovision等GIS界面屬性數(shù)據(jù)(定長記錄)空間數(shù)據(jù)(變長記錄)DBMS空間數(shù)據(jù)庫關(guān)系表二進(jìn)制塊對(duì)象關(guān)系數(shù)據(jù)庫管理方案對(duì)現(xiàn)有的關(guān)系數(shù)據(jù)庫進(jìn)行擴(kuò)展,增加空間數(shù)據(jù)類型解決了空間數(shù)據(jù)變長記錄的存儲(chǔ)問題,由數(shù)據(jù)庫軟件商開發(fā),效率較高用戶不能根據(jù)GIS要求進(jìn)行空間對(duì)象的再定義,因而不能將設(shè)計(jì)的拓?fù)浣Y(jié)構(gòu)進(jìn)行存儲(chǔ),沒有解決數(shù)據(jù)的嵌套紀(jì)錄問題 GIS

5、軟件:supermap,TIGER,Geo+、Geo Tropics等GIS界面空間數(shù)據(jù)處理DBMS空間數(shù)據(jù)庫擴(kuò)充實(shí)體類型(點(diǎn)、線、面、圓等)1 Oracle Spatial概念Oracle Spatial是什么Oracle Spatial功能 數(shù)據(jù)模型查詢模型空間數(shù)據(jù)索引空間關(guān)系和條件空間聚集函數(shù)地理編碼Geocoding1.1 Oracle SpatialOracle Spatial是什么?Oracle Spatial 是 Oracle 數(shù)據(jù)庫企業(yè)版的空間數(shù)據(jù)處理一個(gè)選件。Oracle Spatial能夠在一個(gè)多用戶環(huán)境中部署地理信息系統(tǒng)(GIS),并且與其它企業(yè)數(shù)據(jù)有機(jī)結(jié)合起來,統(tǒng)一部署

6、電子商務(wù)、政務(wù)。1.1 Oracle SpatialOracle Spatial功能Oracle Spatial 實(shí)現(xiàn)了對(duì)空間信息的存儲(chǔ)、訪問和分析。傳統(tǒng)的 GIS 技術(shù)已達(dá)到其本身的極限,用戶越來越多地轉(zhuǎn)向以數(shù)據(jù)庫為中心的空間計(jì)算。 Oracle Spatial將空間過程和操作直接轉(zhuǎn)移到數(shù)據(jù)庫內(nèi)核中,從而提高了性能和安全性。Oracle Spatial將所有的地理空間數(shù)據(jù)類型(矢量、柵格、網(wǎng)格、影像、網(wǎng)絡(luò)、拓?fù)洌┙y(tǒng)一在單一、開放的、基于標(biāo)準(zhǔn)的數(shù)據(jù)管理環(huán)境中, 減少了管理單獨(dú)、分離的專用系統(tǒng)的成本、復(fù)雜性和開銷。1.1 Oracle SpatialOracle Spatial功能Oracle

7、Spatial可用標(biāo)準(zhǔn)的 SQL 查詢管理空間數(shù)據(jù)。提供了SQL模式和函數(shù)來實(shí)現(xiàn)Feature Collection的存儲(chǔ)、檢索、更新和查詢。 Oracle Spatial不但具有傳統(tǒng)GIS的所有特性,而且還具有關(guān)系數(shù)據(jù)庫的特性,這些特性擴(kuò)展了應(yīng)用程序開發(fā)人員的工作范圍并提供了生產(chǎn)率,因而能支持更廣泛的應(yīng)用程序并提高性能。 1.1 Oracle SpatialOracle Spatial的組成實(shí)現(xiàn)模式(MDSYS)規(guī)定了支持的幾何數(shù)據(jù)類型的存儲(chǔ)、語法和語義空間索引機(jī)制一套運(yùn)算符和函數(shù)進(jìn)行感興趣區(qū)域查詢,空間連接查詢和其它空間分析操作管理工具1.1 Oracle Spatial對(duì)象關(guān)系模型Obj

8、ect Relational ModelSpatial采用對(duì)象關(guān)系模型表示幾何對(duì)象定義類型為MDSYS.SDO_GEOMETRY的字段每個(gè)幾何對(duì)象無需占用多行存儲(chǔ)對(duì)應(yīng)OpenGIS Feature實(shí)現(xiàn)規(guī)范中的“SQL92+Geometry”Feature實(shí)現(xiàn)方案1.1 Oracle Spatial對(duì)象關(guān)系模型的優(yōu)勢支持豐富的幾何對(duì)象類型包括圓弧arc ,圓circle, 混合多邊形compound polygon, 混合折線段compound line string, 以及優(yōu)化的矩形易于創(chuàng)建和維護(hù)空間索引以及構(gòu)造空間查詢空間索引由Oracle9i數(shù)據(jù)庫服務(wù)器自動(dòng)維護(hù)幾何對(duì)象可以保存在單條記錄的

9、單個(gè)字段優(yōu)化的性能1.1 Oracle SpatialSpatial支持的幾何對(duì)象類型Point, point clusterLine stringPolygonArc line stringArc polygonCompound polygonCompound line stringCircleRectangle1.1 Oracle SpatialSpatial支持3維和4維幾何對(duì)象類型僅實(shí)現(xiàn)存儲(chǔ)和索引空間函數(shù)僅對(duì)前兩維坐標(biāo)操作空間運(yùn)算符對(duì)多于兩維的對(duì)象無效Spatial的層次結(jié)構(gòu)數(shù)據(jù)模型高層次的對(duì)象由低一層次的對(duì)象構(gòu)成包括元素element,幾何形geometry和圖層layer三個(gè)層次1

10、.2 數(shù)據(jù)模型元素Element構(gòu)成幾何形對(duì)象的零件,包括點(diǎn)、折線段和多邊形多邊形按照頂點(diǎn)排列順序分為外部多邊形和內(nèi)部多邊形,順時(shí)針為內(nèi),逆時(shí)針為外一個(gè)內(nèi)多邊形和若干外多邊形組成帶洞的多邊形幾何形GeometryGeometry代表一個(gè)地物,由若干順序排列的元素構(gòu)成構(gòu)成元素可以是單個(gè)、多個(gè)同類型或者多個(gè)不同類型1.2 數(shù)據(jù)模型圖層Layer圖層是若干具有相同屬性的幾何形的集合人口密度、道路橋梁網(wǎng)絡(luò)等圖層的幾何形和相關(guān)的空間索引都保存在標(biāo)準(zhǔn)的數(shù)據(jù)庫表中坐標(biāo)系Coordinate System(空間參照系)空間數(shù)據(jù)都具有坐標(biāo)系屬性,坐標(biāo)系可以是地理相關(guān)的,也可以和地理無關(guān)地理相關(guān)的坐標(biāo)數(shù)據(jù)有長度單

11、位地理無關(guān)即平面直角坐標(biāo)(笛卡爾坐標(biāo))1.2 數(shù)據(jù)模型坐標(biāo)系Coordinate System(空間參照系)Spatial支持四種坐標(biāo)笛卡爾坐標(biāo)Cartesian coordinate平面直角坐標(biāo),是幾何形的缺省坐標(biāo)系地理坐標(biāo)geodetic coordinate經(jīng)緯度坐標(biāo),與大地基準(zhǔn)點(diǎn)相關(guān)投影坐標(biāo)projected coordinate對(duì)應(yīng)不同的應(yīng)用目的,有多種投影方式局部坐標(biāo)local coordinate非地理應(yīng)用,如CAD等1.2 數(shù)據(jù)模型容差Tolerance容差值用來設(shè)定空間數(shù)據(jù)在運(yùn)算時(shí)的精度反映了兩個(gè)分離的點(diǎn)被考慮為重合的距離對(duì)于地理數(shù)據(jù),容差值的單位是米對(duì)于非地理數(shù)據(jù),容差值的

12、單位和坐標(biāo)系的單位一致越小的容差值對(duì)應(yīng)越高的運(yùn)算精度可以在圖層元數(shù)據(jù)和某些空間運(yùn)算參數(shù)中設(shè)定容差值,地理數(shù)據(jù)的容差值和具體的應(yīng)用相關(guān)對(duì)于非地理數(shù)據(jù),容差值可以設(shè)定為數(shù)據(jù)最高精度的0.5倍1.2 數(shù)據(jù)模型容差Tolerance在地理數(shù)據(jù)中設(shè)定過大的容差可能引起多邊形相對(duì)邊重合而錯(cuò)誤容差示例a,b的實(shí)際距離為0.846049894,應(yīng)用距離函數(shù)SDO_GEOMETRY.DISTANCE如果圖層容差為0.005,返回0.846049894如果容差設(shè)定為0.5,返回00.51.3 查詢模型Spatial采用兩級(jí)查詢模型來實(shí)現(xiàn)空間查詢和空間連接空間查詢分為兩個(gè)獨(dú)立的操作,兩次操作的結(jié)果合成為最終結(jié)果兩個(gè)

13、操作分別稱為主過濾Primary filter和次過濾Secondary filter主過濾先進(jìn)行粗略的比較,快速生成查詢結(jié)果的候選幾何對(duì)象集合,計(jì)算代價(jià)小次過濾對(duì)來自主過濾的候選集合進(jìn)行精確的匹配,生成精確的最終結(jié)果,計(jì)算代價(jià)高,但主過濾大大降低了計(jì)算復(fù)雜度1.3 查詢模型Spatial采用空間索引來實(shí)現(xiàn)主過濾,快速從大量數(shù)據(jù)集中找出查詢結(jié)果的候選集某些操作可以只進(jìn)行代價(jià)低的主過濾,如地圖顯示的縮放所需進(jìn)行的查詢1.4 空間索引Oracle Spatial的兩種空間索引R樹R-tree四叉樹quadtree分別適合不同的應(yīng)用場合可以在一個(gè)幾何字段上同時(shí)創(chuàng)建兩種索引使用ALTER INDEX的

14、add_index參數(shù)在空間運(yùn)算中可以指定使用哪個(gè)索引如SDO_RELATE的idx_tab1/idx_tab2選項(xiàng)1.4 空間索引R-tree和quadtree比較R-treeQuadtree幾何形的近似形不可調(diào)節(jié),采用最小包圍盒可以通過設(shè)定分片級(jí)別和數(shù)量來調(diào)節(jié)幾何形的近似形索引的創(chuàng)建和調(diào)整容易調(diào)整較復(fù)雜,會(huì)顯著影響性能相對(duì)較少的存儲(chǔ)空間相對(duì)較大對(duì)最近鄰居SDO_NN查詢較快對(duì)最近鄰居查詢較慢更新數(shù)據(jù)的效率較低頻繁更新數(shù)據(jù)不會(huì)影響索引的性能可以多到四維空間索引只能在二維空間索引SDO_WITHIN_DISTANCE查詢效率高能夠?qū)崿F(xiàn)全球的索引1.5 空間關(guān)系和條件Spatial在次過濾中實(shí)現(xiàn)

15、幾何形之間的空間關(guān)系運(yùn)算Spatial提供了幾個(gè)次過濾方法實(shí)現(xiàn)空間關(guān)系SDO_RELATE測試拓?fù)潢P(guān)系SDO_WITHIN_DISTANCE測試兩個(gè)空間對(duì)象是否在指定的距離范圍內(nèi)SDO_NN確定一個(gè)空間對(duì)象的最近鄰居SDO_RELATE采用9交叉模型來表達(dá)點(diǎn)線面之間的空間關(guān)系空間關(guān)系可以進(jìn)行組合1.5 空間關(guān)系和條件SDO_RELATE1.5 空間關(guān)系和條件SDO_WITHIN_DISTANCE先創(chuàng)建B的緩沖區(qū)D,再判定A和D是否相離SDO_NN返回指定個(gè)數(shù)的距離A最近的對(duì)象1.6 空間聚集函數(shù)定義空間聚集函數(shù)作用于包含若干幾何對(duì)象的查詢結(jié)果,返回單個(gè)SDO_GEOMETRY對(duì)象示例:返回查詢

16、結(jié)果的最小包圍盒select SDO_AGGR_MBR(shape) from cola_marketSDOAGGRTYPE類型多數(shù)空間聚集函數(shù)以SDOAGGRTYPE類型為參數(shù)CREATE TYPE sdoaggrtype AS OBJECT (geometry MDSYS.SDO_GEOMETRY,tolerance NUMBER);1.6 空間聚集函數(shù)SDOAGGRTYPE類型示例SELECT SDO_AGGR_UNION (MDSYS.SDOAGGRTYPE(c.shape, 0.005) FROM cola_markets c WHERE cola_d;容差值確定了進(jìn)行

17、聚集操作時(shí)的精確度1.6 空間聚集函數(shù)空間聚集函數(shù)包括了SDO_AGGR_CENTROIDSDO_AGGR_CONVEXHULLSDO_AGGR_LRS_CONCATSDO_AGGR_MBRSDO_AGGR_UNION1.7 地理編碼geocoding定義將郵政地址轉(zhuǎn)換為標(biāo)準(zhǔn)化的地址、坐標(biāo)位置Spatial可以與地理編碼服務(wù)供應(yīng)上的軟件集成,實(shí)現(xiàn)地理編碼的功能2 數(shù)據(jù)類型和元數(shù)據(jù)示例:插入/索引/查詢SDO_GEOMETRY對(duì)象類型Geometry示例Geometry元數(shù)據(jù)結(jié)構(gòu)度量單位2.1 示例:插入/索引/查詢可樂市場分析2.1 示例:插入/索引/查詢創(chuàng)建Feature表“可樂市場”cre

18、ate table cola_markets ( mkt_id number primary key, name varchar(32), shape MDSYS.SDO_GEOMETRY)2.1 示例:插入/索引/查詢插入記錄insert into cola_markets values( 1, cola_a, MDSYS.SDO_GEOMETRY( 2003, - 2維多邊形 NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3), -矩形,外部 MDSYS.SDO_ORDINATE_ARRAY(1,1, 5,7) -頂點(diǎn)數(shù)據(jù) );insert in

19、to cola_markets values(. .2.1 示例:插入/索引/查詢更新元數(shù)據(jù)視圖創(chuàng)建空間索引前必需工作,相當(dāng)于創(chuàng)建圖層insert into USER_SDO_GEOM_METADATA values( cola_markets, shape, MDSYS.SDO_DIM_ARRAY( - 20 x20網(wǎng)格 MDSYS.SDO_DIM_ELEMENT(X, 0, 20, 0.005), MDSYS.SDO_DIM_ELEMENT(Y, 0, 20, 0.005) ), NULL - SRID);2.1 示例:插入/索引/查詢創(chuàng)建空間索引create index cola_spa

20、tial_idxon cola_markets(shape)indextype is MDSYS.SPATIAL_INDEX;-建立r-tree索引-下面的語句建立quadtree索引-parameters(SDO_LEVEL=8);2.1 示例:插入/索引/查詢查詢示例返回a/c市場的交select SDO_GEOM.SDO_INTERSECTION(c_a.shape,c_c.shape,0.005)from cola_markets c_a, cola_markets c_cwhere c_=cola_a and c_=cola_c;返回所有市場的面積select

21、 name, SDO_GEOM.SDO_AREA(shape, 0.005) from cola_markets2.2 SDO_GEOMETRY類型定義create type SDO_GEOMETRY as object ( SDO_GTYPE number, SDO_SRID number, SDO_POINT SDO_POINT_TYPE, SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY, SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY);create type SDO_POINT_TYPE as object ( X numb

22、er, y number, z number);create type SDO_ELEM_INFO_ARRAY as varray(1048576) of number;create type SDO_ORDINATE_ARRAY as varray(1048576) of number;2.2 SDO_GEOMETRY類型SDO_GTYPE指明了geometry的類型,對(duì)應(yīng)OGIS幾何對(duì)象模型中的類型是一個(gè)4位數(shù)字,格式為dltt,其中:d代表geometry的維數(shù):2,3,4l代表線性參照系LRS測量維度,非LRS為0tt指明了geometry的類型,00-07,08-99保留geomet

23、ry的幾個(gè)方法可以返回類型值GET_DIMS, GET_LRS_DIM, GET_GTYPE2.2 SDO_GEOMETRY類型SDO_GTYPE值geometry類型說明dl00UNKNOWN_GEOMETRYSpatial忽略本類型dl01POINT點(diǎn)dl02LINE or CURVE折線或者帶圓弧折線dl03POLYGON多邊形dl04COLLECTION異質(zhì)geometry集合dl05MULTIPOINT點(diǎn)集dl06MULTILINE or MULTICURVE線集dl07MULTIPOLYGON多邊形集2.2 SDO_GEOMETRY類型SDO_SRIDSDO_SRID用來確定geo

24、metry所對(duì)應(yīng)的空間參照系null代表不對(duì)應(yīng)任何參照系非空值必需參照MDSYS.CS_SRS表的SRID字段,同時(shí)需要存入U(xiǎn)SER_SDO_GEOM_METADATA表的SRID字段在同一個(gè)字段里的所有g(shù)eometry對(duì)象都必須具有相同的SRID2.2 SDO_GEOMETRY類型SDO_POINT為了性能優(yōu)化而設(shè)置的如果SDO_ELEM_INFO和SDO_ORDINATES成員都為空的話,SDO_POINT就是一個(gè)POINT對(duì)象的坐標(biāo)值,否則SDO_POINT被忽略如果圖層中僅有POINT對(duì)象的話,強(qiáng)烈建議將坐標(biāo)值存放在SDO_POINT中2.2 SDO_GEOMETRY類型SDO_ELE

25、M_INFO是一個(gè)變長的數(shù)值數(shù)組,說明SDO_ORDINATES成員中數(shù)值的意義每三個(gè)數(shù)值為一個(gè)單元,分別是:SDO_STARTING_OFFSET:元素坐標(biāo)值從SDO_ORDINATES數(shù)組第幾個(gè)數(shù)開始,=1SDO_ETYPE:說明元素的類型,1/21003/2003表明是一個(gè)簡單元素;4/1005/2005表明是一個(gè)復(fù)合元素SDO_INTERPRETATION:當(dāng)ETYPE=1003/2003,指明解釋SDO_ORDINATES的方式;當(dāng)ETYPE=1005/2005,指明后面的幾個(gè)單元構(gòu)成復(fù)合元素2.2 SDO_GEOMETRY類型SDO_ORDINATES存放坐標(biāo)值,如何解釋由SDO_

26、ELEM_INFO來指明有效性約束GTYPE=d001/d005(點(diǎn)),則ETYPE=1GTYPE=d002/d006(線),則ETYPE=2/4GTYPE=d003/d007(面),則ETYPE=3/5/1003/2003/1005/20052.3 geometry示例矩形rectangleSDO_GTYPE=2003SDO_SRID=NULLSDO_POINT=NULLSDO_ETYPE=(1,1003,3)1指明本元素坐標(biāo)偏移量1003表明是簡單元素,外部多邊形3表明是rectangle,只需要兩對(duì)坐標(biāo)SDO_ORDINATES=(1,1,5,7)2.3 geometry示例帶洞的多邊形

27、polygon with a holeSDO_GTYPE=2003SDO_SRID=NULLSDO_POINT=NULLSDO_ETYPE=(1,1003,1,19,2003,1)1,1003,1:從1開始取坐標(biāo)的外部多邊形/直線連接19,2003,1:從19開始取坐標(biāo)的內(nèi)部多邊形/直線連接SDO_ORDINATES=(2,4, 4,3, 10,3, 13,5, 13,9, 11,13, 5,13, 2,11, 2,4,7,5, 7,10, 10,10, 10,5, 7,5).2.3 geometry示例混合折線compound line stringSDO_GTYPE=2002 /線SDO_

28、SRID=NULLSDO_POINT=NULLSDO_ETYPE=(1,4,2, 1,2,1, 3,2,2)1,4,2:從1開始取坐標(biāo)復(fù)合折線,2段構(gòu)成1,2,1:從1開始取坐標(biāo)簡單線,直線,直到33,2,2:從3開始取坐標(biāo)簡單線,圓弧,直到最后SDO_ORDINATES=(10,10, 10,14, 6,10, 14,10)直線圓弧2.3 geometry示例混合多邊形compound polygonSDO_GTYPE=2003 /面SDO_SRID=NULLSDO_POINT=NULLSDO_ETYPE=(1,1005,2, 1,2,1, 5,2,2)1,1005,2:從1開始取坐標(biāo)復(fù)合多

29、邊形,2段構(gòu)成1,2,1:從1開始取坐標(biāo)簡單線,直線,直到55,2,2:從5開始取坐標(biāo)簡單線,圓弧,直到最后SDO_ORDINATES=(6,10, 10,1, 14,10, 10,14, 6,10)直線圓弧2.3 geometry示例點(diǎn)pointSDO_GTYPE=2001 /點(diǎn)SDO_SRID=NULLSDO_POINT=MDSYS.SDO_POINT_TYPE(12,14,NULL)SDO_ETYPE=NULLSDO_ORDINATES=NULL(12,14)2.4 geometry元數(shù)據(jù)結(jié)構(gòu)geometry元數(shù)據(jù)內(nèi)容每一維的名稱、上下限和容差值存放在系統(tǒng)表中,用戶不能直接訪問,通過三個(gè)

30、視圖來存?。篣SER_SDO_GEOM_METADATA,可以更新ALL_SDO_GEOM_METADATA,只可以查詢DBA_SDO_GEOM_METADATA,DBA可查詢對(duì)于每一個(gè)幾何類型字段都應(yīng)該相應(yīng)更新USER_SDO_GEOM_METADATA視圖2.4 geometry元數(shù)據(jù)結(jié)構(gòu)元數(shù)據(jù)結(jié)構(gòu)TABLE_NAME varchar2(32)記錄幾何字段所在的表名COLUMN_NAME varchar2(32)記錄幾何字段的名稱DIMINFO MDSYS.SDO_DIM_ARRAY由最多4個(gè)SDO_DIM_ELEMENT組成,每個(gè)SDO_DIM_ELEMENT描述一個(gè)維度的信息SDO_D

31、IMNAME:維度名稱,如“x”SDO_LB, SDO_UB:上下限SDO_TOLERANCE:容差值SRID number記錄字段的空間參照系ID2.5 度量單位涉及測量的空間函數(shù)都包括單位選項(xiàng)對(duì)于地理相關(guān)的geometry,其缺省坐標(biāo)值單位由SRID決定,大多數(shù)坐標(biāo)系的單位是米對(duì)于SRID為NULL的geometry,沒有單位Spatial通過兩個(gè)系統(tǒng)表來判定單位是否有效MDSYS.SDO_DIST_UNITSSDO_UNIT:單位名稱(km/mile/foot)UNIT_NAME:描述信息CONVERSION_FACTOR:和米的轉(zhuǎn)換比MDSYS.SDO_AREA_UNITS結(jié)構(gòu)同上,F(xiàn)

32、ACTOR是同平方米的轉(zhuǎn)換比2.5 度量單位示例SELECT , SDO_GEOM.SDO_LENGTH(c.shape, m.diminfo, unit=KM)FROM cola_markets_cs c, user_sdo_geom_metadata mWHERE m.table_name = COLA_MARKETS_CS AND m.column_name = SHAPE;3 索引和查詢空間數(shù)據(jù)創(chuàng)建空間索引查詢空間數(shù)據(jù)空間查詢空間連接3.1 創(chuàng)建空間索引為了高效訪問空間數(shù)據(jù),必須創(chuàng)建索引在數(shù)據(jù)裝入后,創(chuàng)建索引可以是R-tree索引和quadtree索引如果創(chuàng)建過程中中止必須

33、用drop index刪除創(chuàng)建R-tree索引如果create index語句沒有指定quadtree的參數(shù),則自動(dòng)創(chuàng)建R-tree索引可以在2、3、4維幾何類型字段上建立R-tree索引缺省是2維,3、4維需要通過sdo_index_dims參數(shù)來指定3.1 創(chuàng)建空間索引創(chuàng)建R-tree索引SQL語句create index country_idx on country(shape)indextype is MDSYS.SPATIAL_INDEX;如果在字段上創(chuàng)建了多于2維的索引,部分空間關(guān)系和空間操作將被限制SDO_RELATE, SDO_NN, SDO_WITHIN_DISTANCE失效

34、SDO_FILTER正常3.1 創(chuàng)建空間索引創(chuàng)建R-tree索引存儲(chǔ)空間需求設(shè)需要索引的表有n條記錄R-tree索引表本身需要占據(jù)70*n字節(jié)空間創(chuàng)建索引過程中需要200*n字節(jié)空間,隨后釋放超過1M條記錄的大型表,還額外需要100*n字節(jié)的臨時(shí)排序空間創(chuàng)建索引的參數(shù)(quadtree索引)SDO_LEVEL:固定尺寸分片索引的分片層次,Oracle Enterprise Manager中的Spatial Index Advisor可以用來確定創(chuàng)建索引需要的大約層次SDO_NUMTILES:動(dòng)態(tài)尺寸分片索引對(duì)每個(gè)幾何對(duì)象分片的數(shù)量,不建議使用動(dòng)態(tài)分片3.1 創(chuàng)建空間索引創(chuàng)建索引的參數(shù)(quad

35、tree索引)SDO_COMMIT_INTERVAL:索引創(chuàng)建過程是一個(gè)事務(wù),為了減少支持事務(wù)回滾所需要的空間,可以設(shè)定參數(shù)在索引了幾個(gè)幾何對(duì)象之后即提交一次事務(wù)索引地理數(shù)據(jù)geodetic data為了充分利用Spatial的特性,對(duì)于包含參照系的地理數(shù)據(jù)應(yīng)該使用R-tree來創(chuàng)建地理索引quadtree索引只能索引非地理數(shù)據(jù)非地理索引在空間操作中無法使用度量單位和一些選項(xiàng)3.1 創(chuàng)建空間索引約束幾何對(duì)象的類型可以在create index或者alter index rebuild語句中的layer_gtype參數(shù)限制創(chuàng)建索引的字段只能包含某類型的幾何對(duì)象示例create index cou

36、ntry_idx on country(shape)indextype is MDSYS.SPATIAL_INDEXPARAMETERS (layer_gtype=POLYGON)3.2 查詢空間數(shù)據(jù)主過濾Primary filter操作符SDO_FILTERSDO_FILTER只通過空間索引來判別兩個(gè)幾何對(duì)象是否相交不進(jìn)行幾何對(duì)象間的操作,只是空間分片進(jìn)行相交判斷得出的結(jié)果可能包含一些不相交的幾何對(duì)象SDO_FILTER(g1, g2, params)g1是一個(gè)geometry類型字段g2是一個(gè)geometry對(duì)象,判別是否和g1中的對(duì)象相交params是過濾參數(shù),包括querytype3.2 查詢空間數(shù)據(jù)SDO_FILTERquerytype=window將返回1,2,3,43,4不符合相交3.2 查詢空間數(shù)據(jù)SDO_FILTER示例3.2 查詢空間數(shù)據(jù)主次過濾復(fù)合運(yùn)算符SDO_RELATE綜合了主次過濾兩階段,能返回準(zhǔn)確的結(jié)果SDO_RELATE(g1, g2, params)g1是一個(gè)geometry類型字段g2是一個(gè)geometry對(duì)象,判定與g1的空間關(guān)系params包含查詢參數(shù),包括mask, querytype

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論