Skip to content

tiangles/graphhopper

 
 

Repository files navigation

GraphHopper Route Planner

Build Status

GraphHopper is a fast and memory efficient Java road routing engine released under Apache License 2.0. Per default it uses OpenStreetMap data but can import other data sources.

GraphHopper for the Web

See GraphHopper in action on GraphHopper Maps

GraphHopper Maps

GraphHopper Maps uses the Directions API for Business under the hood, which provides a Routing API via GraphHopper, a Route Optimization API via jsprit, a fast Matrix API and an address search via Photon. Additionally the map tiles from various providers are used where the default is Omniscale, and all is available for free, via encrypted connections and from German servers for a nice and private route planning experience!

GraphHopper for Mobile

There are subprojects to make GraphHopper working offline on Android and iOS

Get Started

Read through our Documentation (0.6, unstable), ask questions on Stackoverflow and sign up to the discussion.

Contribute

Read through how to contribute like finding and fixing bugs and improving our documentation or translations!

Features

  • Written in Java
  • Open Source
  • Memory efficient and fast
  • Highly customizable
  • Works on the desktop, as a web service and offline on Android or iOS
  • Large test suite

Overview

GraphHopper supports several algorithms like Dijkstra and A* and its bidirectional variants. Furthermore it allows you to use Contraction Hierarchies (CH) very easily, we call this speed mode and in contrast to the speed mode we call everything without CH the flexibility mode. BTW: This does not mean that the flexibility mode is slow.

The speed mode comes with much faster and lightweight (less RAM) responses and it does not use heuristics. The downsides are that the speed mode allows only a pre-defined vehicle profile and requires a time consuming and resource intense preparation. And implementing certain features are not possible or very complex compared to the flexibility mode. But since 0.4 you can use both modes at the same time since. See here for more details.

Here is a list of the more detailed features including a link to the documentation:

About

An open source routing library and server using OpenStreetMap. #route #planner

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 93.5%
  • JavaScript 5.0%
  • Other 1.5%