Sunday, 13 July 2014

report #4: GraphHopper alternatives working, now working on maps


It passed another month since my last post. The alternatives algorithm on GraphHopper is now finally working and now I'm back working on Gnome Maps.
In the meanwhile at my university, I attended the International Summer School on Software Engineering (more info here). The school this year was really interesting and I had some really impressive lectures that opened my mind.

GraphHopper alternatives algorithm status

As I wrote in my last post I had to consider similarity and optimality for selecting good alternatives.
I implemented both the measures and now the algorithm avoids to select a path that is too similar to another one or it's too far from the optimal one.
Then I started writing an optimized version of the algorithm for having better performance (although the old one was not so poor).
Now when calculating the best path the algorithm search also the best plateaux (more info about the algo here). The regression testing went fine and I also discovered that the code would working fine when Contraction Hierarchies is activated!
Peter Karich gave me another hint for making the algorithm even more faster, this is pure research on routing algorithms and it could have really interesting results. Sadly, there isn't a lot of time for doing it inside this GSOC, so I'm planning to do it as a future work.

Gnome maps via points handling status

Some weeks ago, I made a video of Gnome Maps working well with via points. That code seems really good to me, but I didn't considered the sidebar (was not finished yet).
When sidebar was pushed on repo, I realize that I had to make a good number of fix. Now it works and soon I will attach a new patch to the Bugzilla issue (here).

TODO GraphHopper

  1. Change alternatives goodness function. (done!)
  2. Optimize code. (done!)
  3. Test activating Contraction Hierarchies. (done!)
  4. Test on real environments.

TODO Gnome Maps

  1. Fix the sidebar for working with via points(review should come soon)
  2. Clicking on an instruction should show the point in the map.
  3. Adding a plus button to add via points and a minus buttons for removing them.
  4. Make possible to reorder via points.
  5. Add some markers for each via points. (partially done)
  6. Make via points draggable. (partially done)
  7. Make possible to add via points by clicking on the route. (partially done)

By the way -13 to GUADEC !

No comments:

Post a Comment