GraphHopper Routing Engine 0.13 Released

Previous Article

Today, we are proud to announce the release of GraphHopper 0.13. GraphHopper is an open source routing engine for roads and public transit, released under the Apache License 2.0. By default it uses OpenStreetMap and GTFS data and it can import other data sources. The demo is called GraphHopper Maps and shows most road routing features; other features like public transit, map matching, navigation and the isochrone calculation are not yet included in this demo. For a list of all features visit the Github repository.

Get the new version 0.13.0 and follow the installation instructions.

Important changes and new features:

  • Additional road data like the OSM highway tag (road_class), max_speed, road_access, tunnel/bridge (road_environment), surface, toll, track_type, max_length, max_width, max_height, max_weight can be stored in the graph. We call them “EncodedValue” and it is now easy via Java to add your own data or grab this from OSM via a “TagParser”. #1548
  • This additional road data can be displayed in the elevation widget if elevation is enabled. #1569
  • A new high precision isochrone endpoint was added. In fact it is a shortest path tree endpoint and does not return isochrones. The aim is to provide useful information for external tools like for R lang and PostGIS. Thanks @crazycapivara, @michaz and @Komzpa for valuable discussion. #1577
  • The isochrone response can now be returned as GeoJSON #1651
  • GraphHopper can now serve vector tiles for debugging purposes (/mvt endpoint) and directly shows road names and some road data on “mouse over”. #1572
  • location index has now a query(BBox) method which e.g. allowed us to implement the /mvt endpoint and could be even used for offline maps. #1485
  • Many improvements and bug fixes regarding turn costs and edge based routing.
  • Elevation interpolation is now turned on by default and much faster. #1649
  • Snap prevention: with this new feature you avoid that start or end points “snap” to tunnels/ferries/bridges. #1644
  • Improved “point hints”: faster and better matches especially in the US
  • The storage size and memory usage are now a bit smaller and CH import time is faster #1719
  • Many more bug fixes like #1606, #1635, #1611, #1614, #1596, #1586.
  • See all closes issues and over 50 pull requests for 0.13.

Thanks to all contributors!

@easbar, @boldtrn, @Anvoker, @Nakaner, @devemux86, @michaz, @otbutz, @manueltimita, @karussell

Picture Gallery

Road data can be shown as path details:

Shows the new elevation widget of the GraphHopper Maps UI and the path details “road_class”. See here for a live example and switch the path details with the small triangle in the bottom right corner of the widget. See this blog post for more information.

New shortest path tree endpoint:
Country-sized shortest path trees with the new /spt endpoint
Shortest path trees from /spt endpoint fetched from an R Interface to

New vector tile endpoint:

GraphHopper serves vector tiles and is compatible with the spec. For different zoom levels the endpoint returns different details based on the road_class (OSM highway tag). Note, that in the screenshots still a background layer is used that draws city and road names.