Don’t hesitate to contact us:
Forum: discuss.graphhopper.com
Email: support@graphhopper.com
Today the GraphHopper routing engine turned 8 years. It has now over 2500 stars at GitHub and together we pushed over 4300 commits with contributions from over 80 contributors – thanks a lot! See here for the first commits and read the blog post about the new release 1.0.
Additionally we invested into our other open source project jsprit. jsprit was created in 2013 from Stefan and is a toolkit for solving rich traveling salesman and vehicle routing problems. It has now over 1000 stars and more than 2000 commits. Together with the GraphHopper routing engine the jsprit toolkit creates the foundation for the GraphHopper Route Optimization API, our commercial service to solve vehicle routing problems. This commercial part is mentioned here as it is important for the success, quality and sustainability of our open source projects.
What began as a solo development expanded to team work: multiple core developers and many contributors. 3 years ago I already wrote a small retrospect and let’s expand on it a bit. It was and is an impressive journey for me and I still enjoy it every day and I think this applies to the whole GraphHopper team.
In the beginning I played around with Dijkstra and OpenStreetMap data and wanted to have it in Java as I wanted to leave my C/C++ experience behind me. Doing this in Java was the first challenge to solve.
It took a few months and over 1 year and then I released version 0.1.
Later NopMap contributed elevation data improvements and other vehicle profiles, so not only car worked, but also routing for horses. Other profiles like foot and bike were added. Many bike profile improvements came and come from ratrun. With this help the new biking feature for the Directions API was launched even a bit earlier than Google Maps was able to provide directions for bikes in Germany & France. Of course we used and still use OpenStreetMap data and that is the reason we are still ahead of many others (:proud_smiley).
For several years the routing engine did not support turn restrictions. And even after this big feature was contributed from Karl, it was still not available for the so called speed-mode (Contraction Hierarchies). It is incredible hard to implement turn cost support for the speed-mode with a ‘normal’ “node-based” graph that we are using, i.e. junctions are nodes and the connections are the edges. And then luckily Andi was able to implement this. See this PR and the 0.12 release announcement for more details on this journey.
Michael and Stefan Holder implemented a fast and high quality Map Matching after I created an initial “very heuristic” version.
Michael also implemented the public transit module.
The Isochrone module, first a commercial feature, later open source, was created from Michael and me.
In 2018 we introduced a fully open source navigation feature for Android, including a demo app, forked from Mapbox and mainly developed from Robin (kurviger)
Furthermore Robin improved the turn instructions, implemented round tours, the motorcycle vehicle profile and many more things.
Over the years we got 43 translations for the turn instructions – special thanks goes to Manfred and his team!
The UI was initially developed from me and was improved from others like fbonzon (Bikewithme) and Andi.
There is now even a GraphHopper fork that does routing on rails.
The new 1.0 release will contain many improvements regarding elevation (from Michael Barry) and improvements useful for e.g. truck routing developed (from otbutz).
An exciting new feature for the 1.0 release will be a highly configurable routing.
Over the years our open source work was supported from Komoot, Deutsche Bahn, Talent Systems, GPSies, Geofabrik, curbside, Falk, BMW Car IT, Sidekix and kurviger. And last but not least from the GraphHopper GmbH. Thanks a lot!
Have a look into the older release announcements with many more unnamed contributions like from @jansoe, @clns or @devemux86: