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)  編輯  收藏 所屬分類: database 、gis
          主站蜘蛛池模板: 从江县| 灵寿县| 四平市| 桐柏县| 海门市| 利川市| 延川县| 南投市| 咸丰县| 辉南县| 南京市| 勃利县| 沧州市| 沁源县| 武清区| 盐城市| 英吉沙县| 视频| 崇文区| 报价| 开平市| 新蔡县| 鹤壁市| 富阳市| 囊谦县| 武夷山市| 北京市| 南宁市| 航空| 青冈县| 江永县| 宁陕县| 西乌珠穆沁旗| 松江区| 龙岩市| 桂东县| 梧州市| 衡南县| 淮阳县| 平度市| 太和县|