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.