List - Routing and Navigation Services

Overview

Curated collection of routing engines, geocoding services, and navigation APIs for geospatial applications. Includes open-source self-hosted options and commercial APIs.

Open Source Routing Engines

OSRM (Open Source Routing Machine)

High-performance routing engine using OpenStreetMap data.

AspectDetails
Websiteproject-osrm.org
GitHubProject-OSRM/osrm-backend
LicenseBSD 2-Clause
Data SourceOpenStreetMap
ModesDriving, walking, cycling

Features:

  • Extremely fast routing
  • Turn-by-turn navigation
  • Table (distance matrix) queries
  • Trip optimization (TSP)
  • Tile-based map matching

Valhalla

Multi-modal routing engine with isochrone support.

AspectDetails
Websitevalhalla.github.io/valhalla
GitHubvalhalla/valhalla
LicenseMIT
Data SourceOpenStreetMap
ModesDriving, walking, cycling, transit, multimodal

Features:

  • Time-distance matrix
  • Isochrones (travel time polygons)
  • Map matching
  • Elevation-aware routing
  • Turn-by-turn directions with maneuvers

GraphHopper

Flexible routing engine with multiple profiles.

AspectDetails
Websitegraphhopper.com
GitHubgraphhopper/graphhopper
LicenseApache 2.0
ModesCar, bike, foot, custom profiles

Features:

  • Route optimization API
  • Matrix API
  • Isochrone API
  • Custom vehicle profiles
  • Commercial hosted version available

OpenRouteService

OGC-compliant routing and geospatial analysis.

Features:

  • Directions, isochrones, matrix
  • Points of interest search
  • Geocoding
  • Elevation profiles
  • Free hosted API (rate limited)

Commercial Routing APIs

ServiceDescriptionLinks
Mapbox DirectionsTurn-by-turn routing with trafficDocs
Google DirectionsRouting with real-time trafficDocs
HERE RoutingEnterprise routing with fleet featuresDocs
TomTom RoutingTraffic-aware routingDocs
Esri Network AnalystArcGIS routing servicesDocs

Geocoding Services

Open Source / Free

ServiceDescriptionLinks
NominatimOSM-based geocodingWebsite
PhotonOSM geocoder with typo toleranceGitHub
PeliasModular open geocoderGitHub
OpenCageAggregated geocoding (free tier)Website

Commercial

ServiceDescriptionLinks
Google GeocodingHigh-quality global geocodingDocs
Mapbox GeocodingFast geocoding with POIDocs
HERE GeocodingEnterprise address matchingDocs
Esri GeocodingArcGIS World GeocoderDocs
SmartyStreetsUS address validationWebsite

Accessibility & Scoring APIs

ServiceDescriptionLinks
Walk ScoreWalk/Transit/Bike scoresAPI
Mapbox IsochroneTravel time polygonsDocs
TravelTimeIsochrone and reachabilityWebsite

R Package Integration

PackageDescriptionLinks
osrmR interface to OSRMCRAN
stplanrSustainable transport planningCRAN
hereRHERE API clientCRAN
googlewayGoogle Maps API clientCRAN
mapboxapiMapbox API clientCRAN
tidygeocoderMulti-service geocodingCRAN

Python Libraries

LibraryDescriptionLinks
osmnxOSM network analysisGitHub
routingpyMulti-provider routingGitHub
geopyGeocoding abstractionGitHub

Self-Hosting Considerations

OSRM Deployment

# extract and prepare data
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/region.osm.pbf
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-partition /data/region.osrm
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-customize /data/region.osrm
 
# run server
docker run -t -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/region.osrm

Valhalla Deployment

docker run -dt --name valhalla -p 8002:8002 \
  -v $PWD/custom_files:/custom_files \
  ghcr.io/gis-ops/docker-valhalla/valhalla:latest

Comparison Matrix

EngineSpeedModesIsochronesMatrixLicense
OSRMFastest3NoYesBSD
ValhallaFast4+YesYesMIT
GraphHopperFastCustomYesYesApache
OpenRouteServiceModerate4+YesYesLGPL

Notes

  • OSRM is best for pure speed when you only need basic routing
  • Valhalla is preferred when you need isochrones or multi-modal routing
  • tidygeocoder (R) abstracts multiple geocoding providers with a unified interface
  • Consider data freshness when self-hosting (OSM data updates regularly)

Appendix

Created: 2024-12-23 | Modified: 2024-12-23

See Also


(c) No Clocks, LLC | 2024