`
nlslzf
  • 浏览: 1027197 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle Spatial 数据脚本

阅读更多
http://www.3snews.net/html/60/3360-4067.html

-- 创建geotest表----------------

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

-- 增加geotest记录----------------

INSERT INTO geotest VALUES(
  1,
  't_a',
  MDSYS.SDO_GEOMETRY(
    2003,  -- 2维多边形
    NULL,  -- 标识坐标系,与集合实体关联,Null则几何实体不与空间参考系相关联。
    NULL,  -- 使用XYZ属性值定义对象类型
    MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3), -- one rectangle (1003 = exterior)
    MDSYS.SDO_ORDINATE_ARRAY(1,1, 5,7) -- only 2 points needed to
          -- define rectangle (lower left and upper right) with
          -- Cartesian-coordinate data
  )
);

INSERT INTO geotest VALUES(
  2,
  't_b',
  MDSYS.SDO_GEOMETRY(
    2003, 
    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)
  )
);

INSERT INTO geotest VALUES(
  3,
  't_c',
  MDSYS.SDO_GEOMETRY(
    2003, 
    NULL,
    NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (exterior polygon ring)
    MDSYS.SDO_ORDINATE_ARRAY(3,3, 6,3, 6,5, 4,5, 3,3)
  )
);

INSERT INTO geotest VALUES(
  4,
  't_d',
  MDSYS.SDO_GEOMETRY(
    2003, 
    NULL,
    NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,4), -- one circle
    MDSYS.SDO_ORDINATE_ARRAY(8,7, 10,9, 8,11)
  )
);

---创建索引 ----------------

CREATE INDEX test_spatial_idx
ON geotest(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;

-- 如果没有指定任何与四叉数有关的参数的情况下,创建的

-- 空间索引是R树索引.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics