整理一下postgresql的扩展功能postgis和pgrouting的使用

postgis的安装使用postgresql的bin目录下的stackbuiler

postgis:

1.建表语句:

create table NODES (ID SERIAL not null,geometry geography(POINTZ, 4326) null); 字段geometry表示的是三维空间的点,二维的点将POINTZ改为POINT即可
create table EDGES (ID SERIAL not null,geometry geography(LINESTRINGZ, 4326) null);  字段geometry表示的是三维空间的线,同理,二维的将LINESTRINGZ改为LINESTRING即可

2.插入语句:

insert into nodes(geometry) values(ST_GeographyFromText(‘SRID=4326; POINT(-110 30 40)‘));
insert into edges(geometry) values(ST_GeographyFromText(‘SRID=4326; LINESTRING(-110 30 40,11 22 33)‘));

3.修改字段类型:

alter table public.nodes alter column geometry set data type geography(PointZ,4326);

4.查询语句:

select ST_AsText(geometry) from nodes;
select ST_AsText(geometry) from edges;

有关pgrouting:

1.Windows下的安装:  

  在官网下载和本机PostgreSQL对应版本的PGRouting,我这里的版本的PostgreSQL 9.2,这个版本可以使用的PGRouting对应版本是2.0。

  下载PGRouing之后,可以看到里面有3个文件夹(bin、lib、share)和5个文件,以后可能会有变动,将这三个文件夹拷贝到PostgreSQL的安装目录下,和同名文件夹合并。

2.让数据库支持pgrouting:

  CREATE EXTENSION pgrouting;

3.pgrouting需要在edges中加入一些基本的字段

  columns ‘source‘, ‘target‘ must be of type int4, ‘cost‘ must be of type float8(也可以使用其他的字段名,使用内置函数查询的时候注意点就好了)

4.查询两个node之间的最短路径:

  

select * from pgr_dijkstra(‘select id as id,source::integer,target::integer,length::double precision as cost from edges‘,30,60,false,false);
时间: 2024-10-07 19:41:28

整理一下postgresql的扩展功能postgis和pgrouting的使用的相关文章

mac环境下安装posgreSQL,postGIS,pgrouting方法

费了九牛二虎之力,终于安装成功...都是mac的坑,好好的window环境多好,非要换mac环境,导致软件配置极其的麻烦,window的环境下配置会少很多事,自己惹的祸自己担着吧还是.换mac要慎重,不过不得不说用macbook pro码代码感觉就是很爽. http://www.kyngchaos.com/software/postgres.下载postgres.postgis.pgrouting三者的文件,版本按照上面的下就行.(目前pgrouting只支持postgres9.3,具体版本如下

postgresql+postgis+pgrouting安装步骤图解

1.在此(https://www.bigsql.org/postgresql/installers.jsp/)下载postgresql(开源数据库,gis行业推荐使用); 2.在此(http://winnie.postgis.net/download/windows/pg94/)下载对应postgresql版本的postgis(postgresql数据库gis空间数据库插件); 3.可在第二步路径下找到pgrounting(空间数据库路径分析插件)下载地址. 安装步骤图解: 1.点击postgr

postgresql+postgis+pgrouting实现最短路径查询(1)---线数据的处理和建立拓扑

准备一个线shp数据,并将其导入postgres里面,postgres安装postgis和pgrouting两个插件(方法见http://www.cnblogs.com/nidaye/p/4553522.html).线数据的字段如下:注意字段的名称,省的出现不必要的麻烦. 1.ALTER TABLE beijing_line ADD COLUMN source integer; ALTER TABLE beijing_line ADD COLUMN target integer; ALTER T

POSTGIS拓扑:pgRouting最短路径分析

前提:在PostgreSQL中建立POSTGIS数据库,安装pgRouting插件,导入现有的线表shp数据(示例使用的是管线pipesectionmain,其他的线表数据均可). 1.pgRouting在edge表中添加字段 线表中必须有id,source,target,cost,the_geom 5个字段,其中现有空间数据表中的gid可作为id,shape_leng可作为cost,geom可作为the_geom.还需要额外增加source和target字段 新增souce和target字段并

PostgreSQL数据库的安装与PostGIS的安装(转)

原文:http://lovewinner.iteye.com/blog/1490915 安装postgresql [plain] view plain copy sudo apt-get install postgresql-9.1 postgresql-contrib-9.1 其中postgresql-contrib-9.1不是必须要安装的,如果不安装,以后使用pgadmin打开数据库时可能会提示安装以使用啥啥啥功能.嫌麻烦的话就一起安装了吧. 如果要安装其他版本的postgresql,可以用

PostgreSQL及PostGIS使用

基础知识 参考文档:http://www.postgis.net/docs/ PostGIS支持的GIS对象是OpenGIS Consortium(OGC)定义的"简单特征"的超集.OpenGIS规范定义了两种表达空间对象的标准方法:the Well-Known Text (WKT) form and the Well-Known Binary (WKB) form.WKT和WKB都包括有关对象类型和形成对象的坐标的信息.WKT实例:POINT(0 0)LINESTRING(0 0,1

网络分析之Pgrouting(转载)

网上关于Pgrouting的使用介绍太简单了,这里想详细的总结一下Pgrouting的使用,其实主要参照官方文档:http://workshop.pgrouting.org/ 第一步:配置环境 关于PostgreSQL .postgis以及pgrouting可以去官网下载,这里使用Pgrouting2.0 PostgreSQL与postgis安装可以参照网上教程 pgRouting的安装很简单,以Windows为例,下载包以后解压缩,将lib目录下文件复制到PostgreSQL的lib目录下,再

[原]CentOS7部署PostGis

转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 本文参考了<An almost idiot's guide to install PostgreSQL 9.5, PostGIS 2.2 and pgRouting 2.1.0 with Yum >和PostGis官方网站的安装说明 1. 先安装Postgresql 请参见<CentOS7下安装并简单设置PostgreSQL笔记> 2. 先安装几个以后能用的上的工具包,免得用的

基于pgrouting的路径规划之一

最近接触pgrouting.把学习的结果记录下来. 利用pgrouting进行路径规划只能导入line数据,mutiline会出错.这一点在进行数据导入的时候需要注意. 一.创建数据库 有两种方法: 1.pgadmin可视化工具创建 直接把数据道路postgis模版数据库或以postgis模版数据库为模版创建数据库,这样创建的数据库直接支持空间查询和空间分析. 2.命令行创建数据库 创建数据库 createdb -U postgres routing 让数据库支持PostGIS和pgRoutin