The latest release of the GraphHopper routing engine is a special one. The routing engine is no longer specific to road routing only and supports public transit routing which makes the routing heavily time dependent and much more complex. The development and integration effort was huge, nearly 9 months ago we started with this, and this work is still ongoing and especially performance improvements are on the agenda for the next release and we plan improvements regarding time dependent routing in general.
Due to our increased manpower we were also able to push many bigger features at the same time. E.g. in the below screenshot you see our new enhance Android demo which runs maps and routing completely offline, thanks to Emux. The maps can now rotate and zoom, and everything is faster.
Here is an excerpt of over 55 fixed issues and over 85 merged pull requests:
- Support for public transit, #1018. Import GTFS files, considers earliest arrival, transfers, routing combined with OSM and much more
- A new “hybrid mode” which offers very fast routing queries with nearly the same flexibility of the flexible mode including support for turn costs/restrictions, #780. A car profile is now finally on osm.org
- A new graph change API to change road speed and access properties, #845. Can be applied before preprocessing or per-request.
- With an alternative shape file importer, which you can use to built your own custom, proprietary data format import methods without an external tool chain, #874.
- Block area per request, #890
- Improved instructions, #1031
- The DataFlagEncoder supports considering vehicle height, width and weight, #936
- New point hint feature improves ‘snapping’ of geocoding, #893
- Replace the json.org dependency, which had an unclear ‘public domain’ license, with jackson, #1052
- Max point distance limits, #872
- SpatialRules make it possible to implement country specific road properties, #926
- The Android demo now comes with the ‘resurrected’ VTM offline vector maps library, which does not only look impressive but also has faster rendering, #850
- Removed support for war deployment as it was already half broken, #297
- Runs now on JDK9 too, #806
- Comes with a dockerfile, #849
- … and many more bug fixes