pgRouting - Routing on PostgreSQL
![Join the chat at https://gitter.im/pgRouting/pgrouting](https://badges.gitter.im/Join%20Chat.svg)
STATUS
Branches
- The master branch has the latest minor release. (2.4.0)
- The develop branch has the next minor release. (2.5.0-dev)
For the complete list of releases go to:
https://github.com/pgRouting/pgrouting/releases
LINKS
Branch |
Travis |
Appveyor |
Jenkins |
Comments |
master |
![Build Status](https://travis-ci.org/pgRouting/pgrouting.png?branch=master) |
![Appveyor Status](https://ci.appveyor.com/api/projects/status/github/pgRouting/pgrouting?branch=master&svg=true) |
![Jenkins Status](http://winnie.postgis.net:1500/buildStatus/icon?job=pgRouting_matrix_master) |
|
develop |
![Build Status](https://travis-ci.org/pgRouting/pgrouting.png?branch=develop) |
![Appveyor Status](https://ci.appveyor.com/api/projects/status/github/pgRouting/pgrouting?branch=develop&svg=true) |
![Jenkins Status](http://winnie.postgis.net:1500/buildStatus/icon?job=pgRouting_matrix_branch_develop) |
|
gh-pages |
![Build Status](https://travis-ci.org/pgRouting/pgrouting.png?branch=gh-pages) |
|
|
not enabled |
- travis: Postgis 2.2 for Postgres 9.1, 9.2, 9.3, 9.4, 9.5
- jenkins: g++ 4.8 on 32 & 64 bits for Postgis 2.3.0dev and Postgres 9.4, 9.5, 9.6
- appveyor: vs1013 Postgis 2.2 Postgres 9.4
INTRODUCTION
pgRouting extends the PostGIS/PostgreSQL geospatial database to provide geospatial routing and other network analysis functionality.
This library contains following features:
- All Pairs Shortest Path, Johnson’s Algorithm
- All Pairs Shortest Path, Floyd-Warshall Algorithm
- Shortest Path A*
- Bi-directional Dijkstra Shortest Path
- Bi-directional A* Shortest Path
- Shortest Path Dijkstra Family of functions
- Shortest Path Dijkstra Cost Family of functions
- Driving Distance
- K-Shortest Path, Multiple Alternative Paths (Yen's algorithm)
- Traveling Sales Person
- Turn Restriction Shortest Path (TRSP)
Additionally, ready for testing and to be part of 2.3 official version:
- Shortest Path Dijkstra With Points Family of functions
- Shortest Path Dijkstra Cost With Points Family of functions
- Driving Distance With Points
- K-Shortest Path With Points, Multiple Alternative Paths (Yen's algorithm)
- Dijkstra Via vertices
Family of functions include:
- one to one
- one to many
- many to one
- many to many
REQUIREMENTS
Building reqirements
- Perl
- C and C++ compilers
- Postgresql >= 9.2
- The Boost Graph Library (BGL) >= 1.46
- CMake >= 2.8.8
- CGAL >= 4.4
- Sphinx >= 1.2
User's reqirements
INSTALLATION
See online documentation: http://docs.pgrouting.org/
COMPILATION
For MinGW on Windows
mkdir build
cd build
cmake -G"MSYS Makefiles" ..
make
make install
Also pre-built Windows binaries can be downloaded from https://postgis.net/windows_downloads
For Linux
mkdir build
cd build
cmake ..
make
sudo make install
Build with documentation (requires Sphinx)
cmake -DWITH_DOC=ON ..
Postgresql 9.2+
createdb mydatabase
psql mydatabase -c "CREATE EXTENSION postgis"
psql mydatabase -c "CREATE EXTENSION pgrouting"
USAGE
See online documentation: http://docs.pgrouting.org/2.3/en/doc/index.html
LICENSE
- Most features are available under GPLv2.
- Some Boost extensions are available under Boost license (see LICENSE_1_0.txt)
- Some code contributed by iMaptools.com is available under MIT-X license.