欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用工具将shp文件导入到oracle spatial中

程序员文章站 2022-06-13 08:08:36
...

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错误