/pandana

Pandas Network Analysis: fast accessibility metrics and shortest paths, using contraction hierarchies :world_map:

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

Version Travis build status Appveyor build status Coverage Status

Pandana

Pandana is a Python library for network analysis that uses contraction hierarchies to calculate super-fast travel accessibility metrics and shortest paths. The numerical code is in C++.

v0.5 adds vectorized calculation of shortest path lengths: network.shortest_path_lengths().

Documentation: http://udst.github.io/pandana

Installation

Pandana runs on Mac, Linux, and Windows with Python 2.7, 3.6, 3.7, and 3.8.

The easiest way to install Pandana is using the Anaconda package manager. Pandana's Anaconda distributions are pre-compiled and include multi-threading support on all platforms.

conda install pandana --channel conda-forge

See the documentation for information about other installation options.

Demo

Pandana-demo.ipynb

Acknowledgments

Pandana was created by Fletcher Foti, with subsequent contributions from Matt Davis, Federico Fernandez, Sam Maurer, and others. Sam Maurer is currently the lead maintainer. Pandana relies on contraction hierarchy code from Dennis Luxen and his OSRM project.

Academic literature

A paper on Pandana was presented at the Transportation Research Board Annual Conference in 2012. Please cite this paper when referring to the methodology implemented by this library.

Related UDST libraries