在oracle中创建空间索引

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

 1 insert into user_sdo_geom_metadata(table_name,COLUMN_NAME, DIMINFO, SRID)
 2 values(
 3 'CHINA_TRACK',
 4 'TRACK_MBR',
 5 MDSYS.SDO_DIM_ARRAY(
 6 MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.005),
 7 MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.005)
 8 ),
 9 8307
10 );

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

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

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

原文地址:https://www.cnblogs.com/WonderHow/p/4051785.html