天天看點

shp2sdo工具導入shp檔案到oracle

版權聲明:歡迎評論和轉載,轉載請注明來源。 https://blog.csdn.net/zy332719794/article/details/51725949

工具準備:

1、首先到網上下載下傳shp2sdo工具。

2、把下載下傳的shp2sdo.exe檔案放置到oracle的安裝路徑的bin目錄下。

*備注:這裡以railway.shp名的檔案為例。

一、資料預處理

啟動指令行工具,運作指令:shp2sdo.exe,然後按提示輸入“shp檔案路徑”、“輸出路徑”等。

[shp檔案的路徑]>shp2sdo.exe

[shp檔案的路徑]>...

轉換成功後生成三個檔案(railway.ctl、railway.dat、railway.sql)。

二、建立表

利用上一步生成railway.sql檔案進行表建立。啟動指令行工具,運作:

[railway.sql檔案生成路徑]>sqlplus username/passwd@sid

SQL>@railway.sql

SQL>exit

三、向表中載入記錄

啟動指令行工具,運作

[railway.ctl檔案生成路徑]>sqlldr username/passwd@sid railway

四、建立空間索引

給空間資料字段建立索引。

>sqlplus username/passwd@sid

SQL>create index IDX_RAILWAY on RAILWAY(geom) indextype is mdsys.spatial_index;

補充:1. 在進行到第三步時,可能會出現“此處應該為**,實際為**”的異常,需用記事本打開railway.ctl檔案,然後把railway.dat路徑添加引号,或把路徑删了隻留檔案名例如INFILE railway.dat。2. 在第三步或第四補出現錯誤時,檢查一下資料庫編碼和生成的railway.dat編碼格式是否一緻。

導入資料的過程中,實際操作包括四個步驟:

1、建立表,包括空間字段(MDSYS.SDO_GEOMETRY)。

2、在空間記錄表(USER_SDO_GEOM_METADATA)中插入一條記錄。

3、在建立的表中插入所有記錄資料。

4、建立表的空間索引(可通過user_sdo_index_metadata或user_sdo_index_info查詢)。