不多說,直接上步驟,同時附上一部分小白容易碰到的坑。
附環境:win10-x64系統,PostgreSQL-9.6.17,PostGIS-2.5.3。
1、安裝PostgreSQL
(1)在安裝之前:檢查電腦上是否已經存在postgres這個用戶,如果不存在,則添加上這個用戶,然后再去執行安裝過程即可成功。否則在安裝過程中會報錯“不能創建……”的錯誤。
注:這一步不是必須,因為我之后在新的電腦上(環境和安裝包一樣)直接安裝時並沒有報錯。因此,如果報錯的話,就使用這里的解決方式。
(2)在安裝時,每一步(除了安裝路徑)都選擇默認,等待安裝成功即可。
注:在安裝步驟中需要保存自己創建的超級管理員的密碼,后續登錄pgadmin時需要使用。
2、安裝PostGIS
(1)PostGIS必須和PostgreSQL安裝在同一個目錄下,否則無法執行安裝(錯誤提示中也會說明);
(2)雙擊安裝即可(參數全部默認)。
3、創建GIS數據庫
(1)在PostgreSQL安裝目錄下,點擊【pgAdmin】工具,進入PostgreSQL的管理頁面(這里需要輸入第一步創建時保存的密碼);
(2)進入Databases目錄,在目錄上右鍵Create-Database,在彈出頁面中填寫自己新庫的參數即可(這里我創建的是gisdb)。
(3)到這一步一個普通的PostgreSQL數據庫已經創建完畢了,但此時這個庫還不能存儲GIS數據,需要添加擴展才能支持GIS數據的存儲。進入自己創建的數據庫目錄中,打開Extensions節點,該節點已經存在一個plpgsql的擴展(創建時默認添加)。此時在Extensions節點上右鍵Create-Extension,在彈出框中選擇需要添加的擴展到名字(一般是下拉選擇,也可以自己使用SQL語句添加), 主要添加4個GIS使用的擴展:fuzzystrmatch,postgis,postgis_tiger_geocoder,postgis_topology。
至此,一個完整的具有GIS數據管理功能的PostGIS數據庫創建完畢。
4、導入shp數據到PostGIS庫中
在這里我們使用PostGIS自帶的導入工具來進行shp數據導入。
(1)進入PostGIS安裝目錄,選擇[PostGIS2.0 Shapefile and DBF Loader Explorer]並進入界面
(2)首先點擊界面上部的[View connection Details......],在界面上填寫自己上一步創建的PostGIS庫的連接參數,點擊確認后下面的log-window會顯示日志詳情;
(3)點擊“Add File”,選擇需要導入的shp數據,可以選擇多個;
(4)***重要***,默認的列表中SRID列是0,一定要手動改成相應坐標系的代碼(比如我的是wgs84,則填寫4326);其他的Schema和Table都可以修改,這里是導入之后新的Schema和Table(舊的數據不會改變)。
(5)點擊Import開始執行導入,需要注意log-window內的日志信息,如果報錯里面會有說明(Failed還是Succeed)。
All Over。