oracle 创建sdo_geometry 完整的sql语句

本文介绍如何在Oracle数据库中创建包含空间数据的表gis_rule_test,并通过sdo_geometry类型存储多边形数据。此外,还展示了如何为该表创建空间索引以提高查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


---创建表
create table  gis_rule_test (
 rule_id  number primary key,
 rule_name  varchar2(32),
 shape sdo_geometry
)

---插入元数据
insert into user_sdo_geom_metadata(TABLE_NAME,COLUMN_NAME,DIMINFO,SRID)
 values(
'gis_rule_test',
'shape',
 SDO_DIM_ARRAY(   -- 20X20 grid
    SDO_DIM_ELEMENT('X', -180, 180, 0.0000001),
    SDO_DIM_ELEMENT('Y', -90, 90, 0.0000001)
     ),
  4326   -- SRID

 )
 -- 创建索引
 CREATE INDEX gis_rule_test_idx ON gis_rule_test(shape)   
INDEXTYPE IS MDSYS.SPATIAL_INDEX 
 
 -- 插入多边形数据
 
 insert into gis_rule_test values(
 1,
 'china_rule1',
  sdo_geometry(
  2003,
  4326,
  null,
  sdo_elem_info_array(1,1003,1),
  sdo_ordinate_array(
  131,23,
  132,24,
  131.4,25,
  126,23,
  128,23
  )
  ))


 -- 查询空间数据
SELECT c.shape.ST_COORDDIM()
  FROM gis_rule_test c

附网上的文章:sdo_geometry 说明 http://blog.sina.com.cn/s/blog_9d0a434f0102wnt4.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值