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必需与原来图层中的相同,否则无法插入索引。