当前位置: 代码迷 >> 综合 >> Postgis
  详细解决方案

Postgis

热度:50   发布时间:2024-01-21 04:12:46.0

Postgis

2012年2月29日

2015年6月8日重构

2015年7月4日添加数据组织、数据操作

2015年7月6日添加运算符

1 目标:使用postgis扩展PostgreSQL的空间存储能力

2 方法:安装、使用postgis。

2.1 安装postgis数据库

下载与postgresql对应的postgis安装文件,按照提示进行安装;

postgis-pg91-setup-1.5.3-2.exe

安装完成postgis后,会出现template_postgis模板库和postgis数据库;

2.2 扩展Postgresql

扩展sql文件应该在安装目录下,share/extension文件夹中。

可以通过以下几种方式加入扩展。

参考:http://www.xuebuyuan.com/1655300.html

2.2.1 创建扩展(推荐):CREATE EXTENSION postgis

或者使用PgAdmin,拓展-》添加拓展,添加sql文件名,自动生成sql,点击确定添加扩展。

安装完成后,可以看到扩展中的内容,postgis中导入大量函数。所有函数都可以在此处查看。

函数的定义可以架构-》函数中查看定义,详细说明请参见帮助文件。

2.2.2 加载sql:pgsql -f ../share/extension/postgis.sql

加载postgis,创建相应的空间数据表。

2.2.3 新建一个以template_postgis为模板的数据库

在定义中选择模板,其它的选项根据需要填写;

成功创建后会在数据表中出现geometry_columns(地理数据)和spatial_ref_sys(所有的地理参考系统)两个表;

3 方法:数据转储

目标:将shp格式的矢量数据,存储到postgres中。

3.1 方法:使用命令行工具shp2pgsql

3.1.1 shp2pgsql工具用法

D:\Program Files\PostgreSQL\9.1\bin>shp2pgsql

RCSID: $Id: shp2pgsql-core.h 5983 2010-09-1911:27:05Z mcayland $ RELEASE: 1.5

SE_GEOS=1 USE_PROJ=1 USE_STATS=1

USAGE: shp2pgsql[<options>] <shapefile> [<schema>.]<table>

OPTIONS:

  -s <srid>  Set the SRID field. Defaults to -1.

  (-d|a|c|p) These are mutually exclusiveoptions:

      -d Drops the table, then recreates it and populates

          it with current shape file data.

      -a Appends shape file into current table, must be

          exactly the same table schema.

      -c Creates a new table and populates it, this is the

          default if you do not specify anyoptions.

      -p Prepare mode, only creates the table.

  -g <geocolumn> Specify the name of thegeometry/geography column.