日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Oracle Spatial建表學(xué)習(xí)步驟詳解

Oracle Spatial建表學(xué)習(xí)的步驟是本文我們主要要介紹的內(nèi)容,步驟如下:

在大興安嶺等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需策劃設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),大興安嶺網(wǎng)站建設(shè)費(fèi)用合理。

Step1. 創(chuàng)建一張表,其中shape用來(lái)存放空間數(shù)據(jù)

 
 
 
  1. CREATE TABLE mylake (  
  2. feature_id NUMBER PRIMARY KEY,  
  3. name VARCHAR2(32),  
  4. shape MDSYS.SDO_GEOMETRY); 

Step2. 在user_sdo_geom_metadata 表中插入新記錄,用于描述空間字段

 
 
 
  1. INSERT INTO user_sdo_geom_metadata VALUES (  
  2. 'mylake',    //---表名  
  3.     'shape',    //---字段名  
  4.     MDSYS.SDO_DIM_ARRAY(     
  5. MDSYS.SDO_DIM_ELEMENT('X', 0, 100, 0.05),    //---X維最小,***值和容忍度。  
  6.         MDSYS.SDO_DIM_ELEMENT('Y', 0, 100, 0.05)    //---Y維最小,***值和容忍度 NULL    //---坐標(biāo)系,缺省為笛卡爾坐標(biāo)系  
  7. ); 

Step3. 創(chuàng)建空間索引

 
 
 
  1. CREATE INDEX mylake_idx ON mylake(shape)   
  2. INDEXTYPE IS MDSYS.SPATIAL_INDEX 

Step4. 插入空間數(shù)據(jù)

Oracle Spatial用MDSYS.SDO_GEOMETRY來(lái)存儲(chǔ)空間數(shù)據(jù),定義為:

 
 
 
  1. CREATE TYPE sdo_geometry AS OBJECT (  
  2. SDO_GTYPE NUMBER,  
  3. SDO_SRID NUMBER,  
  4. SDO_POINT SDO_POINT_TYPE,  
  5. SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY,  
  6. SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY); 

SDO_SRID:坐標(biāo)系,NULL為笛卡爾坐標(biāo)系。 SDO_POINT:Oracle Spatial也可定義單個(gè)的點(diǎn),SDO_POINT的定義: CREATE TYPE sdo_point_type AS OBJECT (X NUMBER,Y NUMBER,Z NUMBER); 如果是二維,Z為NULL。 SDO_ELEM_INFO:每三個(gè)值描述一個(gè)元素。 ***個(gè)值:***個(gè)頂點(diǎn)在SDO_ORDINATES_ARR開(kāi)始位置 。第二個(gè)值:元素類型 。第三個(gè)值:頂點(diǎn)連接方式:1-通過(guò)直線連接,2-通過(guò)圓弧連接:定義為CREATE TYPE sdo_elem_info_array AS VARRAY (1048576) of NUMBER; SDO_ORDINATES:幾何圖形所有頂點(diǎn)列表。定義為    為CREATE TYPE sdo_ordinate_array AS VARRAY (1048576) of NUMBER;

// 插入包含一個(gè)島嶼的湖泊

 
 
 
  1. INSERT INTO mylake VALUES(  
  2. 10,   
  3. 'Lake Calhoun',   
  4. MDSYS.SDO_GEOMETRY(  
  5. 2003,  
  6. NULL,  
  7. NULL,  
  8. MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1, 19,2003,1),  
  9. MDSYS.SDO_ORDINATE_ARRAY(0,0, 10,0, 10,10, 0,10, 0,0, 4,4, 6,4, 6,6, 4,6, 4,4)  
  10. )); 

// 插入兩艘小船

 
 
 
  1. INSERT INTO mylake VALUES(  
  2. 11,   
  3. 'The Windswept',   
  4. MDSYS.SDO_GEOMETRY(  
  5. 2003,  
  6. NULL,  
  7. NULL,  
  8. MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),  
  9. MDSYS.SDO_ORDINATE_ARRAY(2,2, 3,2, 3,2, 2,3, 2,2) ); INSERT INTO mylake VALUES(  
  10. 12,   
  11. 'Blue Crest',   
  12. MDSYS.SDO_GEOMETRY(  
  13. 2003,  
  14. NULL,  
  15. NULL,  
  16. MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),  
  17. MDSYS.SDO_ORDINATE_ARRAY(7,7, 8,7, 8,7, 7,8, 7,7) ); 

Step4. 查詢Oracle Spatial查詢數(shù)據(jù)包括二個(gè)處理過(guò)程:1.只通過(guò)索引查詢候選項(xiàng)。通過(guò)函數(shù)SDO_FILTER實(shí)現(xiàn):SDO_FILTER(geometry1 MDSYS.SDO_GEOMETRY, geometry2 MDSYS.SDO_GEOMETRY, params VARCHAR2) geometry1: 必須是被索引的幾何數(shù)據(jù) geometry2:不一定是表中的空間字段,也不要求被索引 params:Filter類型         querytype=WINDOW:geometry2不要求來(lái)自表 querytype=JOIN:geometry2必須來(lái)自表。

 
 
 
  1. SELECT name boat_name  
  2. FROM mylake t  
  3. WHERE feature_id = 12 
  4. AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,  
  5. mdsys.sdo_elem_info_array(1,1003,1),  
  6. mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),'querytype=WINDOW') = 'TRUE';  

// 選擇在定義矩形內(nèi)的所有小船

 
 
 
  1. SELECT name boat_name  
  2. FROM mylake t  
  3. WHERE feature_id = 12 
  4. AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,  
  5. mdsys.sdo_elem_info_array(1,1003,1),  
  6. mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),  
  7. 'querytype=WINDOW') = 'TRUE'  
  8. AND SDO_RELATE(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,  
  9. mdsys.sdo_elem_info_array(1,1003,1),  
  10. mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),  
  11. 'masktype=INSIDE querytype=WINDOW') = 'TRUE' 

// masktype可聯(lián)合使用

 
 
 
  1. SELECT feature_id id  
  2. FROM mylake t  
  3. WHERE feature_id = 12 
  4. AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,  
  5. mdsys.sdo_elem_info_array(1,1003,1),  
  6. mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),  
  7. 'querytype=WINDOW') = 'TRUE'  
  8. AND SDO_RELATE(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,  
  9. mdsys.sdo_elem_info_array(1,1003,1),  
  10. mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),  
  11. 'masktype=INSIDE+TOUCH querytype=WINDOW') = 'TRUE' 

關(guān)于Oracle Spatial建表學(xué)習(xí)的相關(guān)知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. Star Schema的設(shè)計(jì)思路與總結(jié)
  2. MySQL性能分析及explain的使用
  3. Oracle數(shù)據(jù)庫(kù)悲觀鎖與樂(lè)觀鎖詳解
  4. SQL Server多表查詢優(yōu)化方案總結(jié)
  5. Oracle執(zhí)行計(jì)劃不走索引的原因總結(jié)

網(wǎng)站標(biāo)題:Oracle Spatial建表學(xué)習(xí)步驟詳解
分享網(wǎng)址:http://www.dlmjj.cn/article/djidhio.html