[GraphHopper] Bike way type conversion

Peter graphhopper at gmx.de
Wed Jun 3 07:12:41 UTC 2015


Hi Stuart,

for me this looks also okay. So what changed is e.g. isPushingSection &&
bicycle=designated => before CYCLEWAY, now OTHER_SMALL_WAY?

Maybe just create a pull request and we'll see e.g. what the tests (and
ratrun) says ;)

Regards,
Peter

On 02.06.2015 17:29, Stuart Adam wrote:
> Hello ratrun
>
> I can understand the usage of a small amount of flags however I would
> have thought logic more akin to the following.  This would only
> highlight something as a cycleway if it is intentionally marked as
> such rather than merely having a right of way.
>
> Edited in the email so apologies for any formatting issues.
>
> if (way.hasTag("bicycle", intendedValues))
> {
> if(isPushingSection)
> wayType = WayType.OTHER_SMALL_WAY
> else if (“cycleway”.equals(highway)) 
> wayType = WayType.CYCLEWAY;
> else if (way.hasTag(“bicycle”,”designated) 
>     wayType = WayType.CYCLEWAY;
>     else if (roadValues.contains(highway))
> wayType = WayType.ROAD;
>
> Any thoughts?
>
> Sincerely
> Stuart Adam
>
>
> On 2 Jun 2015, at 16:10, ratrun <ratrun at gmx.at <mailto:ratrun at gmx.at>>
> wrote:
>
>> Hello Stuart,
>>
>> the waytype information is just used for the routing instructions
>> such that a cycle rider gets a better idea what kind of way to look
>> at. As the bits are limited and a more exact infomration is
>> superflous for that purpose, I intentionally mangled all kind of ways
>> somehow marked for bicycle usage together into "CYCLEWAY".
>>
>> I also had some code which produced a statistic of the tour. It
>> calcualted the distances per each paved and unpaved waytype. This
>> code didn't make it into the master, although I think that it is an
>> important feature for bicycle routing. The problem was that the code
>> was too bicycle specific and required changes in all other flag
>> encoders as well - see issue #209.
>>
>> ratrun
>>
>> Am 02.06.2015 um 16:17 schrieb Stuart Adam:
>>> Hello all
>>>
>>> I am starting to look at bike routing and I note in the
>>> handleBikeRelated method in BikeCommonFlagEncoder the following
>>> logic applies.
>>>
>>>  if (way.hasTag("bicycle", intendedValues))
>>>         {
>>>             if (isPusingSection && !way.hasTag("bicycle", "designated"))
>>>                 wayType = WayType.OTHER_SMALL_WAY;
>>>             else
>>>                 wayType = WayType.CYCLEWAY;
>>>         } else if ("cycleway".equals(highway))
>>>             wayType = WayType.CYCLEWAY;
>>>         else if (roadValues.contains(highway))
>>>             wayType = WayType.ROAD;
>>>
>>>
>>> This does not seem correct to me as from my understanding this is
>>> taking the fact that a way has been marked as having a right of way
>>> for bicycles (but not a pushing section) then it is a full blown
>>> cyclepath.  In my mind at least cycleway implies dedicated and
>>> marked (normally with differently coloured tarmac) sections which is
>>> a much stronger indication for cycle use than just a bicycle right
>>> of way.
>>>
>>>
>>> Am I correct and if so should this be changed or was there a reason
>>> for this decision in Graphhopper.
>>>
>>> Sincerely
>>> Stuart Adam

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


More information about the GraphHopper mailing list