Jump to content

GraphHopper

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Peatar (talk | contribs) at 13:40, 8 April 2015 (→‎Please review. Several notable sources like heise, jaxenter and the only map-matching component added: new section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

GraphHopper
Developer(s)Peter Karich
Stable release
0.4.0 / March 6, 2015; 9 years ago (2015-03-06)
Repository
Written inJava
Operating systemCross-platform
TypeSearch, Graph and GPS navigation software
LicenseApache License 2.0
Websitegraphhopper.com

GraphHopper is a road routing library written in Java and provides a web interface called GraphHopper Maps.[1] as well as a routing API over HTTP. It runs on the server, desktop, Android or Raspberry Pi. By default OpenStreetMap data for the road network and elevation data from the Shuttle Radar Topography Mission is used.

GraphHopper can be configured to use different algorithms such as Dijkstra, A* and its bidirectional versions. To make routing fast enough for long paths (continental size) and avoid heuristical approaches GraphHopper uses Contraction Hierarchies by default. In the Java Magazine from Oracle the author Peter Karich describes the techniques necessary to make the system memory efficient and fast.[2] Furthermore GraphHopper is built on a large test suite including unit, integration and load tests.[3]

The Apache License allows everyone to customize and integrate GraphHopper in free or commercial products, and together with the query speed and OpenStreetMap data this makes GraphHopper a possible alternative to existing routing services and GPS navigation software.[4][5]

Besides point-to-point routing for different vehicles GraphHopper can be used to calculate distance matrices which are then used as an input for Vehicle routing problems. Other use cases are [6]:[citation needed]

Directions API

The developers of GraphHopper also offer the GraphHopper Directions API for Business which includes a Geocoding API and a Route Matrix API besides the Routing API [7].

Users

Notable users of GraphHopper are Rome2rio, Komoot, Gnome[8] and de:GPSies.com.[5] Since February 2015 GraphHopper powers the bike and foot routing on the official OpenStreetMap website and version 0.4 was released shortly afterwards in March 2015.[9][10]

References

  1. ^ GraphHopper Maps
  2. ^ "Java Magazine 2014, GraphHopper Maps: Fast Road Routing in 100% Java".
  3. ^ "public Travic CI: showing large test suite of GraphHopper".
  4. ^ "Jaxenter, LocationTech Tour in Hamburg 2014".
  5. ^ a b "GPSies Blog: Schnelles Routing mit GraphHopper und OpenStreetMap".
  6. ^ "Map Matching module of GraphHopper".
  7. ^ "ProgrammableWeb: GraphHopper's API Helps Get You From A to B".
  8. ^ "Gnome Maps 3.14 uses the GraphHopper Directions API".
  9. ^ "Route Planning on OpenStreetMap.org".
  10. ^ "Heise Open: Quelloffener Routenplaner GraphHopper in Version 0.4 erschienen".

Please review. Several notable sources like heise, jaxenter and the only map-matching component added