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.
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 matches
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, pedestrian, and public transit.
- ⚙️ 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.
When is an alternative more appropriate?
- 🚌 Public Transit Agencies
- Our newly built Transitland Routing API is tightly integrated with the Transitland platform for rapid and continual feed updates. We recommend using Valhalla for driving, walking, and biking directions and the Transitland Routing API for transit directinos.
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. more info
Mac OS
Valhalla can be compiled from source and installed on Mac OS using the Homebrew package manager. more info
Linux
Valhalla is distributed as PPA packages for Ubuntu and similar distributions of Linux. more info
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