在oracle中创建空间索引

Oracle spatial可以方便的存储空间数据,大量的空间数据必需要使用空间索引去查询。在oracle中创建空间索引必需先建立元数据,否则无法创建索引。创建元数据的代码:

 insert into user_sdo_geom_metadata(table_name,COLUMN_NAME, DIMINFO, SRID)
values(
'CHINA_TRACK',
'TRACK_MBR',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.005),
MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.005)
),
8307
);

创建完元数据后即可进行索引插入(默认为R树索引):

create index TRACK_MBR_RTREEINDEX on CHINA_TRACK(TRACK_MBR)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;

需要注意的是,元数据中制定的SRID必需与原来图层中的相同,否则无法插入索引。

上一篇:centos firewall-cmd常用命令


下一篇:[转帖]删除一张大表时为什么undo占用空间接近原表两倍?