Bicycle CHs for ferries and without?

Hi, I would like to have two routing profiles (using CHs), one for bicycle routing with ferries and one without.
Instead of having two CHs, would it be possible to store the ferry information also in the Shortcuts and exclude them in a custom weighting? I know that it might have poorer performance than having a dedicated CHs graph but I wonder if the space/performance tradeoff might be worth it. Or do you know another way to exclude certain edges in CHs routing?


In CH you cannot do this without creating one CH profile per configuration. As the shortcuts will be created depending on this.

But you could run none CH algorithms too, so e.g. one CH profile with ferry and run without ferry without CH.

I know that it isn’t possible at the moment. But would it be theoretically possible to route on a subset of CH’s shortcuts? Or where would it break?

Hmmh, the problem is correctness but you could indeed start with the profile without ferry and then it should be possible to route on this CH graph with a weighting where you enable the ferries. (This will be slower compared to a fully contracted with ferry CH profile, but probably not much). But you cannot do the opposite and also other problems could occur, not yet thought this through nor implemented this trick :slight_smile:

Would be really interesting if you try this and e.g. try with some random test routes on both weightings with the single CH profile to compare correctness with two CH profiles. As we could then implement other stuff without much RAM overhead like without toll or without highways.