淺談Oracle Spatial幾何結(jié)構(gòu)
經(jīng)過長時間學(xué)習(xí)Oracle Spatial幾何結(jié)構(gòu),于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。由于傳統(tǒng)的 GIS 技術(shù)已達(dá)到其本身可伸縮性和可*性的極限,用戶越來越多地轉(zhuǎn)向以數(shù)據(jù)庫為中心的空間計算。Oracle Spatial將空間過程和操作直接轉(zhuǎn)移到數(shù)據(jù)庫內(nèi)核中,從而提高了性能和安全性。Oracle Spatial從1995年ORACLE 7.1.6開始發(fā)展到2003年的10G版本,空間數(shù)據(jù)處理能力越來越強(qiáng)大。
Oracle Spatial將所有的地理空間數(shù)據(jù)類型(矢量、柵格、網(wǎng)格、影像、網(wǎng)絡(luò)、拓?fù)洌┙y(tǒng)一在單一、開放的、基于標(biāo)準(zhǔn)的數(shù)據(jù)管理環(huán)境中,這就減少了管理單獨、分離的專用系統(tǒng)的成本、復(fù)雜性和開銷。Oracle Spatial不但具有傳統(tǒng)GIS的所有特性,,而且還具有關(guān)系數(shù)據(jù)庫的特性,這些特性擴(kuò)展了應(yīng)用程序開發(fā)人員的工作范圍并提供了他們的生產(chǎn)率,因而能支持更廣泛的應(yīng)用程序并提高性能主要表現(xiàn)在:
1) Oracle Spatial幾何結(jié)構(gòu)和空間參照
Oracle Spatial 支持三種基本的幾何形狀,這些幾何形狀可分別用于表示那些通常構(gòu)成空間數(shù)據(jù)庫的特征,如道路、管理邊界、公共設(shè)施等。這些空間基礎(chǔ)元素包括:
◆點和點簇:點可以表示建筑、消防栓、電線桿、鉆井、貨車車廂或移動的交通工具等位置。
◆線和線串:線可以表示道路、鐵路線、公用設(shè)施管線或故障線等。
◆多邊形和帶孔的復(fù)雜多邊形:多邊形可以表示城市、街區(qū)、河漫灘或油田和天然氣田的輪廓。
帶孔的多邊形可以表示由一片沼澤環(huán)繞的一小塊土地。為了有效地集成和表示空間信息,Oracle Spatial 提供了豐富的工具來管理坐標(biāo)系統(tǒng)和投影。支持 950 多種常用的制圖坐標(biāo)系統(tǒng),而且用戶還可以定義新的坐標(biāo)系統(tǒng)。Oracle Spatial 還支持在不同的坐標(biāo)系統(tǒng)間任意轉(zhuǎn)換數(shù)據(jù)。這些轉(zhuǎn)換一次可以在一個幾何級上或者整個圖層上進(jìn)行。
2) 空間索引:R-tree
為了優(yōu)化空間查詢的性能,Oracle Locator 為關(guān)系數(shù)據(jù)庫提供了空間索引功能。Oracle Locator 提供 R-tree 索引創(chuàng)建功能,該功能生成和存儲幾何結(jié)構(gòu)的近似值作為索引。R-tree 索引易于創(chuàng)建和使用 — 幾乎不需要調(diào)整即可獲得最佳性能。可以在空間數(shù)據(jù)的兩個、三個或四個維度上創(chuàng)建 R-tree 索引。
3) 空間操作符
各種幾何特征的交互作用可以通過使用比較操作符來確定,如 contains、covers 和 anyinteract(任何交互作用)。這樣就可以答復(fù)類似下列的請求:“列出這條鐵道線穿過的所有校區(qū)”或“找出這個城市中所有的花店”
4) 基于函數(shù)的索引支持
現(xiàn)在不需要將位置信息顯式地存儲為 SDO_GEOMETRY 類型的列即可在關(guān)系屬性上執(zhí)行空間查詢。用戶可以對存儲在關(guān)系列(例如經(jīng)度和緯度)中的空間數(shù)據(jù)上創(chuàng)建空間索引。然后用戶可以在這些關(guān)系列上調(diào)用空間操作符,而無需創(chuàng)建一個 SDO_GEOMETRY 列。
5) 大地坐標(biāo)支持
就地表測量而言,無論坐標(biāo)系統(tǒng)是什么,空間函數(shù)、操作符和公用程序都提供正確的結(jié)果。距離、面積和角度等單位都獲得了全面的支持。
6) 空間索引的分區(qū)支持
空間索引可以根據(jù)分區(qū)表進(jìn)行分區(qū)。對空間數(shù)據(jù)分區(qū)并使用分區(qū)的本地索引,可以為大型數(shù)據(jù)集上的查詢以及并發(fā)查詢與更新提供性能增益。它還使索引的維護(hù)更加容易。
7) 并行創(chuàng)建空間索引
索引創(chuàng)建可以被細(xì)分成能并行執(zhí)行的更小的任務(wù),以便利用未使用的硬件 (CPU) 資源。對于某些空間數(shù)據(jù)庫以及索引類型和數(shù)據(jù)來說,并行索引創(chuàng)建能充分提高索引構(gòu)建性能并顯著節(jié)約時間。
8) 線性參照支持
Oracle Spatial 將“測量”信息存儲為 Oracle Spatial幾何結(jié)構(gòu)的一部分。此特性對于線性聯(lián)網(wǎng)和動態(tài)分割應(yīng)用程序很關(guān)鍵,這些應(yīng)用程序常見于互聯(lián)網(wǎng)街道路徑搜索、運輸、公用設(shè)施和電信網(wǎng)絡(luò)以及管線管理。
9) 空間聚集
空間聚集函數(shù)概括了與幾何對象相關(guān)的 SQL 查詢結(jié)果??臻g聚集函數(shù)返回類型為 SDO_GEOMETRY 的幾何對象??臻g聚集的使用提高了性能,降低了底層代碼的復(fù)雜性。
【編輯推薦】