logo separator

[mkgmap-dev] problem with highway=cycleway in default style

From Marko Mäkelä marko.makela at iki.fi on Wed Jul 6 08:15:19 BST 2011

Hi Ben,

On Tue, Jul 05, 2011 at 12:34:20PM +0200, Ben Konrath wrote:
>I've found a problem with the highway=cycleway in the default style.
>The current setting from the default lines file is this:
>
>highway=cycleway {add access = no; add bicycle = yes; add foot = yes}
>[0x07 road_class=0 road_speed=1 resolution 23]
>
>One small problem is that the cycleway should probably be listed as a
>path or trail (0x16) instead of alley (0x07).

I changed this some months ago. The idea was to distinguish 'proper' 
cycleways from footways or forest paths that are not necessarily useable 
by all types of bicycles. All these used to be 0x16.

>The bigger issue, however, is that the extra tags which are added to 
>highway=cycleway makes cycleways routable by car under certain 
>circumstances. The problem comes from the way that the access tag is 
>used in the style file.

There have been examples where Garmin routing will use a way that is 
prohibited from motor vehicles, for the last leg of the route. Like 
someone pointed out recently, their idea could have been that you would 
exit the vehicle and have walking directions to the destination.

>The access tag in OSM describes legal access to a given highway:
>
>http://wiki.openstreetmap.org/wiki/Key:access
>
>A tag with 'access = no' means that the general public is not allowed 
>to go on that particular highway. Likewise, 'access = yes' means that 
>the general public is allowed to use that highway. And then there's 
>specific types of access in between yes and no for specific types of 
>traffic as listed on tag's wiki page.
>
>In the default style of mkgmap, it seems that the access tag is used to 
>represent whether or not a particular highway type is routable by motor 
>vehicle.

I have not looked at this code recently, so my understanding may be wrong.

My interpretation (and understanding of mkgmap's interpretation) of the 
access tags is that access=* gives the 'default' rights of using the way 
and it can be overridden by more specific tags. For example, a cycleway 
that also doubles as a driveway to some properties next to a 
highway=secondary could be tagged highway=path, access=destination, 
foot=designated, bicycle=designated, segregated=no. Similarly, a 
highway=residential that is not allowed for through traffic by motor 
vehicles, could be tagged access=destination, foot=yes, bicycle=yes.

>If you have have cycyleway that is tagged with 'access = yes' - meaning 
>the public is allowed use that cycleway - the 'add access = no' rule 
>will not overwrite the access rule in the OSM data and the cycleway 
>will be routable by motor vehicle.

Isn't it a bit redundant to add access=yes to ways? Usually, you would 
add access restrictions. I would say that this is a problem in the map 
data.

>I think it would be better to use the motor_vehicle tag to determine if 
>a cycleway is routable by car.

To my understanding, mkgmap does not observe the motor_vehicle tag at 
all. It obeys motorcar and motorcycle. I do not know what happens if 
they contradict. As far as I understand, the Garmin map format cannot 
distinguish motorcar and motorcycle.

Is it correct to use motor_vehicle instead of the more specific motorcar 
or motorcycle? A snowmobile is also a motor vehicle, but (depending on 
legislation) snowmobiles are not necessarily allowed on ways that are 
allowed for cars and motorcycles.

Come to think of it, for simplicity access=* should probably cover 
'normal' vehicles. Motorized terrain vehicles should rely on specific 
tags, such as snowmobile=yes.

>We'd still have to support the OSM access tag somehow. I did a quick 
>grep through the mkgmap source and it seems that there isn't support of 
>the motor_vehicle tag. I would like to make a patch to address this 
>issue but I have a couple of questions first. Is the access tag used to 
>describe motor vehicle access in mkgmap? Does the garmin format support 
>the idea of public / private access separately from motor vehicle 
>access?

My understanding is that Garmin supports a few modes of transportation: 
foot, bicycle, motorcycle/motorcar, emergency, and possibly some others.  
Each mode has access bits, something like yes/destination/no.

Best regards,

	Marko



More information about the mkgmap-dev mailing list