What would it take to support tiled routing graphs?
ellenhp opened this issue · 3 comments
Hey! I'm the maintainer of Headway, a self-hostable maps stack. I'm thinking about taking the project in a direction that would allow instances to link together in a federated network that could grow to cover the planet. Doing so presents a number of challenges though. From the routing side of things, an end-user can't simply send a routing query including route endpoints to an untrusted server, because of the privacy implications. Nor can it download a routing graph for the entire planet. Valhalla handles this by dividing up the routing graph into tiles. Do you know if an approach like that could work with fast_paths? If so, what would need to change?
Compiling Valhalla to webassembly seems extremely difficult, and I'd like to evaluate building turn-by-turn on top of fast_paths instead. I'm not sure which would end up being more difficult since both of these ideas sound ridiculously complex, but this option involves less CMake at least and I want to explore it a bit.
After reading through some of the valhalla source code I've convinced myself I don't want to try and build this from scratch. Still puzzled as to how best to do offline routing for web clients.
I actually had a breakthrough with Valhalla and I think I will be able to get it to build, so closing this for now. I think it's probably best that I don't try to build any of these pieces from scratch, because whatever I can throw together by myself will be way worse than what's already out there. :)
👍 For a tiled approach I think Valhalla should be a good choice.