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

posted on 2011-03-02 17:26  hl3292  阅读(10405)  评论(1编辑  收藏  举报