一安装Postgresql
二按照Postgis
1进入http://download.osgeo.org/postgis/windows/pg92/下载postgis,
如果下载的是第二个或者第四个安装文件,可以省略下面的第三步,但我用第四个文件没有安装成功,所以无奈选了最后一个,下载下来安装就可以了。
2 打开pgAdmin,执行sql语句:
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
三 安装pgrouting
1进入http://winnie.postgis.net/download/windows/pg92/buildbot/下载下图红框中的pgrouting。
2 解压,将解压文件的中的三个文件夹放到postgersql的安装目录下。
3打开pgAdmin,插件àPsql Console,进入控制台:执行:
CREATE EXTENSION pgrouting;
select pgr_version()
出现下图,表示安装成功:
在控制台中执行pgrouting解压文件中\share\extension中的5个sql文件,可以用
\i xxx.sql语句来执行。
5 将数据倒入到数据库中
如果是shp数据可以用下面的工具导入,如果在导入过程中因为编码问题失败,可以Options,将编码改成GBK。
6 将空间字段的名称改成‘the_geom’:
ALTER TABLE route RENAME COLUMN geo tothe_geom;
7 增加source,target,length字段,并填充length的值:
ALTER TABLE route ADD COLUMN source integer;
ALTER TABLE route ADD COLUMN target integer;
ALTER TABLE route ADD COLUMN length double precision;
UPDATE routeSET length = ST_Length(the_geom);
8 使用pgr_createtopology()建立拓扑,以下两种都可以:
SELECT pgr_createtopology(‘route’,0.001);
SELECT pgr_createtopology(’route’,0.001,’the_geom’,’id’,’source’,’target’);
9 求最短路径:
SELECT * FROMpgr_dijkstra(' SELECT gid as id,source::integer,target::integer,length::doubleprecision as cost FROM route',16,426,false,false);
表示求从节点16 ,到426 的最短路径,结果如下:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。