30 open-source projects similar to project-osrm/osrm-backend, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Osrm Backend alternative.
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
Nominatim is a self-hosted geospatial search engine and geocoding server that utilizes OpenStreetMap data. It provides a complete infrastructure for forward geocoding, converting addresses or place names into geographic coordinates, and reverse geocoding, translating coordinates into human-readable physical addresses. The project features a dedicated data importer that parses raw map data into a PostgreSQL geospatial database. It distinguishes itself through a configurable import pipeline that uses style files to filter map features and an importance-based ranking system to prioritize search
iD is a web-based geographic information system tool and vector map editor designed for the OpenStreetMap collaborative database. It serves as a crowdsourced cartography interface for contributors to update global geographic infrastructure and land use data. The tool enables the modification of geographic shapes, attributes, and metadata directly within a web browser. It focuses on managing spatial data and physical landmarks by manipulating topological relationships between map nodes, ways, and relations. The project covers a broad range of capabilities including collaborative map editing,
Java map matching library for integrating the map into software and services with state-of-the-art online and offline map matching that can be used stand-alone and in the cloud.
GeoPandas is a Python library that extends pandas with native support for geospatial data. It treats geographic geometries—points, lines, and polygons—as a first-class column type within DataFrames, enabling users to store, manipulate, and analyze vector spatial data alongside traditional tabular attributes. The library is built on top of proven geospatial components: it uses Shapely for all geometric operations, Fiona and GDAL for reading and writing standard spatial file formats, PyProj for coordinate reprojection, and an R‑tree spatial index (from Shapely) to accelerate spatial queries. Wh
GDAL is an MIT-licensed open source translator library that provides a unified abstract data model for reading and writing geospatial raster and vector data across hundreds of file formats. It serves as a foundational geospatial data translation library, enabling access to diverse geospatial data formats through a single, consistent interface. The library exposes its core functionality through command-line utilities that allow users to translate, convert, and process geospatial data between formats. A coordinate transformation engine handles conversions between spatial reference systems, whil
Mapbox GL JS is a WebGL map rendering engine and interactive web map framework used to render vector tiles, raster imagery, and 3D terrain in the browser. It functions as a vector tile map library and geospatial data visualization tool, employing GPU-accelerated shaders to transform geospatial data into interactive maps. The project distinguishes itself through the integration of custom WebGL layers directly into the rendering pipeline and the use of data-driven expressions to map feature properties to visual attributes. It supports specialized data loading via PMTiles and provides offline ma
A Blender add-on to import models from google maps
Desktop based tool for viewing, editing and saving road network maps for autonomous vehicle platforms such as Autoware.
🛰 An index of aerial and satellite imagery useful for mapping
Map handling framework for automated driving
Specification for streaming massive heterogeneous 3D geospatial datasets :earth_americas:
The OpenStreetMap editor driven by open data, AI, and supercharged features
gmaps is a library that provides a wrapper for the Google Maps API, serving as a geospatial data toolkit and interactive map renderer. It simplifies the integration of interactive maps into web applications by managing the embedding of map views and the lifecycle of markers. The project distinguishes itself through a specialized set of utilities for geocoding, which converts physical addresses to geographic coordinates and vice versa. It also includes a static map generator for creating non-interactive map images for lightweight environments. The capability surface covers geographic data vis
This project is a cross-platform mapping SDK and hardware-accelerated rendering engine implemented in C++. It provides a shared geospatial core that allows for the embedding of interactive maps into Android, iOS, macOS, Node.js, and Qt applications. The system focuses on high-performance vector tile rendering using OpenGL and GPU primitives to display interactive 3D landscapes and complex geospatial datasets. It transforms compressed protocol buffers into customizable visuals through a style-driven layer pipeline. The capability surface extends to comprehensive location services, including g
MMKV is a high-performance, cross-platform key-value storage framework designed for mobile platforms and POSIX environments, including Android, iOS, macOS, and Windows. It provides a persistence layer that utilizes memory-mapped files and binary serialization to achieve low-latency data access. The project distinguishes itself through native support for multi-process synchronization, allowing concurrent read and write operations across different application processes. It also implements security via AES encryption for data at rest, featuring symmetric encryption and key rotation to protect st
Chronicle Queue is a high-performance data handling system featuring off-heap message queues, memory-mapped file stores, and replicated message stores. It provides a binary compatible memory layout that enables different programming languages to share data without serialization overhead. The system utilizes a replicated message store to synchronize data across multiple nodes, ensuring high availability and instant failover. Its memory-mapped architecture supports deterministic replay from disk and low-latency data recording. The project implements off-heap memory management and zero-allocati
SUMO is a microscopic traffic simulation suite designed to model the movement of individual vehicles and pedestrians across large-scale urban road networks. It functions as a multimodal transport simulator that integrates cars, pedestrians, bicycles, railways, and waterways within a single environment, supported by tools for road network generation and traffic demand modeling. The project distinguishes itself through specialized toolsets for environmental impact analysis, which calculate vehicle emissions and energy consumption for electric and hybrid fleets. It provides comprehensive capabil
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
The 1BRC (One Billion Row Challenge) is a Java performance benchmarking exercise that processes one billion temperature records from a text file to compute the minimum, mean, and maximum temperature per weather station. At its core, it is a large-scale data aggregation challenge designed to test how efficiently a Java program can parse and aggregate structured data from a plain text file, serving as both a programming exercise and a benchmark for Java performance optimization. The project distinguishes itself through a collection of performance-oriented architectural patterns for high-through
Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that organizes data in B+trees on disk to provide efficient sorted key retrieval and range scans. The system uses a memory-mapped model to map the database file directly into the process address space for fast random-access reads. The project distinguishes itself through a multi-version concurrency control architecture that allows multiple simultaneous readers to access a consistent snapshot of data without blocking a writer. It employs a single-writer multi-reader locking model and uses a
bbolt is an ACID-compliant embedded key-value store for Go applications. It persists all data in a single memory-mapped file on disk, organizing information using B+ trees to facilitate sorted key iteration and efficient range queries. The project distinguishes itself through a hierarchical data organization model, allowing buckets to be nested within other buckets to create a tree-like structure. It employs a single-writer, multi-reader locking mechanism and copy-on-write transactions to ensure serializable isolation and data integrity. The system includes comprehensive data management capa
HexFiend is a native macOS hex editor designed for opening and editing binary files of any size without loading them entirely into memory. It uses a 64-bit addressable data model with memory-mapped file access, enabling navigation of multi-gigabyte files while maintaining byte-level undo for insert and delete operations. The editor distinguishes itself through a diff algorithm for binary file comparison that accounts for insertions and deletions, and a template-based structure parsing system that uses user-defined scripts to visualize binary file layouts. It also includes a typed data interpr
AlgorithmsByPython is a reference library and educational repository providing runnable Python implementations of computer science fundamentals. It serves as a comprehensive guide for algorithmic patterns, core data structures, and solutions for competitive programming and technical interview challenges. The project distinguishes itself by offering a wide array of reference implementations, including a dedicated set of solutions for common LeetCode problems. It focuses on translating theoretical computational logic into practical Python code for educational and practical use. The repository