利用工具将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错误

 

你可能感兴趣的:(oracle,sql,shp,shp2sdo)