將shp數據導入oracle數據庫

將shp數據導入oracle數據庫

步驟

  1. 在C盤創建一個test文件夾,把文件放進去:在這裏插入圖片描述

  2. 打開cmd,輸入:shp2sdo c:\test\nanshanshequ3857 c:\test\nanshanshequ3857 -g geometry -d
    之後test文件夾中會多出“nanshanshequ3857.ctl”和“nanshanshequ3857.sql”兩個文件;在這裏插入圖片描述

  3. 打開nanshanshequ3857.sql文件,把最下面的語句放到plsql裏執行;在這裏插入圖片描述

  4. 它會在USER_SDO_GEOM_METADATA表中插入nanshanshequ3857,再輸入select t.*,t.rowid from USER_SDO_GEOM_METADATA t 可查看插入結果。

  5. 回到cmd中,按順序執行
    sqlplus giser/bnjzgis@orcl

    @c:\test\nanshanshequ3857.sql

    quit

    sqlldr giser/bnjzgis@orcl c:\test\nanshanshequ3857

    接着到plsql中的Command Window執行下面這句,對錶進行升級
    execute sdo_migrate.to_current(‘nanshanshequ3857’);
    建立空間索引,需要注意存入的幾何類型是否正確,必須有空間索引geoserver才能成圖

    CREATE INDEX INDEX_nanshanshequ3857_SPATIAL ON nanshanshequ3857 (GEOMETRY)INDEXTYPE
    IS MDSYS.SPATIAL_INDEX PARAMETERS(‘LAYER_GTYPE=POLYGON’) NOPARALLEL;

  6. nanshanshequ3857.shp就成功導入oracle, 輸入select * from NANSHANSHEQU3857可查看, 可用geoserver發佈。

對sdo_geometry類型中的各個參數簡單的介紹:

1、SDO_GTYPE:表示要存儲的幾何類型,如點線面。它是通過NUMBER類型來表達的;
2、SDO_SRID:幾何的空間參考座標系,類型也爲NUMBER;
3、SDO_POINT:如果幾何類型點類型的話,就是存儲點座標,否則爲空。 oracle自定義的SDO_POINT_TYPE類型;
4、SDO_ELEM_INFO:定義要如何理解SDO_ORDINATES中的座標串的;
5、SDO_ORDINATES:存儲實際座標的,以X、Y以及不同點之間都是逗號隔開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章