http://blog.csdn.net/Geoleung/archive/2009/03/02/3949709.aspx
最近在做開源WebGIS方面的工作,要使用postgis匯入shapefile資料.痛點在安裝過程和匯入時命令列參數的使用,以下分別作個介紹,希望對大家有點用
一.安裝postgis
(1)首先到postgresql的官方網站(www.postgresql.org)上下載最新版的開來源資料庫postgresql,我當前下載的最新安裝包是postgresql-8.3.6-1-windows.exe
(2)運行該exe,按照嚮導安裝之,在安裝過程中最好關閉防火牆,以及監控;另外最好將安裝目錄設定為NTFS分區的盤上.
(3)安裝完成後提示你是否在退出時配置application stack builder,這裡購選上它,然後點finish
(4)進入application stack builder嚮導後,選擇postgresql 8.3 on port 5432,點next
(5)在application list中溝選中你要安裝的application,這裡必須溝選postgis-pg83-setup-1.3.5-1.exe
(6)下一步,選擇下載伺服器,下載完成後開始安裝相應的application
(7)在安裝時要注意,有兩處都要設定密碼,不要設定密碼為空白.
(8)這樣根據嚮導就可以成功安裝postgis了
安裝postgis過程中可能會出現"Error opening file for writing:
c:\program files\PostgreSQL\8.3\bin\libiconv-2.dll"的提示,這裡我們可以忽略之
二.向postgis匯入shapefile資料
(1)安裝後運行pgadmin III,右擊postgresql 8.3(localhost)伺服器,串連之,這裡的密碼是你安裝時設定的密碼,務必牢記
(2)串連後,我們發現postgis安裝後自動給我們產生了一個資料template_postgis,我們將要匯入的資料就需要放到這個資料庫中.
(3)運行命名提示符cmd.exe,將其轉向C:\Program Files\PostgreSQL\8.3\bin(或者將cmd.exe複製到該目錄下)如下:
C:\Program Files\PostgreSQL\8.3\bin>
(4)首先將shp產生對應的sql指令碼,鍵入以下字元
C:\Program Files\PostgreSQL\8.3\bin>shp2pgsql -W "GBK" D:\CampusGISProject\new_p
ku_vector\viwpt.shp viwpt > D:\CampusGISProject\new_pku_vector\viwpt.sql
這裡的-W "GBK"代表字元編碼的轉換,D:\CampusGISProject\new_pku_vector\viwpt.shp則是要產生sql指令碼的shp檔案.viwpt是建立資料表的表名,>不能少,D:\CampusGISProject\new_pku_vector\viwpt.sql則是要產生SQL檔案的絕對目錄
產生成功後命令提示字元會顯示如下:
Shapefile type: Point
Postgis type: POINT[2]
(5)然後我們執行sql語句,執行該SQL語句檔案,匯入資料到資料庫template_postgis中
C:\Program Files\PostgreSQL\8.3\bin>psql -d template_postgis -f D:\CampusGISProj
ect\new_pku_vector\viwpt.sql postgres
其中 template_postgis是資料庫名,postgres是該資料庫的使用者
執行成功後,重新整理該資料庫,就可以看到新產生的資料表viwpt
這樣viwpt.shp資料就成功匯入到了postgis中了!!!!!
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/Geoleung/archive/2009/03/02/3949709.aspx