•        824

OsmSharp is a routing and OSM data processing library.




Related Projects


  •    Java

A modeling and simulation tool for Routing problems on Graphs, tccrouter is a java desktop application that provides a 2d map for building graphs and simulating a variety of real world routing solutions: Shortest path, TSP, VRP, VRP-TW.

Open-VRP - Open-source framework for modeling Vehicle Routing Problems.

  •    Common

The Problem object (e.g. VRP) and the Algorithm object (e.g. Genetic Algorithm) are modelled seperately and combined with the generic method (solve-prob problem algo). Different solution algorithms can be tested and compared against each other on the same problem (which you only model once). Too often have I found myself having to build a VRP model from scratch, just to experiment with some meta-heuristics for a school paper. Academics/students with a background/interest in Mathematics/Operations Research without the skills/patience for die-hard coding (in C++/Java), have no choice but to spend their valuable time stuck in the debug/test/debug cycle. Here is why those in OR should consider Common Lisp as an option.

valhalla - Open Source Routing Engine for OpenStreetMap

  •    C++

Valhalla is an open source routing engine and accompanying libraries for use with OpenStreetMap data. Valhalla also includes tools like time+distance matrix computation, isochrones, elevation sampling, map matching and tour optimization (Travelling Salesman). Technical documentation for the various components of the library can be found here: docs. Service API documentation as well as links to a variety of technical descriptions are provided within the valhalla-docs repository.

GraphHopper - Fast and Open Source Road Routing Engine in Java

  •    Java

GraphHopper is a fast and Open Source road routing engine. It works with OpenStreetMap data. It has additional implementations for A*, Dijkstra and the bidirected versions, Takes care of the road type, the surface, barriers, access restrictions, ferries, Supports Car, Bike, Pedestrian and you can easily create your own or customize existing vehicles and lot more. It is tuned towards road networks with OpenStreetMap data but can be useful for public transport problems as well.

osmnx - OSMnx: Python for street networks

  •    Python

Retrieve, construct, analyze, and visualize street networks from OpenStreetMap: full overview. You can just as easily download and work with building footprints, elevation data, street bearings/orientations, and network routing.


  •    C++

libosmscout offers applications simple, high-level interfaces to offline rendering and routing functionalities based on OpenStreetMap data. It does so by preprocessing *.osm data files and generating binary data and index files for fast access.

GMap.NET - Great Maps for Windows Forms & Presentation


GMap.NET is great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding and maps from Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, Mapy.cz in Windows Forms & Presentation, supports caching and runs on windows mobile!

embedio - A tiny, cross-platform, module based web server for .NET

  •    CSharp

A tiny, cross-platform, module based, MIT-licensed web server for .NET Framework and .NET Core.EmbedIO before version 1.4.0 uses Newtonsoft JSON and an internal logger subsystem based on ILog interface.

openstreetmap-tiles-docker - The OpenStreetMap Tile Server in a Docker container

  •    Shell

This repository contains instructions for building a Docker image containing the OpenStreetMap tile serving software stack. It is based on the Switch2OSM instructions. Run docker run homme/openstreetmap-tiles for usage instructions.

mono-tools - The mono-tools package contains a series of extra tools for Mono users.

  •    CSharp

The mono-tools package contains a series of extra tools for Mono users.

ArcGIS Editor for OpenStreetMap


The ArcGIS Editor for OpenStreetMap is designed to help ArcGIS users to become active members in the growing community of users building an open and freely available database of geographic data.

Mapsforge - Vector map library written in Java - running on Android and Desktop.

  •    Java

Mapsforge project uses a compact file format for fast ad-hoc rendering of OpenStreetMap data. It provides tools to compile your own maps with detailed instructions and also precompiled maps, Simple boilerplate code to build applications for Android that display OpenStreetMap-based maps. Mapsforge maps can be flexibly styled with XML style files (render themes).

osm-tasking-manager2 - Designed and built for Humanitarian OpenStreetMap Team collaborative emergency/disaster mapping, the OSM Tasking Manager 2

  •    Javascript

OpenStreetMap Tasking Manager enables collaborative work on specific areas in OpenStreetMap by defining clear workflows to be achieved and by breaking tasks down into pieces. V2 Tasking Manager still powers many Tasking Manager installations. It is written in Python using the Pyramid framework.

Nominatim - Open Source search based on OpenStreetMap data

  •    C

Nominatim (from the Latin, 'by name') is a tool to search OpenStreetMap data by name and address (geocoding) and to generate synthetic addresses of OSM points (reverse geocoding). An instance with up-to-date data can be found at https://nominatim.openstreetmap.org. Nominatim is also used as one of the sources for the Search box on the OpenStreetMap home page. The documentation of the latest development version is in the docs/ subdirectory. A HTML version can be found at https://nominatim.org/release-docs/develop/ .

overpass-turbo - A web based data mining tool for OpenStreetMap using Overpass API.

  •    Javascript

This is a GUI for testing and developing queries for the Overpass-API. It can also used for simple analysis of OSM data. Just point your browser to overpass-turbo.eu and start running your Overpass queries.

openmaptiles - OpenMapTiles Vector Tile Schema Implementation

  •    PLpgSQL

OpenMapTiles is an extensible and open vector tile schema for a OpenStreetMap basemap. It is used to generate vector tiles for openmaptiles.org and openmaptiles.com. We encourage you to collaborate, reuse and adapt existing layers and add your own layers or use our approach for your own vector tile project. The repository is built on top of the openmaptiles/tools to simplify vector tile creation.

barefoot - Java 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

  •    Java

An open source Java library for online and offline map matching with OpenStreetMap. Together with its extensive set of geometric and spatial functions, an in-memory map data structure and basic machine learning functions, it is a versatile basis for scalable location-based services and spatio-temporal data analysis on the map. It is designed for use in parallel and distributed systems and, hence, includes a stand-alone map matching server and can be used in distributed systems for map matching services in the cloud. Barefoot consists of a software library and a (Docker-based) map server that provides access to street map data from OpenStreetMap and is flexible to be used in distributed cloud infrastructures as map data server or side-by-side with Barefoot's stand-alone servers for offline (matcher server) and online map matching (tracker server), or other applications built with Barefoot library. Access to map data is provided with a fast and flexible in-memory map data structure. Together with GeographicLib [1] and ESRI's geometry API [2], it provides an extensive set of geographic and geometric operations for spatial data analysis on the map.

leaflet-routing-machine - Control for routing in Leaflet

  •    Javascript

Go to the Leaflet Routing Machine site for more information, demos, tutorials and more. Leaflet Routing Machine is in many ways already a feature complete routing UI. Most likely, your requirements are already covered and require very little adaptation.