PostgreSQL9.6+PostGIS2.3學習筆記(一)匯入shp檔案
阿新 • • 發佈:2019-02-15
一. 建庫以及準備工作:(使用pgAdmin4直接建庫)
開啟pgAdmin4,如下圖所示create–>Database
輸入database的名字,如下圖,輸入完成即可選擇save進行儲存。這樣基本上就可以了,其他選項可以根據自身需要進行選擇。
給新建的庫新增擴充套件,需要登入psql進行操作:
圖中1:選擇自己對應的server,Database等,如果不需要更改直接回車進入下一項,如果需要更改就需要在其後面填寫修改的內容。如圖中所示,我們要進入到需要擴充套件的Database中,所以修改了Database一項。
圖中2:這四條語句就是進行擴充套件的語句,當然如果只是將shp檔案通過PostGIS匯入到庫中,只要第一句就可以完成了shp匯入到的資料庫非空間資料庫。建立空間資料庫,重新導
入到新建的庫中。- 開啟PostGIS設定連結
4.1點選 view connection details…進行連結設定。
4.2輸入對應的使用者名稱,密碼,PostgreSQL伺服器地址(如果是本機就直接localhost),埠(預設5432),需要匯入shp檔案的Database。這些輸入完後,點選OK。
4.3在Log Window中出現Connectionsucceeded說明連結成功。就可以進行匯入檔案操作了。
二、 匯入shp檔案
- 進行引數設定:
1.1.點選Options進入引數設定介面。
1.2.首先設定匯入的字元編碼,這個基本上都是GBK,當然這個也要看自己需要,設定成UTF-8也行。
1.3.這一項可勾選也可不勾選,看實際情況。如果非Multi型別,才勾選最後一項。一般非多義型別,所以一般要勾選。 - 新增檔案進行匯入:
2.1. 點選Add file 進入檔案選擇頁面,選擇需要匯入的.shp檔案,可以選擇多個檔案進行批量匯入。
2.2. 檔案選擇完,修改SRID(座標系)4326是經緯度的WGS-84座標系,也可以選擇墨卡託座標系(3857),這個根據實際情況。
2.3. 點選Import開始匯入,這時會出現進度條顯示匯入進度。
2.4. 當Log Window 中出現Shapefile import completed.說明匯入成功。
三、 匯入後檢視資料
1. 開啟pgAdmin4展開對應的Database
2. 展開Schemas找到在匯入時選擇的Schema,上圖中我們選擇的Schema是public,對應生成的tablename是veg_py。
3. 在Schemas下選擇public 然後展開找到Tables展開並找到我們需要的table,右擊選擇View Data 即可展示資料。
四、 可能出現的錯誤:
- Failedinpgui_exec(): 錯誤: 函式addgeometrycolumn(unknown, unknown, unknown,unknown, unknown, integer) 不存在。
解決方案:shp匯入到的資料庫非空間資料庫。建立空間資料庫,重新匯入新建的空間庫中。
如,在sql或psql console中輸入’create extension postgis;’ - Unableto convert data value to UTF-8 (iconv reports “Illegal bytesequence”). Current encoding is “UTF-8”. Try “LATIN1”(Western European), or one of the values
解決方案:開啟Options 將編碼改為 GBK (中文),其他語言請設定對應的編碼。如果改成GBK還不行,試試gb18030編碼 - dbffile (.dbf) can not be opened.
解決方案:shp檔案路徑不能太深,且路徑名稱不能有中文.