RoutingKit / RoutingKit

RoutingKit is a C++ library that provides advanced route planning functionality.
BSD 2-Clause "Simplified" License
369 stars 118 forks source link

One-to-all and many-to-all? #93

Open mjjbell opened 3 years ago

mjjbell commented 3 years ago

Firstly, thanks for writing this library, it's a great tool.

I've been using RoutingKit for a use-case to generate isochrones from single or multiple sources.

Can you see value in extending the supported CH searches to one-to-all and many-to-all?

I couldn't see any explicit mention of it in the repo, but it looks like one-to-many CH searches are using RPHAST, so adding PHAST-style searches to all nodes won't require any structural changes.

In terms of API change, it would be something like calling run() after only setting sources or targets, and for that to imply searches to all nodes.

The many-to-all search can be limited to finding the shortest distance from any source, so it would adhere to the principle of not requiring more memory than a one-to-one query.

Interested to know your thoughts.