Oracle Spatial 翻译第一漳
葉科峰本科畢業(yè)設計的翻譯部分,我稍微改了一下,也放進來。內(nèi)容是Oracle Spatial 文檔的第一部分,《基本概念》,也可能是最重要的部分。
?
空間概念<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Oracle Spatial 是在Oracle9i數(shù)據(jù)庫中是能對空間數(shù)據(jù)進行存取,快速有效分析的一系列完整的函數(shù)和過程的集合。
空間數(shù)據(jù)描述真實或語義上的事物在他們存在的空間的基本位置特征。
1.1 什么是Oracle Spatial
Oacle Spatial,通常稱為Spatial, 主要涉及空間數(shù)據(jù),在Oracle9i數(shù)據(jù)庫中提供了能夠很容易的對空間元素進行存儲、獲取、更新、查詢的SQL計劃和函數(shù)。
Spatial由以下幾個方面組成:
1.一個計劃(mdsys):規(guī)定了支持幾何數(shù)據(jù)類型的存儲,語法和語義。
2.一種空間索引機制。
3.一系列的操作和函數(shù):實現(xiàn)面積查詢、空間連接查詢以及其他的空間分析操作
4.一套有效的管理實用工具。
一個空間元素的空間組成是它在一些空間坐標中的形狀幾何表示。這被稱為幾何學。
1.2 對象-關(guān)系模型
Spatial支持對象-關(guān)系模型來表達幾何類型。對象-關(guān)系模型用帶有單一MDSYS.SDO_GEOMETRY列以及一行表示一個幾何實體的表來存儲空間數(shù)據(jù)。對象-關(guān)系模型符合“SQL with Geometry Types”,在OpenGIS ODBC/SQL空間幾何特征的規(guī)范書內(nèi)操作帶有空間特征的數(shù)據(jù)表。
對象-關(guān)系模型有以下優(yōu)點:
1.支持多種幾何類型,包括弧、圓、復合多邊形、復合線、以及優(yōu)化矩形。
2.容易創(chuàng)建和維護索引以及執(zhí)行空間查詢。
3.利用Oracle9i數(shù)據(jù)庫服務器維護索引。
4.幾何結(jié)構(gòu)數(shù)據(jù)保存在單一的行和列
5.優(yōu)化的執(zhí)行效率。
1.3 空間數(shù)據(jù)簡介
Oracle Spatial 的設計使得空間數(shù)據(jù)的管理更加容易,用戶使用帶有位置功能的應用程序荷地理信息系統(tǒng)更加自然。Oracle Spatial使空間數(shù)據(jù)很容易進行管理以及給位置激活應用軟件或GIS應用軟件提供空間數(shù)據(jù)。一旦空間數(shù)據(jù)存儲在Oracle數(shù)據(jù)庫里,就可以很容易的進行操作,獲取以及描述和數(shù)據(jù)庫存儲的其他數(shù)據(jù)建立關(guān)系。
一張道路地圖就是一個普通的空間數(shù)據(jù)的例子,一張道路地圖是一個二維的對象,它包括代表城市、道路以及像州、省界這樣的行政邊界的點,線,面。道路地圖很清楚的表達了地理上的信息。地球上存在的城市、道路、行政邊界投影在二維的屏幕或者紙上,保留了這些對象的位置關(guān)系和距離關(guān)系。
這些包含了地球位置(經(jīng)度、緯度、高度、深度)的數(shù)據(jù)就是空間數(shù)據(jù)。當這幅地圖完成后,這些空間數(shù)據(jù)用來在二維紙上投影基本物體的位置。一個地理信息系統(tǒng)通常被用來存儲、查詢、表達這些表現(xiàn)地理關(guān)系的空間數(shù)據(jù)。
各種存儲在Spatial中的空間數(shù)據(jù)不同于那些來自CAD或CAM的GIS數(shù)據(jù)。CAD/CAM系統(tǒng)是用的是很小的坐標,與地理坐標不同,它們只能用于制作汽車發(fā)動機或者電路印刷板的圖紙。
這些系統(tǒng)的不同并不在于他們數(shù)據(jù)的復雜程度,而是數(shù)據(jù)相對的大小。這些系統(tǒng)事實上可能包含了相同數(shù)量的點,在地理坐標中,一座橋的地理位置在一英寸變化了十分之幾不會給道路施工人員帶來明顯的問題,然而如果一個發(fā)動機的活塞直徑一英寸有十分之幾的空隙,這個發(fā)動機就不能運作。一個印刷電路板在它的表面很可能有數(shù)千條蝕刻的物體,這些物體比道路施工人員的設計圖上最小的細節(jié)都還要小。
這些應用軟件都能存儲、獲取、更新、或者查詢一些元素的非空間和空間屬性。非空間屬性比如:姓名、土壤類型、土地利用分類、編碼等等。空間屬性是指元素的幾何坐標或者基于向量的形狀。
?
幾何類型
幾何是指一系列規(guī)則由直線段或者圓弧連接起來的點。幾何的語義有它的類型定義。Spatial支持幾種原始的類型。以及這些類型的組合,包括二維:
1,點以及點集。
2.直線和折線。
3.多變形。
4.弧線(所有的弧都是指圓弧)。
5.有弧多邊形。
6.復合多變形。
7.復合線。
8,圓。
9.優(yōu)化的矩形。
二維點有兩個坐標,X和Y,通常對應經(jīng)度和緯度。折線由一個點或者多個點定義的直線段組成。多邊形是指連接的折線形成的一個閉合環(huán)并且多邊形的內(nèi)部是隱含的。盡管支持自相交折線,但不支持自相交多變形。如果一條折線自相交,則不會形成多邊形。一條自相交折線沒有隱含的內(nèi)部空間。
?
1.5數(shù)據(jù)模型
Spatial 數(shù)據(jù)模型是由元素、幾何物體、層組成的分等級的結(jié)構(gòu),符合空間數(shù)據(jù)的表示方法。層由幾何物體組成,幾何物體由基本元素組成。例如:一個點可能代表一個建筑物的位置,一條線可能代表一條路或者一條飛行路線,一個多邊形可能代表一個州、一個城市、一個區(qū)域或者一個城市的街區(qū)。
1.5.1元素
元素是幾何的基本組成部分。Spatial支持的空間元素類型包括點、線、面。例如:基本元素可以模擬星群(點集),道路集(線集)或者國家邊界(多邊形集合)。在所有的坐標中基本元素都保存X,Y坐標對。有洞多邊形的外部邊界環(huán)和內(nèi)部邊界環(huán)被看作兩個明顯不同的基本元素,這些元素組合成一個復雜多邊形。
點數(shù)據(jù)由一個坐標對組成。線數(shù)據(jù)由兩個坐標對表示的直線段組成。多邊行由一系列的坐標對組成,這些坐標對圍繞多邊形按一定的順序排列(多邊形的外部邊界坐標按反時針方向排列,內(nèi)部邊界按順時針方向排列)。
1.5.2幾何體
一個幾何物體代表一個由一系列最簡單的基本元素組成的有空間特征的物體。一個幾何物體可能由一個基本元素組成,這是一個支持原始類型的實例,或有可能由同類的或不同類基本元素集合組成。一個多邊形集合用來表示一系列的島嶼,這是同類的集合。在不同類集合中各個元素的類型不同。例如:一個點和一個面。另外一個例子幾何對象可以描述一個鎮(zhèn)的可用地。這樣可以描述一個有洞的多邊形,這個洞可能是水塘或者另外一個分區(qū)。
1.5.3 層
層是有相同屬性的幾何對象的集合。例如:一個層在地理信息系統(tǒng)中可能包含了地形特征,另外一個層可能描述人口的密度,第三個層可能描述了一個地區(qū)的道路和橋梁的網(wǎng)絡關(guān)系(線和點)。所有層的幾何對象和相關(guān)的空間索引都存儲在數(shù)據(jù)庫標準的數(shù)據(jù)表中
1.5.4坐標系統(tǒng)
坐標系統(tǒng)是把坐標對分配到具體的位置并使所有的坐標對都產(chǎn)生聯(lián)系的方法。它能夠使坐標對表示真實世界的具體位置。
任何的空間數(shù)據(jù)都有一個坐標系統(tǒng)。坐標系統(tǒng)可以是與地理有關(guān)的(描述地球的特殊表示方法),也可以與地理無關(guān)(缺省為笛卡爾坐標系)。如果坐標系統(tǒng)與地理有關(guān),則有一個缺省的度量單位與它對應(比如米)。但也可以自由定義指定的單位(比如公里)。
在Oracle Spatial8.1.6以前的版本,幾何數(shù)據(jù)(SDO_GEOMETRYE類型)就存儲了一系列的坐標對而沒有和任何的坐標系統(tǒng)關(guān)聯(lián)。Spatial的操作和函數(shù)總是假定直角坐標系為空間數(shù)據(jù)的坐標系。如果地理幾何數(shù)據(jù)儲存時是經(jīng)緯度坐標,就不會提供糾正的結(jié)果。在8.1.6版本以后,Spatial支持許多不同的坐標系統(tǒng),并且支持數(shù)據(jù)在不同坐標系統(tǒng)的自由轉(zhuǎn)換。
空間數(shù)據(jù)可以用笛卡爾坐標系統(tǒng),地理學坐標系統(tǒng),工程坐標系統(tǒng)或者地方的坐標系統(tǒng)來表示
1.笛卡爾坐標用幾條互相垂直的軸來描述二維或者三維空間點的位置。如果一個坐標系統(tǒng)沒有明確的表示與地理位置有關(guān),那么笛卡爾坐標系統(tǒng)是默認的坐標系統(tǒng)。
2.大地坐標系統(tǒng)(有時候稱為地理學坐標)是用角度作為單位的坐標系統(tǒng)(經(jīng)度和緯度),接近球面坐標,用來表示特殊的地球地理數(shù)據(jù)(地理數(shù)據(jù)是表示地球外形的一種方法并且與地理學坐標有關(guān))。
3.投影坐標系是平面笛卡兒坐標系,來自對地球表面上的點實施一種數(shù)學操作,映射到平面。有各種不同的數(shù)學映射方式,每一種有不同的用途。
4.地方坐標系統(tǒng)是與地理學無關(guān)的笛卡爾坐標系統(tǒng),一般用與CAD等應用軟件或者一些地方的測量。
當進行幾何操作的時候,Spatial用笛卡爾變換或者曲面模型來為空間數(shù)據(jù)選擇合適的坐標系統(tǒng)。
1.5.5 公差
公差與一定精度的空間數(shù)據(jù)有關(guān)。公差值是一個不能忽略的數(shù)字。值的范圍和值的重要性依靠空間數(shù)據(jù)是否與測量學坐標系統(tǒng)有關(guān)。
對于測量數(shù)據(jù)(例如經(jīng)緯度數(shù)據(jù)),公差值是用米來計算的。例如公差值是100就表示公差是100米。
對于不是測量學數(shù)據(jù),公差值可以是1,在使用中涉及到距離單位的小數(shù)部分。(如果坐標系統(tǒng)是特定的,則距離單位是缺省的)。例如,一個公差值是0.005就表示這個距離單位是0.005。
對于這兩種數(shù)據(jù),公差值越小,數(shù)據(jù)的精度越高。
公差值在兩個地方指定:
定義圖層的元數(shù)據(jù)表。
作為一個函數(shù)的可選擇參數(shù)。
1.5.5.1 定義圖層的元數(shù)據(jù)表
一個圖層的空間信息包括公差。xxx_SDO_GEOM_METADATADA表中的DIMINFO列存儲公差值。
如果一個函數(shù)帶有可選擇的公差參數(shù)并且這個公差參數(shù)是null或者沒有指定,則使用圖層中SDO_TOLERANCE的值。在第二章第一節(jié)有一個使用不是地理學數(shù)據(jù)的例子,兩個幾何形狀cola_b和cola_d之間的真實距離是0.846049894。如果使用SDO_GEOM.SDO_DISTANCE函數(shù)來查詢這兩個幾何形狀的距離但并沒有指定公差參數(shù)值,結(jié)果就依靠圖層中SDO_TOLERANCE指定的公差值。例如:
如果圖層的SDO_TOLERANCE指定的值為0.005,那么查詢結(jié)果返回0.846049894.
如果圖層的SDO_TOLERANCE指定的值為0. 5,那么查詢結(jié)果返回0
查詢結(jié)果為0,是因為Spatial首先圍繞被查詢的幾何形狀創(chuàng)建公差為0.5的緩沖區(qū),在這個例子中,cola_b和cola_d的緩沖區(qū)交疊。
因此你可以在一個圖層中選擇任意一個接近SDO_TOLERANCE的值
這個值可以使你得到兩個物體間你想要的精度距離。例如:如果兩個幾何物體的距離是0.8個單位,則認為它們是分開的,需指定更小的SDO_TOLERANCE值比如0.05或者更小。
這個值可以反映圖層中與幾何數(shù)據(jù)有關(guān)的值的精度。例如:如果所有的幾何數(shù)據(jù)在一個不是地理學的圖層里面,并且兩個物體的距離為0.8個單位,則認為這兩個物體不是分開的SDO_TOLERANCE的值定義為0.5就合適了。為你達到更好的精度,你必須重寫(覆蓋)缺省的公差參數(shù)。
在非地理學數(shù)據(jù)中,大多數(shù)都使用第二個實例(圖層中幾何幾何數(shù)據(jù)的精度)是:在幾何數(shù)據(jù)中使用最高精度。在 下一個標準使用0.5作為SDO_TOLERANCE的值。例如,如果幾何數(shù)據(jù)定義為整數(shù),那么精度值使用0.5。然而,如果幾何數(shù)據(jù)用有4個小數(shù)點的值來表示位置(例如31.2587),
比如經(jīng)度緯度值,那么SDO_TOLERANCE的值定義為0.00005。
?
1.5.5.2 作為輸入?yún)?shù)
許多的Spatial函數(shù)都接受一個可選擇的公差參數(shù),在指定的情況下不考慮圖層缺省的公差值。如果兩個點的距離小于或者等于公差值,則Spatial認為這兩個點是一個點。因此,公差通常反映了數(shù)據(jù)使用者對空間數(shù)據(jù)精度的要求。
例如,假定你想知道距你家5公里范圍的所有飯店,再假定Maria的比薩餅店距離你家5.1公里。如果空間數(shù)據(jù)有地理坐標并且你有一定的要求,找到5公里范圍內(nèi)的所有飯店使用公差為100或者500,那么Maria的比薩餅店將包括在內(nèi),因為5.1公里在5.1公里范圍內(nèi)。然而如果指定的公差小于100(比如50),那么Maria的比薩餅店將不包括在內(nèi)。
Spatial 函數(shù)的公差值一般都很小。盡管最佳公差值依靠具體的應用軟件或集體的數(shù)據(jù)應用。
1.6 查詢模式
Spatial使用兩種查詢模式解決空間查詢和空間連接。通常是這兩種查詢操作完成需要的查詢。這兩種操作的結(jié)合使得查詢的結(jié)果更精確。
這兩種操作涉及到一級和二級過濾操作:
初級過濾快速選擇大概符合要求的記錄傳遞給二級過濾。初級過濾對接近要求的幾何數(shù)據(jù)進行比較,減少了計算的復雜程度,被稱為一種低成本的過濾方法。因為初級過濾比較的是接近要求的幾何數(shù)據(jù),返回的是精確結(jié)果的超集。
二級過濾對來自一級過濾的幾何數(shù)據(jù)進行精確的計算。二級過濾的結(jié)果是空間查詢的正確結(jié)果。二級查詢操作是一種比較高成本的計算,但它僅應用于一級查詢的結(jié)果,不是整個數(shù)據(jù)集。
Spatial使用一種空間索引來執(zhí)行一級過濾。Spatial不需要同時使用一級和二級過濾。在一些事例中,使用一級過濾就已經(jīng)足夠了。例如,在地圖中的對數(shù)據(jù)縮放請求利用矩形的可見邊界進行交互作用。一級過濾很快就返回查詢的超集。地圖請求應用于常規(guī)的快速的顯示目標區(qū)域。
一級過濾的目的創(chuàng)建數(shù)據(jù)的子集以及減少二級過濾處理負擔。因此一級過濾是有效率的操作。這決定于數(shù)據(jù)空間索引的特征。
1.7 空間數(shù)據(jù)索引
Oracle數(shù)據(jù)庫引入空間索引對于Spatial產(chǎn)品起到關(guān)鍵性作用。空間索引像其他任何索引一樣,提供一種限制查詢的機制,但空間索引是基于空間標準的,例如交集或者并集。空間索引需要:
在索引數(shù)據(jù)空間內(nèi)查找于給定的點或特定區(qū)域相互作用的目標.
在兩個索引數(shù)據(jù)空間查找成對的目標,這個索引數(shù)據(jù)空間是各種空間相互作用(空間結(jié)合)。
空間索引是一種合理的索引。空間索引的條目依靠坐標系空間幾何目標的具體位置,但索引值在不同的范圍。索引目錄可能在線性規(guī)則的范圍,并且?guī)缀文繕说淖鴺藢赡苁浅申牭恼汀⒏↑c型的點,或者是雙精度的數(shù)值。
Oracle Spatial允許使用R樹索引(缺省)或者四叉樹索引,或者兩者的結(jié)合。所有的索引類型都適合不同的情況。你可以同時在同一列幾何目標使用R樹索引和四叉樹索引。利用add_index參數(shù)和ALTER INDEX聲明,你可以選擇一種索引的帶有特定參數(shù)的空間操作來完成查詢,比如SDO_RELATE操作。
1.7.1 R樹索引
Spatial的R樹索引可以索引四維的空間數(shù)據(jù)。R樹索引用一個最接近幾何目標的矩形(叫作最小范圍矩形或者MBR)來近似作為幾何目標。
對于一個圖層的幾何,R樹索引由在圖層里的幾何體的MBR上的層次索引組成。
一個R樹索引存儲在空間索引表中(USER_SDO_INDEX_METADATA視圖的表SDO_INDEX_TABLE)。R樹索引維持一個數(shù)字序列發(fā)生器(SDO_RTREE_AEQ_NAME在視圖USER_SDO_INDEX_METADATA中)保證當用戶創(chuàng)建一個索引時候能夠同步更新。
1.7.2 四叉樹索引
在線形四叉樹索引中,坐標系空間(對于圖層是所有幾何目標存在的地方)被劃分為很多的小方格。這些小方格覆蓋了存儲的每一個幾何目標。小方格按一定的有規(guī)則的分等級的樣式分解坐標系空間。一系列的坐標對,坐標系空間被認為是一個矩形。第一次分解,矩形被分開為四個相同的方格,這些通過幾何物體相互關(guān)系的方格又各自被分解為四個相同的方格。這個過程一直持續(xù)只到達到一定的標準為止,比如方格的大小或者方格的數(shù)量覆蓋幾何物體。
Spatial使用固定大小或者可變大小的方格來覆蓋幾何物體:
固定大小的方格有一定的標準,如果這個決定因素是唯一的決定因素,那么當坐標系空間被分解一定次數(shù)則停止分解。因此,所有的小方格都是固定的大小和形狀。
可變大小的方格的決定依靠提供的最大數(shù)量的方格的值。如果每個幾何物體有n個小方格是唯一的決定因素,那么當n個小方格覆蓋特定的幾何物體就停止方格分解。覆蓋幾何目標的固定方格大小的決定因素和可變大小方格的數(shù)量作為可選參數(shù)分別叫作SDO_LEVELH和SDO_NUMTILES.越小的固定大小方格或越多可變大小方格將更好的近似幾何物體。
Spatial支持兩種四叉樹索引類型,反映SDO_LEVEL和SDO_NUMTILES有效結(jié)合的值。
固定索引:一個非空非零的SDO_LEVEL值和一個為空或為零的SDO_NUMTILES值決定固定大小方格的大小
混合索引;非空非零的SDO_LEVEL和SDO_NUMTILES的值,每個幾何物體將導致兩列方格。一列包含固定大小的方格,另一列包含可變大小的方格。混合索引在許多的Spatial應用軟件中都不推薦使用。
總結(jié)
以上是生活随笔為你收集整理的Oracle Spatial 翻译第一漳的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: objective-C 自定义对象归档的
- 下一篇: Oracle EM 12c