LLMpediaThe first transparent, open encyclopedia generated by LLMs

OSRM

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Mapbox Hop 6
Expansion Funnel Raw 83 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted83
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
OSRM
NameOSRM
DeveloperProject contributors
Released2011
Programming languageC++
RepositoryGitHub
LicenseBSD

OSRM

OSRM is an open-source high-performance routing engine designed for fast shortest-path queries on large road networks. It was created to serve applications requiring low-latency route computation and has been adopted by map providers, navigation services, and research projects. OSRM's design emphasizes precomputation, memory efficiency, and integration with geo-data ecosystems such as OpenStreetMap and software platforms like PostGIS and Docker.

Overview

OSRM provides turn-by-turn routing, route geometry, and travel time estimation through a server implementation exposed as a RESTful API compatible with web services used by Mapbox, GraphHopper, HERE Technologies, TomTom, and Google Maps Platform. The engine implements contraction hierarchies and supports profiles for car, bicycle, and pedestrian navigation, enabling interoperability with toolchains originating from OpenStreetMap contributors, Geofabrik, and Mapillary datasets. OSRM integrates with frontend frameworks including Leaflet, OpenLayers, and Mapbox GL JS to support web mapping, while also being used in backends alongside NGINX, HAProxy, and cloud providers such as Amazon Web Services and Google Cloud Platform.

History

Development began in 2011 by a team of researchers and engineers influenced by algorithmic advances at institutions such as Karlsruhe Institute of Technology and companies like Google's routing research groups. Early work built on academic results from the Dijkstra algorithm, A* search, and speedup techniques exemplified by the Contraction Hierarchies paper and implementations originating in projects at ETH Zurich and University of Karlsruhe. Over time, contributions arrived from developers affiliated with Mapbox, Geofabrik, and independent maintainers who collaborated via GitHub and community forums such as Stack Overflow. The project evolved to support new export formats and containerization trends driven by Docker and orchestration systems including Kubernetes.

Architecture

OSRM's core architecture separates preprocessing and query phases. The preprocessing pipeline ingests topological extracts from OpenStreetMap and applies steps similar to those in Graph theory research: node contraction, edge reweighting, and landmark selection inspired by ALT algorithm studies. Components include the extractor, the partitioner, and the router service, each implemented in C++ with dependencies on libraries like Boost and libosmium. The server exposes endpoints compatible with ecosystem tools like TileServer GL and interacts with storage solutions such as Redis for caching and Amazon S3 for tile persistence. OSRM's modularity permits integration with languages and runtimes including Python, Node.js, Ruby on Rails, and Go stacks.

Features and Capabilities

OSRM offers rapid shortest-path queries, table and match services for matrix computations and GPS trace matching, and support for alternative routes similar to features in HERE Technologies and TomTom products. It returns polyline-encoded geometries compatible with Google Maps Platform clients and supports turn instructions localized for regions such as United States, Germany, France, and Japan. Advanced capabilities include support for speed profiles influenced by traffic models from projects like Probe Data Consortium research, custom vehicle profiles inspired by logistics systems used by DHL and UPS, and support for restrictions such as tolls and vehicle dimensions comparable to features in OpenRouteService.

Data Sources and Preparation

Primary input data originates from OpenStreetMap planet extracts, regional extracts provided by Geofabrik, and change feeds such as OSMCha and Planet.osm diffs. Preprocessing requires map matching of GPS traces acquired from sources like Mapillary and Strava, and enrichment with attribute data from projects like GTFS for multimodal transport or SRTM for elevation. Data preparation tools include the OSRM extractor and third-party utilities that convert PBF files into compressed graph formats, often run on infrastructure from DigitalOcean or Hetzner for cost-effective compute.

Performance and Scalability

OSRM achieves sub-second query latency for continental-sized graphs using contraction hierarchies and memory-mapped data structures optimized for NUMA servers and SSD-backed instances. Benchmarks compare OSRM against engines like GraphHopper and Valhalla on metrics such as query throughput, preprocessing time, and memory footprint, often measured on hardware from Intel and AMD with SSDs from Samsung. Scalability patterns include sharding by region, autoscaling groups in Amazon EC2, and load balancing via NGINX or Traefik to support millions of daily route requests for services used by companies like Mapbox and civic projects for cities such as Berlin and San Francisco.

Use Cases and Integrations

OSRM is used in ride-hailing and delivery platforms inspired by systems at Uber and Lyft, routing optimizers developed by logistics firms like DHL and FedEx, and academic studies in transportation planning conducted at institutions including MIT and Stanford University. Integrations include mobile SDKs from Mapbox, backend fleets managed through Kubernetes clusters, and visualization in dashboards built with Grafana and Prometheus for monitoring. Civic technology projects in municipalities such as Amsterdam and Helsinki leverage OSRM to analyze accessibility, while open-source projects like OpenTripPlanner and R5 contrast multimodal approaches.

Development and Community

The project's development occurs on GitHub with issue tracking and pull requests coordinated by maintainers affiliated with Mapbox, Geofabrik, and independent contributors from the OpenStreetMap community. Discussions take place on mailing lists, Stack Overflow, and chat platforms like Gitter and Matrix, while contributions are guided by a BSD-style license and continuous integration via Travis CI or GitHub Actions. Educational materials, workshops, and conference presentations have been delivered at venues such as FOSS4G, State of the Map, and academic conferences in transportation research. Community governance involves maintainers, contributors, and ecosystem partners who coordinate releases and roadmap planning.

Category:Routing engines