Skip to content

Repository contains pgRouting library. Development branch is "develop", stable branch is "master"

License

Notifications You must be signed in to change notification settings

enchaowu/pgrouting

 
 

Repository files navigation

pgRouting - Routing on PostgreSQL

Join the chat at https://gitter.im/pgRouting/pgrouting

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

<tr>
	<td>gh-pages</td>
	<td><img src="https://travis-ci.org/pgRouting/pgrouting.png?branch=gh-pages" alt="Build Status"/></td>
	<td></td>
	<td></td>
	<td>not enabled</td>
</tr>
Branch Travis Appveyor Jenkins Comments
master Build Status Appveyor Status Jenkins Status
develop Build Status Appveyor Status Jenkins Status
  • travis: Postgis 2.2 for Postgres 9.1, 9.2, 9.3, 9.4, 9.5
    • precise
  • 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
    • GNU >= 4.6
    • MSVC >= 18.0
  • Postgresql >= 9.2
  • The Boost Graph Library (BGL) >= 1.46
  • CMake >= 2.8.8
  • CGAL >= 4.4
  • Sphinx >= 1.2

User's reqirements

  • PostGIS >= 2.0

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 http://.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.

About

Repository contains pgRouting library. Development branch is "develop", stable branch is "master"

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 54.7%
  • C 27.9%
  • PLpgSQL 15.3%
  • CMake 1.1%
  • Batchfile 0.3%
  • PLSQL 0.3%
  • Other 0.4%