Oracle_Spatial培訓(xùn)班課程2A_第1頁(yè)
Oracle_Spatial培訓(xùn)班課程2A_第2頁(yè)
Oracle_Spatial培訓(xùn)班課程2A_第3頁(yè)
Oracle_Spatial培訓(xùn)班課程2A_第4頁(yè)
Oracle_Spatial培訓(xùn)班課程2A_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Spatial 2ATang GulaOracle Spatial SDO_Geometry數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型Oracle中空間幾何體的類(lèi)型中空間幾何體的類(lèi)型4.1.1 點(diǎn)點(diǎn) 點(diǎn)(Point)是最簡(jiǎn)單的幾何體。在前面章節(jié)中已經(jīng)用到。點(diǎn)可以表示客戶(hù)的位置、交貨地點(diǎn)或者競(jìng)爭(zhēng)對(duì)手商店的位置。4.1.2 線(xiàn)串線(xiàn)串 一個(gè)線(xiàn)串(Line String)連接多個(gè)不同的點(diǎn)(有時(shí)也稱(chēng)作頂點(diǎn))。一般情況下,用SDO_GEOMETRY的線(xiàn)串類(lèi)型表示公路、交通運(yùn)輸網(wǎng)絡(luò)、公用事業(yè)線(xiàn)和管道等。如果這個(gè)線(xiàn)串是閉合的,它就變成了環(huán)(ring)。否則,它就是線(xiàn)串類(lèi)型。線(xiàn)串通過(guò)以下方式連接兩個(gè)或更多的點(diǎn): 直線(xiàn):就是我們平時(shí)所理解

2、的直線(xiàn)。 圓?。何覀儼阉?dāng)作一個(gè)弧串(Arc String) 。 直線(xiàn)和圓弧的結(jié)合:我們把它當(dāng)作一個(gè)復(fù)雜的線(xiàn)串(曲線(xiàn))。4.1.3 多邊形和面多邊形和面 一個(gè)多邊形(Polygon)由一個(gè)或多個(gè)環(huán)(封閉的線(xiàn)串)構(gòu)成并和一個(gè)區(qū)域相關(guān)。 多邊形的邊界由一個(gè)或多個(gè)環(huán)(封閉的線(xiàn)串)組成。 多邊形與線(xiàn)串不同,它與被其邊界所圍成的區(qū)域有關(guān)。這個(gè)區(qū)域必須是連續(xù)的。 用來(lái)定義多邊形邊界或多邊形集合的環(huán),是由直線(xiàn)、圓弧或者線(xiàn)串和弧的結(jié)合構(gòu)成的。 被一個(gè)多邊形包圍的區(qū)域,可以用一個(gè)外環(huán)和任意個(gè)(0)內(nèi)環(huán)來(lái)表示。 對(duì)于三維數(shù)據(jù),這些多邊形是在三維平面中的,因此被稱(chēng)為(平面)多邊形面。或當(dāng)不存在模糊定義時(shí),簡(jiǎn)稱(chēng)為面(

3、Surface)。4.1.4 立方體立方體 一個(gè)簡(jiǎn)單的立方體(Solid)是由一個(gè)外表面和零個(gè)或多個(gè)內(nèi)部的復(fù)合面構(gòu)成。其內(nèi)部和外部的復(fù)合面在一起定義了該立方體的邊界。與面不同,立方體具有面積和體積。4.1.5 集合集合 一個(gè)集合(Collection)有多個(gè)幾何體元素。集合可以是多樣化的,也就是說(shuō),它可以是點(diǎn)、線(xiàn)串和多邊形的任意組合。4.1.6 SDO_GEOMETRY的邏輯實(shí)現(xiàn)的邏輯實(shí)現(xiàn)4.2 SDO_GEOMETRY類(lèi)型、屬性和值類(lèi)型、屬性和值 SQL DESCRIBE SDO_GEOMETRY; Name Null? Type - - - SDO_GTYPE NUMBER SDO_SRI

4、D NUMBER SDO_POINT MDSYS.SDO_POINT_TYPE SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY 下面是SDO_GEOMETRY每個(gè)屬性的用處: SDO_GTYPE屬性,表示幾何體實(shí)際形狀的類(lèi)型(點(diǎn)、線(xiàn)串、多邊形、集合、多重點(diǎn)、多重線(xiàn)串或者多重多邊形)。 SDO_SRID屬性,指定空間參考系(坐標(biāo)系)的ID。 如果幾何體是一個(gè)點(diǎn)(如客戶(hù)的位置),你可以把它的坐標(biāo)存儲(chǔ)到SDO_GEOMETRY的SDO_POINT屬性中。 如果幾何體是一個(gè)任意形狀(如街區(qū)網(wǎng)絡(luò)

5、或城市邊界),則可以把它的坐標(biāo)存儲(chǔ)到SDO_ORDINATES和SDO_ELEM_INFO數(shù)組屬性: SDO_ORDINATES屬性存儲(chǔ)所有幾何體元素的坐標(biāo)。 SDO_ELEM_INFO規(guī)定在SDO_ORDINATES數(shù)組中,一個(gè)新的元素從什么地方開(kāi)始,怎么連接(通過(guò)直線(xiàn)還是弧),是點(diǎn)、線(xiàn)串還是多邊形。4.2.1 SDO_GTYPE屬性屬性 SDO_GTYPE是一個(gè)4位的數(shù)字,結(jié)構(gòu)為D00T。第一位和最后一位根據(jù)幾何體的維數(shù)和形狀采用不同的值,如表4-1所示。第二位和第三位通常被設(shè)成0。對(duì)于多重的元素幾何體,T是simple_type + 4。例如,對(duì)點(diǎn)T取值1,所以對(duì)于一個(gè)多重點(diǎn)T取值5。類(lèi)

6、似地,對(duì)于線(xiàn)串T取值2,所以對(duì)于多重線(xiàn)串,T取值6,以此類(lèi)推。位值D(幾何體的維度)2 =二維,3 =三維,4 =四維T(幾何體的形狀/類(lèi)型)0 =無(wú)解釋類(lèi)型,1 =點(diǎn),5 =多重點(diǎn),2 =線(xiàn)串,6 =多重線(xiàn)串,3 =多邊形/面,7 =多重多邊形/多重面,4 =集合,8 =立方體,9 =多重立方體在在SDO_GEOMETRY 的的SDO_GTYPE屬性格式中,屬性格式中,D和和T的取值的取值4.2.2 SDO_SRID屬性(屬性(1) 這個(gè)屬性為幾何體規(guī)定了空間參考系或者坐標(biāo)系。 如下圖所示,假想有一個(gè)橢圓柱面橫套在地球橢球體外面,并與某一條子午線(xiàn)(此子午線(xiàn)稱(chēng)為中央子午線(xiàn)或軸子午線(xiàn))相切,橢圓

7、柱的中心軸通過(guò)橢球體中心,然后用一定投影方法,將中央子午線(xiàn)兩側(cè)各一定經(jīng)差范圍內(nèi)的地區(qū)投影到橢圓柱面上,再將此柱面展開(kāi)即成為投影面,此投影為高斯投影。q任何空間特征都表示為地球表面的一個(gè)特定位置,而位任何空間特征都表示為地球表面的一個(gè)特定位置,而位置依賴(lài)于既定的坐標(biāo)系來(lái)表示。適用于空間分析的置依賴(lài)于既定的坐標(biāo)系來(lái)表示。適用于空間分析的GIS必必須提供以下基本功能:須提供以下基本功能:GIS執(zhí)行普遍采用的坐標(biāo)系,當(dāng)處理不同來(lái)源的空間數(shù)據(jù)執(zhí)行普遍采用的坐標(biāo)系,當(dāng)處理不同來(lái)源的空間數(shù)據(jù)時(shí),必須具有綜合不同坐標(biāo)系的能力。時(shí),必須具有綜合不同坐標(biāo)系的能力。GIS必須提供用以坐標(biāo)轉(zhuǎn)換的功能,至少應(yīng)該滿(mǎn)足任何

8、空必須提供用以坐標(biāo)轉(zhuǎn)換的功能,至少應(yīng)該滿(mǎn)足任何空間數(shù)據(jù)的坐標(biāo)系在常用的坐標(biāo)系統(tǒng)之間相互轉(zhuǎn)換。間數(shù)據(jù)的坐標(biāo)系在常用的坐標(biāo)系統(tǒng)之間相互轉(zhuǎn)換。GIS也必須滿(mǎn)足用戶(hù)將任意坐標(biāo)系轉(zhuǎn)換成一種用戶(hù)指定坐也必須滿(mǎn)足用戶(hù)將任意坐標(biāo)系轉(zhuǎn)換成一種用戶(hù)指定坐標(biāo)系,即,只要用戶(hù)能清楚地指定管理需要坐標(biāo)系的規(guī)則標(biāo)系,即,只要用戶(hù)能清楚地指定管理需要坐標(biāo)系的規(guī)則,GIS就能提供合適的坐標(biāo)轉(zhuǎn)換功能。就能提供合適的坐標(biāo)轉(zhuǎn)換功能。地圖的數(shù)學(xué)基礎(chǔ)地圖的數(shù)學(xué)基礎(chǔ)地理格網(wǎng)系統(tǒng) (Geographic Grid System) 經(jīng)緯網(wǎng)、公里網(wǎng)地圖定向 (Map Orientation) 真北(真子午線(xiàn))、磁北(磁子午線(xiàn))、坐標(biāo)北(坐標(biāo)縱

9、向)地圖比例尺 (Map Scale) 語(yǔ)言、數(shù)學(xué)、圖形地圖投影 (Map Projection)地圖投影的意義地圖投影的意義 隨著GIS不斷普及,應(yīng)用層次多樣化、應(yīng)用人員復(fù)雜化,很多人因?yàn)椴欢队?,而一籌莫展;而一部分人在似懂非懂中,不管什么來(lái)源的數(shù)據(jù),只管數(shù)字化建庫(kù)或者強(qiáng)行配準(zhǔn)迭加。 關(guān)于數(shù)據(jù)精度只注意數(shù)字化和編輯過(guò)程中的偶然誤差和外圍設(shè)備的系統(tǒng)誤差,而忽視了地圖投影的所產(chǎn)生的變形誤差。 其后果是:顯示或輸出的圖形文件發(fā)生變形或扭曲,有些變形在視覺(jué)上不易直接觀察。這一方面嚴(yán)重影響到地圖的精度,屬性數(shù)據(jù)空間順序和空間分析結(jié)果的準(zhǔn)確性;另一方面嚴(yán)重的影響到空間數(shù)據(jù)的應(yīng)用效果。地圖制圖的基本要求

10、地圖制圖的基本要求空間分析:?jiǎn)螌硬僮?、多層操作、點(diǎn)模型分析、網(wǎng)絡(luò)分析、空間分析:?jiǎn)螌硬僮?、多層操作、點(diǎn)模型分析、網(wǎng)絡(luò)分析、空間建模、趨勢(shì)面分析、柵格分析空間建模、趨勢(shì)面分析、柵格分析。單層操作:?jiǎn)螌硬僮鳎築oundary Operation(Split、AppendMapjoin、Dissolve、Eliminate)接近性分析()接近性分析(Proximity Analysis):):Buffer Operation多層操作多層操作疊置分析(疊置分析(Overlay Analysis):):Union、Intersect、Identity點(diǎn)模型分析:點(diǎn)模型分析:Descriptive Sta

11、tistics、Spatial Arrangement、Spatial Autocoorelation網(wǎng)絡(luò)分析:網(wǎng)絡(luò)連通性、網(wǎng)絡(luò)可達(dá)性、最短路徑算法網(wǎng)絡(luò)分析:網(wǎng)絡(luò)連通性、網(wǎng)絡(luò)可達(dá)性、最短路徑算法進(jìn)進(jìn)行空行空間間操作和空操作和空間間分析的基本前提分析的基本前提地圖投影的基本原理地圖投影的基本原理 地球的形狀決定了地圖投影的必要性。 地球是一個(gè)赤道略鼓,兩極稍扁的旋轉(zhuǎn)橢球體。 因此對(duì)精度要求不高的小比例尺地圖,有人將地球當(dāng)作一個(gè)規(guī)則的球體看待。 但是對(duì)于比例尺大于1:100萬(wàn)的地圖,必須將地球定義為一個(gè)橢球體或者旋轉(zhuǎn)橢球體,不同的國(guó)家所定義的(旋轉(zhuǎn))橢球體的參數(shù)往往是不同的,所以在選擇地圖投影時(shí),

12、必須選定一個(gè)合適的橢球體。 我國(guó)常用的橢球體為Krasovshy橢球體或者Grs80橢球體。GIS中地圖投影的判別中地圖投影的判別 任何嚴(yán)格意義上的地圖,都必須具有特定的數(shù)學(xué)基礎(chǔ)。即所有地圖都是先建立數(shù)學(xué)基礎(chǔ),然后才添加內(nèi)容要素的。對(duì)一幅地圖來(lái)說(shuō),其包含的地圖投影是確定的。是建立空間數(shù)據(jù)庫(kù)必需的。GIS中投影判別的三種主要方法:v地圖設(shè)計(jì)書(shū)。 地圖設(shè)計(jì)書(shū)是編制地圖的立法性文件,是制圖過(guò)程不可缺的環(huán)節(jié),它對(duì)地圖投影的選擇、地圖概括、整飾、表示方法等都有明確規(guī)定。地圖大綱 地圖作者地圖投影的判別地圖投影的判別v地圖常識(shí)和慣例。地圖常識(shí)和慣例。 一幅地圖投影的選擇是綜合各種影響一幅地圖投影的選擇是綜

13、合各種影響因素(區(qū)域所在位置、區(qū)域形狀、地圖的用因素(區(qū)域所在位置、區(qū)域形狀、地圖的用途、精度要求等等),那么就可以根據(jù)地圖途、精度要求等等),那么就可以根據(jù)地圖投影的一般常識(shí)和規(guī)律來(lái)判斷投影類(lèi)型。投影的一般常識(shí)和規(guī)律來(lái)判斷投影類(lèi)型。我國(guó)常用地圖投影的判別我國(guó)常用地圖投影的判別 由于我國(guó)位于中緯度地區(qū),中國(guó)地圖和分省地圖經(jīng)常采用割圓錐投影(Albers 投影),中國(guó)地圖的中央經(jīng)線(xiàn)常位于東經(jīng)105度,兩條標(biāo)準(zhǔn)緯線(xiàn)分別為北緯27度和北緯45度,而各省的參數(shù)可根據(jù)地理位置和輪廓形狀初步加以判定。例如甘肅省的參數(shù)為:中央經(jīng)線(xiàn)為東經(jīng)101度,兩條標(biāo)準(zhǔn)緯線(xiàn)分別為北緯34度和41度。 對(duì)于大中比例尺地圖,一

14、般來(lái)說(shuō)大多數(shù)都采用地形圖的數(shù)學(xué)基礎(chǔ)高斯克呂格投影,尤其是當(dāng)比例尺為國(guó)家基本地形圖比例尺系列時(shí),可直接判定為高斯克呂格投影。其原因是,這些比例尺和基本地形圖比例尺相一致,編圖時(shí),選用地形圖的數(shù)學(xué)基礎(chǔ),既免去了重新展繪數(shù)學(xué)基礎(chǔ)的工序,而且能夠保持很高的點(diǎn)位精度。大中比例尺地圖大中比例尺地圖 小比例尺地圖經(jīng)常采用習(xí)慣上已經(jīng)固化了的數(shù)學(xué)基礎(chǔ)。 例如我國(guó)出版的世界地圖多采用等差分緯線(xiàn)多圓錐體投影;大洲圖多采用等基圓錐投影和彭納投影;南北極地區(qū)圖和南、北半球圖多采用正軸方位投影;美國(guó)編制世界各地軍用地圖和地球資源遙感衛(wèi)星像片常采用UTM(全球橫軸墨卡托投影)等等。 這些投影通過(guò)一些地圖學(xué)教材、資料均可以查

15、到。小比例尺地圖小比例尺地圖 因?yàn)槭噶繑?shù)據(jù)以離散點(diǎn)坐標(biāo)的形式存儲(chǔ)的,對(duì)其進(jìn)行多次投影變換運(yùn)算不會(huì)改變數(shù)據(jù)的精度,所以對(duì)于矢量數(shù)據(jù)的GIS來(lái)說(shuō),第一種方法最簡(jiǎn)單也最實(shí)用。 但對(duì)柵格結(jié)構(gòu)數(shù)據(jù)來(lái)講,圖像每投影轉(zhuǎn)換一次,都得對(duì)其重新采樣,因而要損失部分信息。投影之間坐標(biāo)的差異越大,信息損失越嚴(yán)重。因此遙感圖像的糾正一般不轉(zhuǎn)換為地理坐標(biāo),而是直接進(jìn)行多項(xiàng)式擬合運(yùn)算。方法選擇方法選擇地圖投影的選擇地圖投影的選擇 地圖投影選擇的主要依據(jù)是目標(biāo)區(qū)域的地理位置、輪廓形狀、地圖用途。世界地圖常采用正圓柱、偽圓柱和多圓錐三種類(lèi)型。大洲圖和大的國(guó)家圖投影選擇必須考慮輪廓形狀和地理位置。圓形地區(qū)一般采用方位投影;制圖區(qū)

16、域東西向延伸又在中緯度地區(qū)時(shí),一般采用正軸圓錐投影。 按照用途,行政區(qū)劃圖、人口密度圖、經(jīng)濟(jì)地圖一般要求面積正確,因此選用等積投影;航海圖、天氣圖、地形圖,要求有正確的方向,一般采用等角投影;對(duì)各種變形要求都不大的,可選用任意投影。我國(guó)大中比例尺常用地圖投影我國(guó)大中比例尺常用地圖投影1、等角橫切橢圓柱投影高斯克呂格投影(Transvers投影)我國(guó)規(guī)定從1:1萬(wàn)到1:50萬(wàn)比例尺系列地形圖分別采用這種投影。2、等積圓錐投影(Albers投影) 中國(guó)地圖和分省地圖多采用這種投影。3、將經(jīng)緯度刻劃的地理坐標(biāo)也看作一種投影。例例1 從從Albers投影轉(zhuǎn)換到投影轉(zhuǎn)換到Transvers投影投影例例2

17、 不同投影帶之間投影轉(zhuǎn)換不同投影帶之間投影轉(zhuǎn)換 上面將兩個(gè)不上面將兩個(gè)不同投影帶(同投影帶(3度分帶)度分帶)的高斯克呂格投影的高斯克呂格投影圖分別投影為地理坐圖分別投影為地理坐標(biāo),實(shí)現(xiàn)了無(wú)縫拼接標(biāo),實(shí)現(xiàn)了無(wú)縫拼接,然后再將拼合在一,然后再將拼合在一起的圖投影為起的圖投影為6度分帶度分帶的高斯克呂格投影的高斯克呂格投影。1954北京坐標(biāo)系不是按照橢球定位的理論獨(dú)立建立起來(lái)的,而北京坐標(biāo)系不是按照橢球定位的理論獨(dú)立建立起來(lái)的,而是采用克拉索夫斯基橢球參數(shù),并經(jīng)過(guò)東北邊境的呼瑪、吉拉是采用克拉索夫斯基橢球參數(shù),并經(jīng)過(guò)東北邊境的呼瑪、吉拉林、東寧三個(gè)基線(xiàn)網(wǎng),同原蘇聯(lián)的大地網(wǎng)聯(lián)接,通過(guò)計(jì)算得到林、東寧

18、三個(gè)基線(xiàn)網(wǎng),同原蘇聯(lián)的大地網(wǎng)聯(lián)接,通過(guò)計(jì)算得到我國(guó)北京一主干三焦點(diǎn)的大地經(jīng)緯度和至另一點(diǎn)的大地方位角我國(guó)北京一主干三焦點(diǎn)的大地經(jīng)緯度和至另一點(diǎn)的大地方位角,建立起我國(guó)大地坐標(biāo)系,定名為,建立起我國(guó)大地坐標(biāo)系,定名為1954年北京坐標(biāo)系。因此,年北京坐標(biāo)系。因此,1954年北京坐標(biāo)系,實(shí)際上是蘇聯(lián)年北京坐標(biāo)系,實(shí)際上是蘇聯(lián)1942年坐標(biāo)系的延伸,其原年坐標(biāo)系的延伸,其原點(diǎn)不在北京,而在蘇聯(lián)普爾科沃。點(diǎn)不在北京,而在蘇聯(lián)普爾科沃。地圖投影中一個(gè)特殊的問(wèn)題地圖投影中一個(gè)特殊的問(wèn)題 1980國(guó)家大地坐標(biāo)系原點(diǎn)在陜西省澤陽(yáng)縣永樂(lè)鎮(zhèn),稱(chēng)為西安原點(diǎn)。采用1975國(guó)際橢球參數(shù)80坐標(biāo)系比54坐標(biāo)系有很多優(yōu)點(diǎn),

19、但是我國(guó)很多測(cè)繪成果都是基于54得來(lái)的。Oracle中二維和三維的中二維和三維的EPSG(歐洲石油(歐洲石油勘探組織)坐標(biāo)系模型勘探組織)坐標(biāo)系模型 程序清單4-9 確定不同類(lèi)型的EPSG坐標(biāo)系 SQL SELECT DISTINCT coord_ref_sys_kind FROM SDO_COORD_REF_SYS; COORD_REF_SYS_KIND - PROJECTED GEOCENTRIC GEOGRAPHIC2D VERTICAL ENGINEERING COMPOUND GEOGRAPHIC3D 你應(yīng)該為你的數(shù)據(jù)選擇哪一個(gè)系統(tǒng)呢?這將取決于你的具體應(yīng)用。你可以把上面7個(gè)類(lèi)型的E

20、PSG坐標(biāo)系分為:一維、二維、三維或者本地坐標(biāo)系,描述如下:一維坐標(biāo)系:一維坐標(biāo)系: 垂直(VERTICAL):這些坐標(biāo)系在對(duì)地球表面高度的建模中有著典型的應(yīng)用。這個(gè)高度既可以是大地水準(zhǔn)面高度,也可以是橢球高度(就是在參考系中,用來(lái)近似地球表面的橢球面的高度)二維坐標(biāo)系:二維坐標(biāo)系: 地理二維(Geographic2D):這個(gè)類(lèi)型的坐標(biāo)系通過(guò)參照橢球來(lái)實(shí)現(xiàn)對(duì)地球表面經(jīng)度和緯度的近似。這個(gè)類(lèi)型也被稱(chēng)為大地坐標(biāo)系。 投影(Projected):這個(gè)類(lèi)型的坐標(biāo)系定義了如何將一個(gè)地理二維參考系的經(jīng)度和緯度投影到一個(gè)笛卡爾坐標(biāo)上。就像在前面投影坐標(biāo)系中所討論的,你可以使用不同類(lèi)別的坐標(biāo)投影技術(shù),如等積投

21、影和等距投影。3D坐標(biāo)系:坐標(biāo)系: 地理三維(Geographic3D):這個(gè)類(lèi)型的坐標(biāo)系根據(jù)大地基準(zhǔn)(橢球)來(lái)確定經(jīng)度、緯度和橢球高度。 地心(Geocentric):這個(gè)類(lèi)型的坐標(biāo)系以地心為中心來(lái)確x、y、z值(而不是地理三維中的表面橢球)。 復(fù)合(Compound):這種方法把地理二維(經(jīng)緯度)或投影的坐標(biāo)系與基于重力、海拔等來(lái)指定高度的垂直坐標(biāo)系結(jié)合起來(lái)。本地坐標(biāo)系本地坐標(biāo)系 工程學(xué):這些坐標(biāo)系都是一些特定應(yīng)用的坐標(biāo)系。它們與地球表面的數(shù)據(jù)相關(guān)或無(wú)關(guān),但是數(shù)據(jù)經(jīng)常被當(dāng)作是在笛卡爾坐標(biāo)系中對(duì)待。4.2.3 SDO_POINT屬性屬性 完成了對(duì)SDO_GEOMETRY的SDO_SRID屬性

22、的討論后,讓我們繼續(xù)討論下一個(gè)屬性SDO_POINT。這個(gè)屬性定義了點(diǎn)的坐標(biāo),如客戶(hù)的位置。注意,這個(gè)屬性的類(lèi)型是另一種對(duì)象類(lèi)型SDO_POINT_TYPE。程序清單4-17展示了這種類(lèi)型的結(jié)構(gòu)。 程序清單4-17 SDO_POINT_TYPE數(shù)據(jù)類(lèi)型 SQL DESCRIBE SDO_POINT_TYPE; Name Null? Type - - - X NUMBER Y NUMBER Z NUMBER 對(duì)于點(diǎn)來(lái)說(shuō),SDO_GTYPE被設(shè)置成D001 程序清單4-18列舉了如何在表geometry_examples中填充SDO_GEOMETRY對(duì)象來(lái)表示點(diǎn)A(用實(shí)際的坐標(biāo)替代(-79,37)

23、。 程序清單4-18 在geometry_examples中的點(diǎn)數(shù)據(jù) SQL INSERT INTO geometry_examples (name, description, geom) VALUES ( POINT, 2-dimensional Point at coordinates (-79,37) with srid set to 8307, SDO_GEOMETRY ( 2001, - SDO_GTYPE format: D00T. Set to 2001 for a 2-dimensional point 8307, - SDO_SRID (geodetic) SDO_POINT

24、_TYPE ( -79, - ordinate value for Longitude 37, - ordinate value Latitude NULL - no third dimension (only 2 dimensions) ), NULL, NULL ) ); 注意: Oracle Spatial要求經(jīng)度坐標(biāo)放在第一維,緯度坐標(biāo)放在第二維。 用于定義幾何體列的符號(hào)也許是晦澀的,但它們是合乎邏輯的。Oracle使用對(duì)象構(gòu)造函數(shù)來(lái)實(shí)例化相應(yīng)的對(duì)象。geom列是SDO_GEOMETRY類(lèi)型的對(duì)象。我們可按下面的方法填充這個(gè)對(duì)象的各個(gè)域: SDO_GTYPE:格式是D00T,對(duì)二維點(diǎn)來(lái)

25、說(shuō)D為2,T為1。 SDO_SRID:它被設(shè)置為8307。 SDO_POINT:這個(gè)例子中的x,y坐標(biāo)被設(shè)置為SDO_POINT_TYPE類(lèi)型(-79,37)。z軸為NULL。 SDO_ELEM_INFO:沒(méi)有被使用,設(shè)為NULL。 SDO_ORDINATES:沒(méi)有被使用,設(shè)為NULL。 構(gòu)造點(diǎn)的另一種機(jī)制是使用熟知文本(WKT)對(duì)點(diǎn)幾何體的描述,就如在SQL/MM第三部分中提到的那樣。Oracle Spatial提供一個(gè)SDO_GEOMETRY構(gòu)造函數(shù),將WKT和SRID作為參數(shù)來(lái)構(gòu)造一個(gè)SDO_GEOMETRY對(duì)象。程序清單4-19就是這樣一個(gè)例子。 程序清單4-19 用熟知文本(SQL/

26、MM)來(lái)構(gòu)造一個(gè)點(diǎn)幾何體 SQL SELECT SDO_GEOMETRY( POINT(-79 37) , 8307) geom FROM DUAL; GEOM - SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-79, 37, NULL), NULL, NULL) 注意: 在WKT中,點(diǎn)的坐標(biāo)由空格分隔而不是由逗號(hào)分隔,不同的點(diǎn)則由逗號(hào)分隔。要獲得關(guān)于怎樣為不同幾何體構(gòu)建WKT的詳細(xì)信息,請(qǐng)參考ISO IEC 12349(/iso/en/ CatalogueDetailPage.CatalogueDetail?CSNUMBER=3136

27、9)。4.2.4 SDO_ELEM_INFO和和SDO_ORDINATES屬性屬性 SDO_ORDINATES屬性指定了一個(gè)幾何體對(duì)象的所有元素在所有維上的坐標(biāo) SDO_ELEM_INFO屬性是SDO_ELEM_INFO_ARRAY類(lèi)型的,這個(gè)類(lèi)型同樣是一個(gè)數(shù)字型VARRAY,最大容量是1 048 576個(gè)數(shù)字。在SDO_ELEM_INFO中,每三個(gè)連續(xù)的數(shù)字被組織成一個(gè)三元組描述符,用來(lái)描述一個(gè)元素或元素的一部分。因此,在邏輯上,SDO_ELEM_INFO屬性是一個(gè)三元(三個(gè)數(shù)字)數(shù)組。這意味著這個(gè)數(shù)組屬性的大小總是3的倍數(shù)。 Offset:永遠(yuǎn)設(shè)置為1,因?yàn)樵赟DO_ORDINATES中只

28、有一個(gè)元素。 Element-type:與幾何體的SDO_GTYPE類(lèi)型中的T值直接對(duì)應(yīng)。 對(duì)點(diǎn)來(lái)說(shuō),element-type的值為1(SDO_GTYPE中T值為1)。 對(duì)線(xiàn)串來(lái)說(shuō),element-type的值為2(SDO_GTYPE中T值為2)。 對(duì)多邊形來(lái)說(shuō),element-type的值為1003(SDO_GTYPE中T值為3)。 Interpretation:表示一個(gè)元素所包含的更細(xì)微的信息。 對(duì)一個(gè)點(diǎn)來(lái)說(shuō),interpretation是1。4.3.1 點(diǎn)點(diǎn)程序清單程序清單4-20 在在SDO_ORDINATES數(shù)組中數(shù)組中(而不是而不是SDO_POINT中中)存儲(chǔ)點(diǎn)坐標(biāo)存儲(chǔ)點(diǎn)坐標(biāo)1.1

29、.SQLSQL INSERTINSERT INTOINTO geometry_examplesgeometry_examples VALUESVALUES 2.2.( ( 3. 2-D2-D POINTPOINT storedstored in in SDO_ORDINATES, SDO_ORDINATES, 4. 2-dimensional2-dimensional PointPoint atat coordinatescoordinates (-79,(-79, 37)37) withwith sridsrid setset toto 8307, 8307, 5. SDO_GEOMETRY

30、 SDO_GEOMETRY 6. ( ( 7. 2001,2001, - - SDO_GTYPESDO_GTYPE format:format: D00T.D00T. SetSet toto 20012001 forfor asas a a 2-dimensional2-dimensional point point 8. 8307,8307, - - SDO_SRID SDO_SRID 9. NULL,NULL, - - SDO_POINTSDO_POINT attributeattribute setset toto NULL NULL 10. SDO_ELEM_INFO_ARRAYSDO

31、_ELEM_INFO_ARRAY - - SDO_ELEM_INFOSDO_ELEM_INFO attributeattribute (see(see TableTable 4-24-2 forfor values) values) 11. ( ( 12. 1,1, - - OffsetOffset is is 1 1 13. 1,1, - - Element-typeElement-type is is 1 1 forfor a a point point 14. 1 1 - - InterpretationInterpretation specifiesspecifies # # ofof

32、 points.points. InIn thisthis casecase 1. 1. 15. ), ), 16. SDO_ORDINATE_ARRAYSDO_ORDINATE_ARRAY - - SDO_ORDINATESSDO_ORDINATES attribute attribute 16. ( ( 17. -79,-79, - - OrdinateOrdinate valuevalue forfor Longitude Longitude 18. 3737 - - OrdinateOrdinate valuevalue forfor Latitude Latitude 19. ) )

33、 20. ) ) 21.21.); ); 程序清單4-21 四維點(diǎn)例子 SQL INSERT INTO geometry_examples VALUES ( 4-D POINT, 4-dimensional Point at (Xa=2, Ya=2, Za=2, La=2) with srid set to NULL, SDO_GEOMETRY ( 4001, - SDO_GTYPE: D00T. Set to 4001 as it is a 4-dimensional point NULL, - SDO_SRID NULL, - SDO_POINT_TYPE is null SDO_ELEM

34、_INFO_ARRAY(1,1,1), - Indicates a point element SDO_ORDINATE_ARRAY(2,2,2,2) - Store the four ordinates here ) ); 4.3.2 通過(guò)直線(xiàn)連接的線(xiàn)串通過(guò)直線(xiàn)連接的線(xiàn)串SQL INSERT INTO geometry_examples VALUES ( LINE STRING, 2-D line string connecting A(Xa=1,Ya=1),B(Xb=2, Yb=2), C(Xc=2,Yc=1), SDO_GEOMETRY ( 2002, - SDO_GTYPE: D00T

35、. Set to 2002 as it is a 2-dimensional line string 32774, - SDO_SRID NULL, - SDO_POINT_TYPE is null SDO_ELEM_INFO_ARRAY - SDO_ELEM_INFO attribute (see Table 4-2 for values) ( 1, - Offset is 1 2, - Element-type is 2 for a LINE STRING 1 - Interpretation is 1 if line string is connected by straight lin

36、es. ), SDO_ORDINATE_ARRAY - SDO_ORDINATES attribute ( 1,1, - Xa, Ya values 2,2, - Xb, Yb values 2,1 - Xc, Yc values ) ) ); SQL INSERT INTO geometry_examples VALUES ( ARCSTRING, 2-D arc connecting A(Xa=1,Ya=1),B(Xb=2, Yb=2), C(Xc=2,Yc=1), SDO_GEOMETRY ( 2002, - SDO_GTYPE: D00T. Set to 2002 as it is a

37、 2-dimensional line string 32774, - SDO_SRID NULL, - SDO_POINT_TYPE is null SDO_ELEM_INFO_ARRAY - SDO_ELEM_INFO attribute (see Table 4-2 for values) ( 1, - Offset is 1 2, - Element-type is 2 for a LINE STRING 2 - Interpretation is 2 if line string is connected by ARCs. ), SDO_ORDINATE_ARRAY - SDO_OR

38、DINATES attribute ( 1,1, - Xa, Ya values 2,2, - Xb, Yb values 2,1 - Xc, Yc values ) ) ); 程序清單程序清單4-23 用弧連接的二維線(xiàn)串用弧連接的二維線(xiàn)串 該幾何體的構(gòu)造函數(shù)如下所示:SDO_GEOMETRY ( 2002,32774,null, SDO_ELEM_INFO_ARRAY(1,2,2), SDO_ORDINATE_ARRAY(Xa,Ya, Xb,Yb, Xc,Yc, Xd,Yd, Xe,Ye) ) 注釋?zhuān)?在Oracle Spatial中,每條弧都由三個(gè)點(diǎn)構(gòu)成:一個(gè)開(kāi)始點(diǎn)、任意一個(gè)不同的中間點(diǎn)和

39、一個(gè)終點(diǎn)(如A,B,C)。因而,一個(gè)基于弧相連的線(xiàn)串(弧串)總是有奇數(shù)個(gè)頂點(diǎn)。每個(gè)不同的弧總是連續(xù)的并且總是從一個(gè)奇數(shù)頂點(diǎn)開(kāi)始。4.3.4 多邊形:邊界通過(guò)直線(xiàn)連接的環(huán)多邊形:邊界通過(guò)直線(xiàn)連接的環(huán)SQL INSERT INTO geometry_examples VALUES ( POLYGON, 2-D polygon connecting A(Xa, Ya), B(Xb, Yb), C(Xc, Yc), D(Xd, Yd), SDO_GEOMETRY ( 2003, - SDO_GTYPE: D00T. Set to 2003 as it is a 2-dimensional polygo

40、n 32774, - SDO_SRID NULL, - SDO_POINT_TYPE is null SDO_ELEM_INFO_ARRAY - SDO_ELEM_INFO attribute (see Table 4-2 for values) ( 1, - Offset is 1 1003, - Element-type is 1003 for an outer POLYGON element 1 - Interpretation is 1 if boundary is connected by straight lines. ), SDO_ORDINATE_ARRAY - SDO_ORD

41、INATES attribute ( 1,1, - Xa, Ya values 2,-1, - Xb, Yb values 3,1, - Xc, Yc values 2,2, - Xd, Yd values 1,1 - Xa, Ya values : Repeat first vertex to close the ring ) ) ); 程序清單程序清單4-24 與前面的例子相比,在本例中應(yīng)注意以下幾點(diǎn): SDO_GTYPE被設(shè)為2003(二維多邊形)。 SDO_ELEM_INFO屬性中的element-type被設(shè)為1003,表示它是一個(gè)外部多邊形。而interpretation被設(shè)為1,表示多邊形元素是用直

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論