pgRouting extends PostgreSQL/PostGIS with geospatial routing and network analysis functions.
pgRouting is an open-source extension for PostgreSQL/PostGIS that adds geospatial routing and network analysis capabilities directly within the database. It enables users to perform complex spatial queries and routing calculations, such as finding shortest paths and solving traveling salesperson problems, without needing external services.
GIS developers, data analysts, and urban planners who need to perform network analysis and routing on spatial data stored in PostgreSQL/PostGIS databases.
Developers choose pgRouting because it integrates routing functionality directly into PostgreSQL, leveraging PostGIS for robust spatial data management and enabling efficient, database-native geospatial computations without external dependencies.
Repository contains pgRouting library. Development branch is "develop", stable branch is "master"
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Directly extends PostgreSQL/PostGIS, enabling routing queries to be combined with spatial SQL operations without external services, as highlighted in the README's introduction.
Includes Dijkstra variants, A-star, Yen's for k shortest paths, and TSP algorithms, covering a wide range of network analysis needs listed in the Key Features section.
Backed by active documentation at docs.pgrouting.org, Gitter chat, and discourse forums, as indicated in the README links and status page.
Licensed under GPL and others (e.g., Boost, MIT-X), allowing for modification and extension, with contributions from various sources per the LICENSE section.
Requires specific versions of Boost (>=1.56), CMake (>=3.12), and compilers (e.g., C++14 for Boost 1.75), making installation non-trivial, especially from source as detailed in the REQUIREMENTS.
Ties routing functionality exclusively to the PostgreSQL ecosystem, limiting portability and flexibility for teams using other database systems.
Users must preprocess and maintain network topology data (e.g., for driving distance) manually, which can be complex and error-prone for large datasets, with no built-in tools mentioned.