[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
? 就可以了,如果成功,就會出現如圖所示的結果
?

??
|----------------------------------------------------------------------------------------|
版權聲明 版權所有 @zhyiwww
引用請注明來源 http://www.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2008-11-12 14:06
zhyiwww 閱讀(1656)
評論(0) 編輯 收藏 所屬分類:
database 、
gis