Skip to content

Routing engine

라우팅 서비스는 사람들이 어떤 한 장소에서 다른 장소로 찾아가는 길을 자동으로 생성한다. 해당 항목 참조.

Open source desktop and server software

Java

  • openrouteservice, free, open source library and API with many options and an ecosystem of further tools and libs for Javascript, R, Python, QGIS etc.
  • GraphHopper is an open source routing engine for road networks written in Java. Fast and memory efficient (for Android, iOS, desktop and server), used by Cruiser and many others
  • OpenTripPlanner site is a multi-modal trip planner supporting OSM data. OTP Deployer makes it easy to deploy your own routing instance.
  • BRouter focuses on bike routing and features elevation awareness, alternatives, fully configurable routing profiles and offline routing initially written for Android, but has also a web api. BRouter can also run in QMapShack.
  • OptaPlanner is a lightweight, embeddable planning engine which optimizes the Vehicle Routing Problem, the Traveling Salesman Problem and variants. It is based on GraphHopper and Google Maps APIs.

C/C++

  • Open Source Routing Machine
  • Valhalla
  • Routino Flexible router with user selectable routing preferences.
  • Navit
  • RoutingKit (BSD license, C++)

C#

  • Itinero – (.Net) libraries for routing and transportation optimization problems; formerly part of OsmSharp library

Ruby

  • Mormon ruby version of pyroutelib

Python

  • PyrouteLib routing engine behind Pyroute
  • SimpleOsmRouter simplest possible router

Mobile device software

C/Java

  • Guru Maps online & offline routing for iOS & Android
  • OsmAnd OSM Map, POI and Routing (car/bike/foot, online&offline) for Android and iOS
  • Navit Linux, Windows and portable devices
  • GraphHopper Open Source routing library for Desktop, Android and iOS, used by Cruiser
  • BRouter focuses on bike routing and features elevation awareness, alternatives, fully configurable routing profiles and offline routing for Android
  • OpenTripPlanner (Android) is an Android app for multi-modal trip planning using any OpenTripPlanner server
  • MapFactor Navigator Free for Android and iOS
  • MAPS.ME for Android and iOS

Libraries/development tools

Libraries focused on OSM Routing can be found at Develop/Frameworks. Here some general libs:

  • openrouteservice, free, open source library and API with many options and an ecosystem of further tools and libs for Javascript, R, Python, QGIS etc.
  • DGLib Directed Graph Library used by Grass's vector network tools (shortest path, traveling salesman, isodistances, Steiner trees; also Addons)
  • Graphserver is a webservice providing shortest-path itineraries on TIGER/line road maps, and public transport data in the General Transit Feed Specification format
  • osm4routing is a command-line tool for parsing OSM data into a routing graph.
  • pgRouting - PostGIS-based routing engine. Special tool osm2pgrouting for importing OSM data to internal graph structure. Works directly on top of SQL database tables.
  • Libosmscout offers simple, high-level interfaces to offline rendering and routing functionalities based on OpenStreetMap data
  • Spatialite Spatialite has its own routing engine VirtualNetwork and a spatialite_osm_net tool for building a routable network directly from OSM data. Routing can use either Dijkstra or A* algorithm.
  • GraphHopper routing engine with Java API.
  • ffwdme.js is a JavaScript toolkit that aims to bring interactive GPS driving directions to the mobile browser.
  • Valhalla is a free, open-source routing service that lets you integrate routing and navigation into a web or mobile application.

Protocols

The default-protocol is the API v0.6 spoken by the main servers. If can contain all data there is in OSM. Get Planet.osm dump.

See also

Favorite site