[GraphHopper] Why does GraphHopper choose street over path ?

ratrun ratrun at gmx.at
Sat May 16 18:52:33 UTC 2015


Hello Morten,

Thanks for explaining the situation in low populated areas. Please don't 
start tagging for the router. There are lots of different router 
implementations and I hope that we will improve our routing results by 
fine tuning of the algorithm. Our implementation is far away from beeing 
perfect. I personally avoid cycling on footways - it is too dangerous in 
Vienna with all the pedestrians and dogs on lines crossing the footways. 
Roads and designated cycleways are safer. I assume that this is similar 
in every city. Therefore the code looks as it currently is. Please note 
that a present surface tag overwrites the assumed speed. E.g. with a 
"surface=paved" we would assume 18km/h. This is definitly too much for a 
footway. But the surface tag is very important for cycling, so if you 
want to improve routing results for cycling I would recommed to tag it. 
We also currently do not change the preference in case that a tag 
"bicycle=yes" is present. For the tag "bicycle=designated" we change the 
preference to PREFER (which is the lowest value). Such tags don't 
influence the assumed speed on purpose, because the code would get very 
difficult to understand, if we did so.

I see four solutions:
1) See the new issue #412 "Improve bicycle routing on footways " on [1]
2) Issue #175 "Country-specific speed limits" [2]  - with this feature 
it would be possible to  define a higher speed limit on footways for 
less densly populated countries.
3) The third and most flexible possiblity is descibed in issue #193 
"Make encoders/profiles available to a scripting language" [3]. Anyhow, 
from the description of this issue it is not clear to me if this feature 
will become available to end-users. I don't thinks so. But eventually it 
provides the basis for end-user features in the future.
4) Someone adds more hard-coded cycle encoders for the suggested 
profiles (E.g Safe/Commute/Touristic). This is not very hard. But in 
this case you need to find somebody who hosts this profile on a webpage 
or include it in an application.

regards,

ratrun

[1] https://github.com/graphhopper/graphhopper/issues/412
[2] https://github.com/graphhopper/graphhopper/issues/175
[3] https://github.com/graphhopper/graphhopper/issues/193


Am 16.05.2015 um 17:56 schrieb Morten Lange:
> Hi ratrun,
>
> Thanks, that certainly explains it. The assumption of 6 km does not 
> hold in this instance, and almost nowhere in Iceland.  (Sidewalks / 
> pavement is a very different issue. In Iceland and in Norway people 
> may cycle on sidewalks, but should be very, very considerate towards 
> pedestrians.)  Not many paths here in Iceland are ever crowded, and 
> then only 30 days a year or so.
> The roads can be the wrong mix of crowded and fast traffic.   Even 
> when paths are crowded, most people except the ones that cycle really 
> fast, will refrain from cycling on roads with speeds over 30. Of 
> course there are exceptions. But those people / those setting out to 
> cycle in that style / modus will probably find their way regardless. 
> The routing is more needed by the timid ones, I think.   Perhaps there 
> could be two cycling profiles : A. Young/old/timid/leisurely  B. 
> experienced/fast   I know bicycle infrastructure planners should take 
> at least two brackets / main styles into account.
> Other routing offers have used "safer" / "safest"  ( Ridethecity I 
> think) which gives one the impression there is something inherently 
> dangerous in cycling.
>
> But if I wanted to tag the shared path to indicate a higher speed, say 
> 12 or 20 km/h,  how would I do that ? bicycle=designated ?   The path 
> is actually marked with a sign showing both pedestrians and cyclists 
> and they used to divide it ( giving cyclists a whole meter of width 
> ;-)   )
>
> .....
> Perhaps calling it a path would solve the problem (highway=path, 
> bicycle=yes, foot=yes ) because then the speed  for calculating is 18 ?
>
> As per this :
> setHighwaySpeed("living_street", 6);
> setHighwaySpeed("cycleway", 18);
> setHighwaySpeed("path", 18);
> setHighwaySpeed("footway", 6);
>
> -- 
> Regards / Kveðja / Hilsen
> Morten Lange, Reykjavík
>
>
>
>     ------------------------------------------------------------------------
>     *From:* ratrun <ratrun at gmx.at>
>     *To:* Morten Lange <morten7an at yahoo.com>; GraphHopper Java routing
>     engine <graphhopper at openstreetmap.org>
>     *Sent:* Thursday, 14 May 2015, 6:06
>     *Subject:* Re: [GraphHopper] Why does GraphHopper choose street
>     over path ?
>
>     Hello,
>
>     This is because the way
>     https://www.openstreetmap.org/way/329593444 is tagged as footway
>     with bicycles=yes. Here we assume 6km/h. The preference is not
>     changed, as it is not part of a cycle relation. Such ways could be
>     crowded with pedestrians and dogs, therefore I believe the 6km/h
>     are ok considering the values for other way types. The cyclist is
>     just allowed here, but mainly the way is made for pedestrians.
>     Graphhopper currently does not take the set width tag, which is
>     set to 3.0 meters in your example,  into account. The choosen
>     scondary has a speed limit of 50km/h (which is not too fast for my
>     feeling) and therefore we assume 18km/h without changing the
>     preference down. As it is not much longer, graphhopper chooses it.
>     The secondary is not tagged with lanes, but even if there would be
>     multiple lanes there, graphhopper currently does not evaluate such
>     information.
>
>     Please note that graphhopper would set the preference of the
>     secondary down if the maxspeed on the secondary was greater than
>     80. This probobly should be better changed to "greater or equal"
>     80km or even 70 km/h.
>     @Peter: Can you change the line
>     https://github.com/graphhopper/graphhopper/blob/master/core/src/main/java/com/graphhopper/routing/util/BikeCommonFlagEncoder.java#L495
>     ?
>
>     ratrun
>
>
>
>     Am 14.05.2015 um 02:37 schrieb Morten Lange:
>>
>>
>>     Hello
>>
>>     I have a an example illustrating a problem I have often encountered.
>>     Can anyone explain why GarpHopper chooses the road ( multilane
>>     fast traffic )  rather  than a shared path when routing for
>>     cycling ?
>>     GH does not refuse to route bicycles along the path, but seems to
>>     judge" the road as faster ?
>>
>>
>>     OpenStreetMap
>>     <https://www.openstreetmap.org/directions?engine=graphhopper_bicycle&route=64.13323%2C-21.86841%3B64.13484%2C-21.87089#map=17/64.13394/-21.86961>
>>     	
>>     image
>>     <https://www.openstreetmap.org/directions?engine=graphhopper_bicycle&route=64.13323%2C-21.86841%3B64.13484%2C-21.87089#map=17/64.13394/-21.86961>
>>     	
>>     	
>>     	
>>     	
>>     	
>>     OpenStreetMap
>>     <https://www.openstreetmap.org/directions?engine=graphhopper_bicycle&route=64.13323%2C-21.86841%3B64.13484%2C-21.87089#map=17/64.13394/-21.86961>
>>
>>     OpenStreetMap is the free wiki world map.
>>
>>     View on www.openstreetmap.org
>>     <https://www.openstreetmap.org/directions?engine=graphhopper_bicycle&route=64.13323%2C-21.86841%3B64.13484%2C-21.87089#map=17/64.13394/-21.86961>
>>     	
>>     Preview by Yahoo
>>
>>     -- 
>>     Regards / Kveðja / Hilsen
>>     Morten Lange, Reykjavík
>>
>>
>>     _______________________________________________
>>     GraphHopper mailing list
>>     GraphHopper at openstreetmap.org  <mailto:GraphHopper at openstreetmap.org>
>>     https://lists.openstreetmap.org/listinfo/graphhopper
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/graphhopper/attachments/20150516/cf210294/attachment.html>


More information about the GraphHopper mailing list