Bike route preferring the longer road route

In OpenStreetMap, I recently fixed a path problem near Abbey Road DLR station in London. There is a dual use bike/foot path along part of the track.

The GraphHopper(Bike) routing simply refuses to use this path.

If I flip it to use MapZen’s Bike routing, it works fine. GraphHopper(Foot) routing works fine here. Is there some reason GraphHopper won’t route bikes over this path and prefers the road?

I even made the path a bike path (with allowed foot traffic) as opposed to a foot path that allowed bike traffic.

I waited several days after making the change before posting this. The foot routing happened pretty quick. I’m not sure if the bike routing takes longer for some reason or what it’s update frequency is and how that gets included in OpenStreetMap.

I posted a question on the OpenStreetMap forum but no decent answer there:
https://forum.openstreetmap.org/viewtopic.php?pid=621477#p621477

I just wanted to make sure that there wasn’t a problem here or if I just need to wait even longer for this to come through.

1 Like

It shows the direct connection for me now. As far as I know Graphhopper creates the graph once every day based on the actual OSM data. The data gets actualised via diff updates between the weekly periods when no new full planet dump is created. I shortly checked the history, but I didn’t find any obvious reason why this should not have worked alreaedy 2 days ago.

We discovered problems with the diff updates in the recent past, so this might have been a new occurence.

Looks like this was a data update issue and is solved now (?)

I waited several days after making the change before posting this.

When exactly did you make the change?

The foot routing happened pretty quick. I’m not sure if the bike routing takes longer for some reason

No. The outdoor profiles all have the same frequency. Hmmh, strange.

@karusell You can observe the history of the way here: https://www.openstreetmap.org/way/456754801/history, see the details on the left.

Hmmh, but it should have worked already with bicycle=yes && highway=footway

way.setTag(“highway”, “footway”);
way.setTag(“bicycle”, “yes”);
assertTrue(encoder.acceptWay(way) > 0);