GraphHopper is a Java routing library and OpenStreetMap routing engine used to calculate optimal paths and driving directions. It provides a map matching engine for aligning GPS coordinate traces to road networks, a GTFS transit router for multi-modal travel, and a spatial analysis utility for isochrone generation. The project supports the creation of custom vehicle profiles and weighting logic to influence path calculations. It implements contraction hierarchies to accelerate pathfinding by reducing the search space between coordinates. The engine covers a broad range of geospatial capabili
Valhalla is an open-source routing engine that calculates optimal paths and travel times using OpenStreetMap data. It is built around a tiled routing graph framework, allowing map data to be organized into small geographic tiles for efficient regional updates and offline routing capability. The project distinguishes itself through a multimodal routing server that combines automobile, pedestrian, bicycle, and public transit modes into single journeys. It includes a GPS trace matching engine to align noisy coordinates to the most probable road network paths and an isochrone and matrix generator
OSMnx is a Python library for downloading, modeling, and analyzing street networks and other geospatial features from OpenStreetMap. It enables users to retrieve and work with real-world infrastructure data anywhere in the world, providing tools for network analysis, spatial queries, and visualization. The library offers capabilities for working with urban features such as building footprints, transit stops, and elevation data, along with network statistics like intersection density and circuity. It supports multiple travel modes including driving, walking, and biking, and can calculate short
Mapnik is a cartographic rendering library and map rendering engine designed to convert geographic information system data into visual maps and printable layouts. It serves as a spatial data visualization tool that applies symbology and styling rules to diverse geographic data sources. The project utilizes an XML map configuration framework to define the visual appearance of maps, allowing the separation of styling logic and layout properties from the core rendering engine. Its capabilities cover geographic information visualization and cartographic style management. The system integrates sp
osrm-backend is a high-performance routing engine and backend service designed to calculate shortest paths and travel distances using OpenStreetMap data. It functions as a graph-based pathfinding server and map data processing tool that converts raw map data into specialized formats optimized for high-speed routing calculations.
The main features of project-osrm/osrm-backend are: Road Network Routing, Geospatial Data Importers, Map Data Conversion Tools, Map Data Processing, Geographic Routing Engines, Graph-Based Pathfinding Servers, Routing Backend Services, Contraction Hierarchies.
Open-source alternatives to project-osrm/osrm-backend include: graphhopper/graphhopper — GraphHopper is a Java routing library and OpenStreetMap routing engine used to calculate optimal paths and driving… valhalla/valhalla — Valhalla is an open-source routing engine that calculates optimal paths and travel times using OpenStreetMap data. It… gboeing/osmnx — OSMnx is a Python library for downloading, modeling, and analyzing street networks and other geospatial features from… mapnik/mapnik — Mapnik is a cartographic rendering library and map rendering engine designed to convert geographic information system… osm-search/nominatim — Nominatim is a self-hosted geospatial search engine and geocoding server that utilizes OpenStreetMap data. It provides… autocore-ai/maptoolbox — Plugins to make Autoware vector maps in Unity.