pgrouting是postgresql的路径规划拓展插件。支持用户使用数据库中的路网数据构建拓扑,并基于拓扑路网数据进行最短路径查询或耗费成本计算,并支持矩阵运算。
pgrouting的官方文档见:
https://docs.pgrouting.org/3.0/en/index.html
使用pgrouting构建完路径规划服务后,可以结合geoserver进行展示。
Pgrouting官网写得很详细,这里仅仅是整理一下,以作备份。
一、插件安装:
pgrouting安装详细说明见:
https://github.com/pgRouting/pgrouting/wikites-on-Download%2C-Installation-and-building-pgRouting
要注意的是,pgrouting依赖postgis,要确保postgis已经安装了。
如果使用云主机,并已经安装过postgresql与postgis,使用如下语句进行pgrouting安装即可。
sudo apt install postgresql-9.3-pgrouting
如果使用window系统,下载安装文件:
http://download.osgeo.org/postgis/windows/
二、创建扩展:
pgrouting要依赖postgis。
新建数据库后,运行:
CREATE EXTENSION PostGIS
CREATE EXTENSION pgRouting
三、样例数据:
pgrouting官网提供了一个很简单的样例数据,讲拓扑路网数据如何构建:
https://docs.pgrouting.org/3.0/en/sampledata.html
乍一看,好像很多表,有点不明就里,但没关系,把所有sql都运行一遍就可以,pgrouting的所有查询都基于这些表。
1.edge_table
新建数据表edge_table,这张表存储所有道路线信息,查询大部分都是基于这张表: