天天看點

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

一. 建庫以及準備工作:(使用pgAdmin4直接建庫)

打開pgAdmin4,如下圖所示create–>Database

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

輸入database的名字,如下圖,輸入完成即可選擇save進行儲存。這樣基本上就可以了,其他選項可以根據自身需要進行選擇。

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

給建立的庫添加擴充,需要登入psql進行操作:

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

圖中1:選擇自己對應的server,Database等,如果不需要更改直接回車進入下一項,如果需要更改就需要在其後面填寫修改的内容。如圖中所示,我們要進入到需要擴充的Database中,是以修改了Database一項。

圖中2:這四條語句就是進行擴充的語句,當然如果隻是将shp檔案通過PostGIS導入到庫中,隻要第一句就可以完成了shp導入到的資料庫非空間資料庫。建立空間資料庫,重新導

入到建立的庫中。

打開PostGIS設定連結

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

4.1點選 view connection details…進行連結設定。

4.2輸入對應的使用者名,密碼,PostgreSQL伺服器位址(如果是本機就直接localhost),端口(預設5432),需要導入shp檔案的Database。這些輸入完後,點選OK。

4.3在Log Window中出現Connectionsucceeded說明連結成功。就可以進行導入檔案操作了。

二、 導入shp檔案

進行參數設定:

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

1.1.點選Options進入參數設定界面。

1.2.首先設定導入的字元編碼,這個基本上都是GBK,當然這個也要看自己需要,設定成UTF-8也行。

1.3.這一項可勾選也可不勾選,看實際情況。如果非Multi類型,才勾選最後一項。一般非多義類型,是以一般要勾選。

添加檔案進行導入:

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

2.1. 點選Add file 進入檔案選擇頁面,選擇需要導入的.shp檔案,可以選擇多個檔案進行批量導入。

2.2. 檔案選擇完,修改SRID(坐标系)4326是經緯度的WGS-84坐标系,也可以選擇墨卡托坐标系(3857),這個根據實際情況。

2.3. 點選Import開始導入,這時會出現進度條顯示導入進度。

2.4. 當Log Window 中出現Shapefile import completed.說明導入成功。

三、 導入後檢視資料

PostgreSQL9.6+PostGIS2.3學習筆記(一)導入shp檔案

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檔案路徑不能太深,且路徑名稱不能有中文.

---------------------

作者:淩醉天

版權聲明:本文為部落客原創文章,轉載請附上博文連結!