HOME

TheInfoList



OR:

GraphHopper is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
routing Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone netw ...
library and server written in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
and provides a web interface called GraphHopper Maps as well as a routing API over HTTP. It runs on the server, desktop,
Android Android may refer to: Science and technology * Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), Google's mobile operating system ** Bugdroid, a Google mascot sometimes referred to ...
, iOS or
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
. By default
OpenStreetMap OpenStreetMap (OSM) is a free, open geographic database updated and maintained by a community of volunteers via open collaboration. Contributors collect data from surveys, trace from aerial imagery and also import from other freely licensed ...
data for the road network and elevation data from the
Shuttle Radar Topography Mission The Shuttle Radar Topography Mission (SRTM) is an international research effort that obtained digital elevation models on a near-global scale from 56°S to 60°N, to generate the most complete high-resolution digital topographic database of Ear ...
is used. GraphHopper can be configured to use different algorithms such as
Dijkstra Dijkstra ( or ) is a Dutch family name of West Frisian origin. It most commonly refers to: * Edsger W. Dijkstra (1930–2002), Dutch computer scientist ** Named after him: Dijkstra's algorithm, Dijkstra Prize, Dijkstra–Scholten algorithm Dijks ...
, A* and its bidirectional versions. To make routing fast enough for long paths (continental size) and avoid heuristical approaches GraphHopper uses
contraction hierarchies In computer science, the method of contraction hierarchies is a speed-up technique for finding the shortest-path in a graph. The most intuitive applications are car-navigation systems: a user wants to drive from A to B using the quickest possibl ...
by default. In the Java Magazine from
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The wor ...
, the author, Peter Karich, describes the techniques necessary to make the system memory efficient and fast. Furthermore, GraphHopper is built on a large test suite including unit, integration and load tests. Version 1.0 was released in May 2020. 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. 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: * Track vehicles via map matching - i.e. 'snap' real world GPS points to digital road network * Assist
urban planning Urban planning, also known as town planning, city planning, regional planning, or rural planning, is a technical and political process that is focused on the development and design of land use and the built environment, including air, water ...
* Traffic simulation *
Isochrone Isochrone may refer to: * Stellar isochrone, the curve on the Hertzsprung–Russell diagram representing stars of the same age *Isochrone curve, the curve (a cycloid) for which objects starting at different points finish at the same time and point ...
calculation - i.e. determining the reachability for cars, pedestrians or bikes * Indoor routing like for warehouse optimizations or tradeshow planning * Eco-efficient routing *
Virtual reality Virtual reality (VR) is a simulated experience that employs pose tracking and 3D near-eye displays to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video games), e ...
games like Scotland Yard


Users

Notable users of GraphHopper are Rome2rio,
Deutsche Bahn The (; abbreviated as DB or DB AG) is the national railway company of Germany. Headquartered in the Bahntower in Berlin, it is a joint-stock company ( AG). The Federal Republic of Germany is its single shareholder. describes itself as the ...
,
Komoot Komoot is a mobile app for navigation and route planning. History Komoot was founded in 2010 and is based in Germany. The app was launched in 2013. Features The app has both free and paid-for features. It can create routes for various activi ...
, Gnome and Flixbus. Since February 2015, GraphHopper has been one of the APIs powering routing on the official
OpenStreetMap OpenStreetMap (OSM) is a free, open geographic database updated and maintained by a community of volunteers via open collaboration. Contributors collect data from surveys, trace from aerial imagery and also import from other freely licensed ...
website and version 0.4 was released shortly afterwards in March 2015.


Company

In January 2016, the developers of GraphHopper and jsprit formed the company GraphHopper GmbH.


GraphHopper Directions API

The ''GraphHopper Directions API'' is an offering of the GraphHopper GmbH and includes a Geocoding API, a Distance Matrix API, a Map Matching API, an Isochrone API and a Route Optimization API besides the Routing API


See also

*
Open Source Routing Machine The Open Source Routing Machine or OSRM is a C++ implementation of a high-performance routing engine for shortest paths in road networks. Licensed under the permissive 2-clause BSD license, OSRM is a free network service. OSRM supports Linux, FreeB ...


References

{{Reflist Java (programming language) 2015 software Route planning software