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