1. 程式人生 > >【開發者筆記】利用shp2pgsql將shape文件導入到postgresql中

【開發者筆記】利用shp2pgsql將shape文件導入到postgresql中

info isp TP 命令 文件拷貝 最好 導入失敗 註意事項 eat

導入shp文件到postgresql中

1、首先,你需要讓shp2pgsql命令可用,百度下載,加入環境變量即可。

  下載地址:https://download.osgeo.org/postgis/windows/pg96/

  技術分享圖片

  如圖,打開網址,下載目標文件,解壓得到如下目錄:

技術分享圖片

  將該目錄添加到環境變量,然後cmd可運行shp2pgsql即可。

  

2、命令如下:

  

shp2pgsql -s 3857 -a -W GBK 文件名.shp 命名空間名.表名 | psql -h localhost -U postgres -d 數據庫名-p 5432

3、可能會出現導入失敗,因為要先給導入的數據庫增加空間擴展功能:

create extension postgis;
create extension postgis_topology;
create extension fuzzystrmatch;
create extension postgis_tiger_geocoder;

4、命令行提示輸入密碼

  為了在程序中免密碼輸入,我們加入pgpass.conf文件。在postgresql的安裝目錄下有該文件。如圖

技術分享圖片

  文件內容如下:

技術分享圖片

  將該文件拷貝到如下目錄:C:\Users\你的電腦名字\AppData\Roaming\postgresql

技術分享圖片

  OK,大功告成!

5、註意事項

  a、表名全部小寫,postgresql識別不了大寫表名

  b、文件名路徑不能過長,最好不要包含中文

  c、編碼格式采用GBK不亂碼,如果亂碼可以試試UTF-8

【開發者筆記】利用shp2pgsql將shape文件導入到postgresql中