logo separator

[mkgmap-dev] roadspeed in default style

From Andrzej Popowski popej at poczta.onet.pl on Sun Mar 8 15:43:20 GMT 2015

Hi,

one of threads reminded me about "roadspeed" include in default style.

As far as I understand, Garmin maps made by mkgmap contain average road 
speed, which can be used for calculation of arrival time.

Include "roadspeed" deals with speed limits and convert them into value, 
which is then treated as average speed. In my opinion this is wrong 
assumption. Better average speed could be estimated from road type. 
Speed limit should be used only to limit average speed, for example on 
good roads in urban area. I'm using this approach in my maps. I have 
attached my alternative for roadspeed.

-- 
Best regards,
Andrzej
-------------- next part --------------
#
# Sets the maximum road speed based on the maxspeed tag.
# In case mkgmap:road-speed-max is set the element road_speed is limited.
#
# road_speed classification:
# road_speed | highest speed
#  7         | No speed limit
#  6         | 70 mph / 110 km/h
#  5         | 60 mph /  90 km/h
#  4         | 50 mph /  80 km/h
#  3         | 35 mph /  60 km/h
#  2         | 25 mph /  40 km/h
#  1         | 15 mph /  20 km/h
#  0         |  3 mph /   5 km/h
#

maxspeed=none      { set maxspeed=140 }
maxspeed=signals   { delete maxspeed }
maxspeed=walk      { set maxspeed=10 }

maxspeed~'.*:urban'    { set maxspeed=50 }
maxspeed~'.*:rural'    { set maxspeed=90 }
maxspeed~'.*:trunk'    { set maxspeed=100 }
maxspeed~'.*:motorway' { set maxspeed=130 }

maxspeed=AT:rural      { set maxspeed=100 }
maxspeed=DE:rural      { set maxspeed=100 }

maxspeed=RU:urban      { set maxspeed=60 }
maxspeed=UA:urban      { set maxspeed=60 }

maxspeed=* & maxspeedkmh()!=* { delete maxspeed }

maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <=  10 { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 0 }
maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <=  20 { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 1 }
maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <=  40 { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 2 }
maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <=  60 { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 3 }
maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <=  80 { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 4 }
maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 100 { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 5 }
maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 120 { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 6 }
maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() != *   { set mkgmap:road-speed='-0'; set mkgmap:road-speed-max = 7 }


More information about the mkgmap-dev mailing list