把shp格式的数据导入到oracle[转载http://www.blogjava.net/zhyiwww ]

[1]利用shp2sdo把shp格式的数据转换成oracle能够识别的数据格式,利用下面的工具
shp2sdo -o  c:\tmp\beijing\beijing_polyline  c:\oracle_sql\beijng_polyline  -s  4326

c:\tmp\beijing\beijing_polyline 是你的shp文件
c:\oracle_sql\beijng_polyline 是你要生成的目标文件

命令成功执行后,会生成三个文件
c:\oracle_sql\beijng_polyline.sql
c:\oracle_sql\beijng_polyline.dat
c:\oracle_sql\beijng_polyline.ctl

[2]修改文件
原始的beijng_polyline.ctl文件是
LOAD DATA CHARACTERSET UTF8
 INFILE c:\oracle_sql\beijng_polyline.dat
 TRUNCATE
 CONTINUEIF NEXT(1:1) = '#'
 INTO TABLE BEIJNG_POLYLINE
 FIELDS TERMINATED BY '|'
 TRAILING NULLCOLS (
   MAPID     NULLIF MAPID = BLANKS,
   ID     NULLIF ID = BLANKS,
   KIND     NULLIF KIND = BLANKS,
   GEOM COLUMN OBJECT 
   (
     SDO_GTYPE       INTEGER EXTERNAL, 
     SDO_SRID        INTEGER EXTERNAL, 
     SDO_ELEM_INFO   VARRAY TERMINATED BY '|/' 
       (X            FLOAT EXTERNAL), 
     SDO_ORDINATES   VARRAY TERMINATED BY '|/' 
       (X            FLOAT EXTERNAL) 
   )
)
我修改后的文件是

LOAD DATA  CHARACTERSET UTF8 (这个地方是设置编码)
 INFILE  beijng_polyline.dat(这个地方很重要,一定要把路径去掉,否则的话总是有错误)
 TRUNCATE
 CONTINUEIF NEXT(1:1) = '#'
 INTO TABLE BEIJNG_POLYLINE
 FIELDS TERMINATED BY '|'
 TRAILING NULLCOLS (
   MAPID     NULLIF MAPID = BLANKS,
   ID     NULLIF ID = BLANKS,
   KIND     NULLIF KIND = BLANKS,
   GEOM COLUMN OBJECT 
   (
     SDO_GTYPE       INTEGER EXTERNAL, 
     SDO_SRID        INTEGER EXTERNAL, 
     SDO_ELEM_INFO   VARRAY TERMINATED BY '|/' 
       (X            FLOAT EXTERNAL), 
     SDO_ORDINATES   VARRAY TERMINATED BY '|/' 
       (X            FLOAT EXTERNAL) 
   )
)

[3]执行导入
  在命令行下,改变目录到数据所在的目录,如
  c:\oracle_sql\
  然后执行
  sqlldr zy/password@orcl beijing_polyline
  就可以了,如果成功,就会出现如图所示的结果
  oracle_spatial_1.PNG
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值