oracle spatial 基礎知識之五
空間資料:指用來表示空間實體的位置,形狀,大小及其分佈特徵諸多方面資訊的資料,以點,線,面等方式,採用編碼技術描述空間物體特徵,動態變化及相互關係的資料集
空間資料特徵
一個物體空間特徵可從三方面進行描述:位置資訊、屬性資訊和時間資訊。
l 位置資訊:用定位資料來記錄,它反映自然現象的地理分佈,具有定位的性質;
l
l 屬性資訊:用屬性資料來記錄,它描述自然現象、物體的質量和數量特徵等;
l
l 時間資訊:是空間物體存在形式之一,無論是空間資料還是屬性資料,都是在某一時刻採集的空間資訊
空間資料模型:
是關於現實世界中空間實體及其相互關係的概念;
是用計算機能夠識別和處理的形式化語言來定義和描述現實世界的地理實體、地理現象及其相互關係;
是現實世界到計算機世界的直接影射;
為空間資料的組織和設計空間資料庫模式提供了基本方法
空間資料庫(Spatial Database):是以依照某種空間資料模型來描述地理空間位置和點、線、面、體特
徵的位置資料(空間資料)以及描述這些特徵的屬性資料(非空間資料)為物件的資料庫
空間資料結構:
l 向量資料結構
l 柵格資料結構
l 矢-柵一體資料結構
兩類結構都可用來描述地理實體的點、線、面三種基本型別。
向量資料結構:是通過記錄空間物件的座標及空間關係來表達空間物件的位置,以點、線和麵等形式
來表示地理實體
向量資料結構型別按其是否明確表示地理空間相互關係可分為:
實體型資料結構:
拓撲型資料結構:
實體型資料結構:只記錄空間物件的位置座標和屬性資訊,不記錄拓撲關係,又稱麵條結構。
柵格資料結構:柵格資料模型以一定方式把整個空間區域分成若干規則的格網區(通常是正方形,三角形,正六邊形)。網格的大小事預先設計好的,每個柵格的大小代表定義的空間解析度。
地理實體的位置用他們佔據的柵格行,列號來定義。柵格(網格)的大小取決於所需要空間資訊的精度,柵格的值代表該位置的狀態實際應用中,每個網格通常會有不同的幾種屬性值,由於只能取一種,這就有不同的取值方法。
(1)中心點法。即用處於柵格中心點的地物類或現象特性決定柵
格的值。有時也稱為網格交點歸屬法。
空間查詢操作符的效能:
l 指定LAYER_GTYPE引數
l 重組表資料以達到最小量的輸入或輸出
l 使用真實資料進行效能分析
l 在查詢中指定適當的提示
插入,刪除,更新的效能:
1 在修改大量記錄之前請先撤銷索引
如果修改(插入,刪除或更新集合列)表中超過30%的記錄,就需要撤銷表中相應列上的空間索引,這樣獲得了更高的效率
2 批量執行插入,刪除和更新操作,使用SDO_DML_BATCH_SIZE
CREATE INDEX CUSTOMERS_SIDX ON CUSTOMERS(LOCATION) INDEXTYPE IS mdsys.spatil_index parameters(‘sdo_dml_batch_size=5000’);
如果已經建立了空間索引,就能夠為特定的空間索引手動地在MDSYS模式的SDO_INDEX_MEADATA_TABLE表中改變這一引數
3 使用表分割槽(和本地空間索引)
A 在USER_SDO_GEOM.metadata表中插入資料
B 建立一個本地分割槽的空間索引
CREATE INDEX WEATHER_PARTERENNS_SIDEX ON WEATHER_PATTERNS(GEOM) INDEXTYPE IS MDSYS.SPATIAL.INDEX LOCATION(UNUSABLE)
4 為每個分割槽單獨重建空間索引
ALTER INDEX WEATHER.PATTERNS_SIDEX REBUILD PARTITION P1;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20976446/viewspace-721638/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaSE基礎知識分享(五)Java
- Java基礎知識回顧之五 ----- 多執行緒Java執行緒
- Python基礎知識之字典Python
- Python基礎知識之集合Python
- MySQL指南之基礎知識MySql
- Java基礎知識整理之this用法Java
- 介面測試之基礎知識
- Java基礎知識之概述(一)Java
- oracle SGA區基礎知識與檢視命令Oracle
- 基礎知識
- Java基礎知識整理之註解Java
- 前端基礎知識複習之CSS前端CSS
- 前端基礎知識複習之html前端HTML
- SAP SD基礎知識之稅(Taxes)
- Python入門之基礎知識(一)Python
- Golang 基礎之併發知識 (三)Golang
- JVM學習之JVM基礎知識JVM
- Python基礎知識之常用框架Flask!Python框架Flask
- Android知識點回顧之Activity基礎Android
- Django基礎之六(模型理論知識)Django模型
- Java基礎知識整理之程式碼塊Java
- Python快速入門之基礎知識(一)Python
- 小程式開發之基礎知識(0)
- SAP SD基礎知識之SD常用BAPIAPI
- SAP SD基礎知識之銷售模式模式
- Android知識點回顧之Service基礎Android
- WebSocket系列之基礎知識入門篇Web
- Android面試之——數學基礎知識Android面試
- Envoy基礎知識
- DockerFile基礎知識Docker
- Webpack 基礎知識Web
- js基礎知識JS
- React基礎知識React
- 程式基礎知識
- Docker基礎知識Docker
- qml基礎知識
- Mybatis基礎知識MyBatis
- python基礎知識Python
- Hadoop基礎知識Hadoop