zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          [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
          ??




          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2008-11-12 14:06 zhyiwww 閱讀(1662) 評論(0)  編輯  收藏 所屬分類: databasegis
          主站蜘蛛池模板: 华坪县| 东乌珠穆沁旗| 喀喇沁旗| 博白县| 湘潭县| 六安市| 仁化县| 乡宁县| 桦川县| 永康市| 增城市| 林周县| 阜城县| 儋州市| 普宁市| 神木县| 潮安县| 余干县| 丽水市| 红桥区| 河源市| 大关县| 嫩江县| 温宿县| 桂平市| 广灵县| 公安县| 佛教| 桃江县| 嘉义市| 界首市| 咸宁市| 肃南| 全椒县| 邹平县| 大新县| 洪雅县| 湘潭市| 云阳县| 隆昌县| 扶风县|