Valhalla is a multi-purpose routing engine originally created by Mapzen's mobility team, which was led by and included the founders of Interline. Now, Valhalla is also used by organizations like Mapillary (street imagery), Mapbox (mapping APIs), Tesla (electric cars), and Sidewalk Labs (urban real-estate development and operations). Valhalla is open-source (MIT license) and is maintained by many contributors.
Interline continues its involvement in open-source Valhalla, providing a variety of products and services to help organizations and individuals use Valhalla.
What functions can Valhalla perform?
Turn-by-turn directions
Plan trips from Point A to Point B — and any number of other destinations.
Time/distance matrixes
Rapidly calculate travel distances and times between many locations.
Optimized routes
Plan the shortest route to visit many locations (a.k.a. traveling salesman).
Access isochrones
Compute the boundaries of how far one can travel in 15 minutes, 30 minutes, and so on from an origin location.
Location-to-map snapping
Snap GPS probe data (or location data from another "noisy" source) with roadways and other elements of a transportation network.
What makes Valhalla unique?
🌎 OpenStreetMap: Valhalla is designed to work with the rich data model of OpenStreetMap. It normalizes a wide range of tags into a consistent roadway hierarchy. It applies country-specific parameters to handle different laws (e.g., drive on right vs. on left) and default speed limits.
📜 Narrative guidance: When generating turn-by-turn routes, Valhalla generates rich narrative guidance that's available in multiple languages. Without duplicative manuevers (no unnecessary instructions to "continue"). Ready for output as text-to-speech (TTS) on a smartphone.
🚌 Multimodal: Valhalla supports many travel modes: auto, high-occupany auto, bicycle, motor scooter, and pedestrian. Valhalla combines perfectly with the Transitland Routing API to also plan journeys by bus, train, and subway using the latest schedules from public transit agencies across the entire United States.
⚙️ Dynamic costing: All of Valhalla's travel modes can be customized on the fly by changing costing parameters in each query.
Tiled data structure: Valhalla generates and consumes its routing graph as tiles. This format allows an instance of Valhalla to scale to cover the entire planet, or to be specific to one metropolitan region.
📱 Embeddable: Valhalla is primarily written in C++. It can be used for embedded applications in auto infotainment systems, on iOS, and on Android.
How can I run Valhalla?
Docker
Valhalla is distributed as a Docker container. Easy to run on your Windows or Mac computer for testing. Deploy to GCP Kubernetes Engine, AWS Elastic Container Service, or another container scheduler.
Valhalla can also be installed on Linux using a PPA package.
How can Interline help me to use Valhalla?
We recommend Valhalla Tilepacks if you:
- want to control your own Valhalla server(s)
- know how to deploy Docker containers or PPA packages
- don't want to run an entire Valhalla tile build pipeline
- want to get started quickly
We recommend Interline's hosted global Valhalla APIs, offered through RapidAPI.com, if you:
- don't know how to manage servers
- want to test with free API access (pay only for higher rates of API usage)
- want to get started very quickly