Skip to content
This repository has been archived by the owner on Mar 26, 2022. It is now read-only.

Latest commit

 

History

History
 
 

docs

This folder contains the technical documentation and API reference for valhalla.

Overview

  • Introduction - This is the early history of Valhalla. Introduces the core team and describes overall objectives of the project and some insight on why we chose the name Valhalla.
  • Terminology - Contains commonly used terms and definitions within Valhalla.

API

  • Route API Reference - The structure of API requests and responses to a Valhalla routing service is described here. This shows the JSON inputs and describes the JSON responses to form routes and directions.
  • Map Matching API Reference - The structure of API requests and responses to a Valhalla map matching service is described here. This shows the JSON inputs and describes the JSON responses to perform map-matching. There are two flavors: 1) trace_route: froms a route result from the path that matches the input geometry, and 2) trace_attributes: returns detailed attribution along the path that matches the input geometry.
  • Locate API Reference - The structure of API requests and responses to a Valhalla locate service is described here. This shows the JSON inputs and describes the JSON responses to get detailed information about streets and interesections near a location.
  • Matrix API Reference - The structure of API requests and responses to a Valhalla time distance matrix service is described here. This shows the JSON inputs and describes the JSON responses to retrieve times and distances between locations.
  • Optimized Route API Reference - The structure of API requests and responses to a Valhalla optimized route service is described here. This shows the JSON inputs and describes the JSON responses to retrieve the route which optimizes the path through the input locations. This is essentially the Traveling Salesman Problem (TSP)
  • Elevation API Reference - The structure of API requests and responses to a Valhalla elevation service is described here. This shows the JSON inputs and describes the JSON responses to query elevation at specific locations.
  • Isochrone API Reference - The structure of API requests and responses to a Valhalla isochrone service is described here. This shows the JSON inputs and describes the JSON responses to query accessibility polygons around specific locations.

Technical documentation

  • Decoding Shape - Describes how to decode the route path's shape (returned as an encoded polyline). Contains sample code in several languages.
  • Tile Description - Describes the tiling system used within Valhalla. Discusses the road hierarchy and tile numbering system.
  • Speed information - Describes the use of speed information and how OpenStreetMap tags impact speeds.
  • Why Tiles? - Some of the objectives and reasons for designing a tiled, routing data set are included here.
  • OSM Connectivity Map - Discusses creation of a "Connectivity Map" of OSM that uses Valhalla routing tiles to provide a first order of approximation of connectivity between locations.
  • Use of Administrative Data in Valhalla - Discusses the importance of administrative information to routing and some of the ways that Valhalla uses adminstrative information.
  • Dynamic Costing - Describes the basics of the dynamic, run-time path costing provided within the sif repository.
  • Elevation Influenced Bicycle Routing - Discusses how elevation is factored into bicycle costing to allow features such as "avoid hills".

Data sources