由于在GIS中用到使用geoserver发布oracle数据库图层,这里对进行发布oracle数据库图层进行一定的讲解
1、要发布图层那么该数据库的表格中至少存在一个空间字段类型的列,而空间类型数据的创建即为选择数据类型是数据类型为:COMPLEX,对象的模式选择:MDSYS,对象的类型选择:SDO_GEOMETRY,如图所示:
2、创建完成该表后需要对表的空间坐标创建索引:
创建索引包括两个方面①直接创建:
INSERT INTO user_sdo_geom_metadata (table_name,column_name,diminfo,srid) VALUES ('${tableName}','GEO_',
MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X', 120.848616, 122.081287, 0.00000005), MDSYS.SDO_DIM_ELEMENT('Y', 30.62456380, 31.85587120, 0.00000005)),
'4326')
其中的table_name和column_name为必须根据实际表的内容和空间字段进行填写。
diminfo为坐标的范围,srid为坐标系。
②创建索引:
CREATE INDEX ${indexName} ON ${tableName}(${geoLie}) INDEXTYPE IS MDSYS.SPATIAL_INDEX
注意:tablename尽量是大写字母。
查询出用户所有表的索引
select * from user_indexes;
索引的删除。
drop index index_name;
有时添加了索引并且在geosever上发布了 但是还会报关于索引的错误,好像是MDSYS.MD,这时可以查看所有索引然后删除该图层的索引再重新添加。