国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle Spatial 簡介

2024-08-29 13:47:44
字體:
供稿:網(wǎng)友

  
Oracle Spatial 簡介:
        首先,Oracle 支持自定義的數(shù)據(jù)類型,你可以用數(shù)組,結(jié)構(gòu)體或者帶有構(gòu)造函數(shù),功能函數(shù)的類來定義自己的對象類型。這樣的對象類型可以用于屬性列的數(shù)據(jù)類型,也可以用來創(chuàng)建對象表。 而Oracle Spatial也正是基于此種特性所開發(fā)的一套空間數(shù)據(jù)處理系統(tǒng)。
        Spatial 的自定義數(shù)據(jù)類型有很多,都在MDSYS方案下,經(jīng)常使用的是SDO_GEOMETRY類型。SDO_GEOMETRY表示一個幾何對象,可以是點、線、面、多點、多線、多面或混合對象。
        Spatial 在此數(shù)據(jù)類型的基礎(chǔ)上,實現(xiàn)了R樹空間索引和四叉樹空間索引,還以sql函數(shù)的形式實現(xiàn)了多種空間分析功能。

Oracle Spatial 使用:
         1、將SDO_GEOMETRY數(shù)據(jù)類型作為數(shù)據(jù)表的一個列。

        CREATE TABLE cola_markets (
  mkt_id NUMBER PRIMARY KEY,
  name VARCHAR2(32),
  shape MDSYS.SDO_GEOMETRY);

        2、填寫空間元數(shù)據(jù)。

    INSERT INTO USER_SDO_GEOM_METADATA
  VALUES (
  'cola_markets',
  'shape',
  MDSYS.SDO_DIM_ARRAY(   -- 20X20 grid
    MDSYS.SDO_DIM_ELEMENT('X', 0, 20, 0.005),
    MDSYS.SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
     ),
  NULL   -- SRID
);

        3、創(chuàng)建空間索引。

CREATE INDEX cola_spatial_idx
ON cola_markets(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
        
        至此,空間數(shù)據(jù)表的創(chuàng)建才算正式完成 。

       4、插入空間數(shù)據(jù)。空間數(shù)據(jù)的插入要

INSERT INTO cola_markets VALUES(
  2,
  'cola_b',
  MDSYS.SDO_GEOMETRY(
    2003,  -- 2-dimensional polygon
    NULL,
    NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (exterior polygon ring)
    MDSYS.SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1)
  )
);

        5、空間分析查詢示例。

-- Return the topological difference of two geometries.
SELECT SDO_GEOM.SDO_DIFFERENCE(c_a.shape, m.diminfo, c_c.shape, m.diminfo)
  FROM cola_markets c_a, cola_markets c_c, user_sdo_geom_metadata m
  WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE'
  AND c_a.name = 'cola_a' AND c_c.name = 'cola_c';


八風(fēng)不動2004年11月23日涂鴉于大連

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永德县| 蓬莱市| 宽甸| 新化县| 河曲县| 鄂托克旗| 汉川市| 盖州市| 浦县| 大姚县| 鄂尔多斯市| 江西省| 阜南县| 株洲市| 会东县| 垫江县| 通化县| 连州市| 高安市| 丰台区| 兴义市| 长子县| 河池市| 绍兴县| 司法| 集安市| 深圳市| 宜君县| 连南| 资阳市| 广南县| 五莲县| 长沙县| 加查县| 桃园市| 瑞丽市| 和顺县| 莫力| 彭山县| 临清市| 乌什县|