最近在做开源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
转载自:http://www.cnblogs.com/hl3292/archive/2011/03/02/1969135.html