利用工具将shp文件导入到oracle spatial中
1 下载shp2sdo 工具,将工具放在 oracle按照目录下的bin目录下
2 cmd 到 shp文件目录下,运行命令
shp2sdo.exe china imap_china -g geom -d -x (-180,180) -y (-90,90) -s 4326 -t 0.5 -v
3 将表 imap_china.sql导入数据库,创建表
sqlplus gis/gis@orcl
4 将数据导入数据库
sqlldr gis/gis@orcl imap_china
5 创建索引
CREATE Index imap_china_STATEAREA_idx ON imap_china(GEOM) INDEXTYPE is MDSYS.SPATIAL_INDEX
6 测试SQL :
select * from imap_china t
where SDO_RELATE(t.geom,
MDSYS.Sdo_Geometry(2001, 4326, MDSYS.Sdo_Point_Type(113.119526, 34.84593, null), null, null ),
'mask=ANYINTERACT querytype=WINDOW' ) = 'TRUE';
7 geoserver 发布
7、Oracle数据处理(对Oracle地理空间数据进行升级)
------------------必须,要不然有可能会报错。
用CMD重复登录数据库操作
EXECUTE SDO_MIGRATE.TO_CURRENT('imap_china','GEOM')
imap_china------为导入数据的表名
GEOM------imap_china.sql时-d的参数
没有这一步,geoserver发布图层后,Tomcat后台可能会报ERROR: [geoserver.ows] Rendering process failed
Caused by:java.lang.ArithmeticException: /by zero,而图层也不难正常显示,会报Rendering process failed /by zero错误
转载自:https://blog.csdn.net/cnsd007/article/details/84221066