nlslzf 发表于 2013-2-7 14:40:22

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树索引.
页: [1]
查看完整版本: Oracle Spatial 数据脚本