logo separator

[PATCH v1] Re: [mkgmap-dev] maxspeed tag vs road_speed preset

From Marco Certelli marco_certelli at yahoo.it on Thu May 21 17:09:43 BST 2009

Hi Greg Troxel <gdt at ir.bbn.com>

1st: I do not know very well how to keep the answer in the same thread... anyway,

I do not think there is a simple way to hard-code a proper speed of a road that is right for all cases (expecially if it is indifferentiated for all highway types).

I can speed on a city road at 60 km/h during night and 15 km/h during day (yes, 15 km/h is the average speed in Rome, as measured by the public transportation company). Maybe only real time traffic information systems can work well in such messy cases.

And of course I can just imagine the endless discussions for each road about the right value to give to an "average_speed" tag... Much better would be to automatically calculate an average_speed tag by using all information the OSM DB already have: the highway type, the maxspeed tag, the number of crosses per kilometer, the curves (radius and frequency) and also the available GPX real speed data.

For now I think much simpler: a tertiary road in the countryside, maybe full of curves, slopes, narrow points, you might have a "law limit" of 90 but you will never go to 90. I'd say 60 average. In the same countryside, a primary road is wide, straight, has precedence over smaller roads, but the limit is still 90. I'd say you go 90 average. Back to the city: both tertiary and primary share a maxspeed of 50, then you go maybe at 40 on tertiary and only slighlly faster on primary.

highway=tertiary & maxspeed>60 [... road_speed=3 ...]
highway=tertiary & maxspeed<61 [... road_speed=2 ...]

highway=primary & maxspeed>80 [... road_speed=5 ...]
highway=primary & maxspeed>60 [... road_speed=4 ...]
highway=primary & maxspeed<61 [... road_speed=3 ...]

If you want I can post my style file (I'm still workin on it...).

I think this speed differentiation would help the router to guess the right way and the right ETA both inside the city and outside.

In Java, someone smarter could count crosses per kilometer or curve radius. Maybe next year...

Ciao, Marco.


      



More information about the mkgmap-dev mailing list