Skip to content

Latest commit

 

History

History
86 lines (55 loc) · 4.78 KB

index.md

File metadata and controls

86 lines (55 loc) · 4.78 KB

GraphHopper Documentation

First Steps

Try out our live demo called GraphHopper Maps

GraphHopper Maps

The Readme lists all features or this list of slides. See users of GraphHopper and let us know your application!

Community

For all questions regarding the GraphHopper routing engine please use our forum. For bugs see our contribute section below.


Installation

Install the web demo 'GraphHopper Maps' with this user installation guide on your machine. This will also install a web API that can be used in many programming languages.

  • Routing API: Documentation of the Web API to communicate with any GraphHopper server via http.
  • Deployment Guide: Details about deploying GraphHopper
  • There are official API clients in Java and JavaScript.

Configuration

You can configure several aspects either programmatically or just via a configuration. The configuration of routing profiles is documented here. The elevation configuration is separately documented here.


Installation For Developers

The quickstart is an introduction for developers. Explains git checkout, IDE setup and commands for setting up a GraphHopper server.

Find all changes in previous and current versions in the changelogs.

Contribute

Read here on how to contribute as a developer and translator.

Technical

Various topics are explained in more detail separately:

  • Technical overview: Technical details about how GraphHopper its calculations are working.
  • Simple routing: Tutorial how to integrate GraphHopper in your Java application (or pick any JVM language)
  • Create custom weighting: Documentation about how to create a custom weighting class to influence the track calculation.
  • Import GTFS: Simple steps to get GTFS import and routing done.
  • LocationIndex: Code about how to get the location index for getting i.e. the nearest edge.
  • Hybrid Mode: Details about speeding up the route calculation via A* and landmarks.
  • Speed Mode: Details about speeding up the route calculations via Contraction Hierarchies.
  • Low level API: Instructions how to use GraphHopper as a Java library.
  • Create new FlagEncoder: Documentation to create new routing profiles to influence which ways to favor and how the track-time is calculated.
  • Spatial Rules: Instruction on how to use and create new SpatialRules. SpatialRules are used to enforce country-specific routing rules.
  • Turn Restrictions: Details on how to enable and use turn restrictions.
  • Isochrone generation in Java: Instruction on how to create isochrones using the low-level Java API.
  • Postgis query script

Other links

Android & iOS

The Android demo, that shows how to use GraphHopper for offline routing on Android, was available until GraphHopper 1.0.

There is a GraphHopper fork for iOS that allows to do offline routing on iOS. See the Instructions on how to setup this here including a sample application. See the necessary changes for modern iOS and GraphHopper 1.0 in this pull request.

Windows

Documentation about how to get an GraphHopper instance running on windows via cygwin is available here.

Eclipse

Setup in IntelliJ and NetBeans is just via open project. See this document to set up GraphHopper in Eclipse with maven.