valhalla 0.6.4

Rust bindings for Valhalla routing engine
docs.rs failed to build valhalla-0.6.4
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: valhalla-0.6.1

About

C++-to-Rust bindings for Valhalla to access road graph tiles, powered by cxx.

The main motivation behind valhalla-rs is to provide easy-to-start infrastructure (cargo add valhalla and you're done) for small utility projects that need to access Valhalla's road graph data, expose additional Valhalla functionality, or where calling Valhalla's routing engine in-process is beneficial.

valhalla-debug is a good example of such a project.

Features:

  • Reading Valhalla tiles and accessing information from road graph edges (DirectedEdge, EdgeInfo) and nodes (NodeInfo) - see tiles_tests for usage examples. Not all getters are accessible from Rust, but can be easily added.
  • Actor API (similar to what is accessible from Python) for Valhalla's routing engine, allowing route building and other routing operations from Rust - see actor_tests for usage examples.
  • Writing live traffic information directly to memory-mapped traffic.tar

Usage

Run cargo add valhalla or add this to your Cargo.toml:

[dependencies]
valhalla = "0.6"

Dependencies

Since Valhalla heavily relies on system libraries, you need to install the following dependencies to build this project:

sudo apt-get update && sudo apt-get install -y --no-install-recommends clang pkg-config build-essential cmake libboost-dev liblz4-dev libprotobuf-dev protobuf-compiler zlib1g-dev

The Dockerfile with tests and sanity checks can be used as a reference for necessary dependencies and environment setup.

For more details (and dependencies for other platforms), check the Valhalla documentation.

License

This project provides Rust bindings for the Valhalla routing engine and distributes (via crates.io) the Valhalla source code. The entire project is licensed under the MIT License.

The original Valhalla license is also available at valhalla/COPYING.