在使用OracleSpatial時,不免需要将shpfile導入,本人使用shp2sdo.exe和oracle内置工具(sqlplus和sqlldr)來完成,使用熟了還比較友善,主要是手動操作四步,本人是在windows中進行的,導入cities.shp。
<a target="_blank" href="http://down.51cto.com/data/223757">shp2sdo.exe免費下載下傳</a>
1. 轉換資料格式
首先使用shp2sdo.exe轉換格式,輕按兩下打開如下圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201107/125210611.png"></a>
按提示錄入,主要是前兩個,要導入的shpfile檔案位置和導出檔案位置,生成cities.sql、cities.ctl和cities.dat三個檔案。
2. 執行SQL
打開cmd,輸入sqlplus和參數,執行完exit退出。
>sqlplus username/passwd@sid
SQL>@cities.sql
SQL>exit
3. 上載資料
接着在第2步後,輸入sqlldr和參數,資料會被導入第2步中建立的表中,并在oracle spatial元表(user_sdo_geom_metadata)中添加一條記錄。
>sqlldr username/passwd@sid cities
4. 建立空間索引
如同第2步中,打開sqlplus執行建立空間索引SQL語句。
create index IDX_CITIES on cities(geom) indextype is mdsys.spatial_index;
P.S. 個人覺得太手動,考慮寫個一體化小工具,一步到位提高效率:)
本文轉自 彭金華 51CTO部落格,原文連結:http://blog.51cto.com/pengjh/610856