Road types (Navigator 12 vs. OSM)
  • Hi!
    Road types in NavigatorFREE seem to me quite strange and incompatible wit OSM highway tags.
    Is there any chance for a change
    (for example using Highway:International equivalence)? Correct definition of road types is important  for road restrictions and especially for correct estimate of arrival time...

    Present odd state (according to my experience, I may be wrong):
    • Navigator (EN):         Navigator (CS):           OSM:
    • Motorway                Dálnice                   motorway
    • Primary road            Silnice 1. třídy          trunk
    • Major road              Silnice 2. třídy          trunk_link
    • Secondary road          Okresní silnice           primary
    • Local connecting. r.    Silnice 3. třídy          secondary
    • Local road of high imp. Ulice hlavní              secondary_link
    • Local road              Ulice                     terciary
    • Small local road        Malé lokální silnice      residential, service, unclassified
    • Other road              Cesty a stezky            track, path, steps, cycleway ...
  • 31 Comments sorted by
  • No reply? Am I missing something?
    Anyway, for OSM mapers (at least) I prepared english and czech translation files with road types according to OSM habits. Hope it can help.
    image  image
  • person, who can make comment is on holiday, please be patient
  • Probably the topic is kind of "inconvenient" for the (two) MapFactor guys: In the past, there have been multiple requests dealing with the road types (cateogorization, layout, routing behaviour). Thus the issue is known, but either they don't want to or don't know how to change that. I suppose, it has something to do with the common software plattform that is shared with TomTom maps.

    But that's just a guess, maybe the MapFactor guys want to correct me ;-)
  • it is a very incorrect guess :-)
  • Thank you! I will be patient!
  • Coming from here I think we should discuss about road types, their meanings and restrictions here in general further. If I would get a translation between Navigator- and OSM-roadtypes I also would check German translations in settings. But we should wait until mdx is back again recovered from vacation.
  • I agree with hurdygurdyman (again :) ).

    I also want to refer to the topic "Time To Destination Algorithm".
    MapFactors calculations are way off, especially when a lot of motorway and trunks are in the calculation.
    If Tule's assumptions in post 1 are correct then that's also another reason to discuss the type of roads and to get a better estimated time for the route calculation.

    I personally use for car navigation the below (mine) speed settings for car as it gives much better results in Netherlands, Belgium, France and Germany compared to MapFactors (default MFNF) settings:

                     default MFNF          mine

    motorway       130    80    50       110    70    70
    primary         90    50    50        90    50    65
    major           85    50    50        80    50    60
    secondary       80    50    50        70    50    50
    local conn      70    50    50        60    50    50
    lcl rd oh imp   60    50    50        60    50    50
    local road      60    40    50        50    40    50

    There are however better settings if we had better road distinctions.
  • Now I saw that Martin is back and so I push this thread.
    The problem is, that in OSM the highway-value doesn't mean official road-classes but follows quality of roads. So it would be helpfull to know how highway=* is translated from OSM to Navigator free in settings. For example german translation has "Haupstraße" two times, what's irritating.
  • :) well, yes I am avoiding this topic ;). I think that wrote somewhere currently used conversions:
      dict = {
          'motorway': (0,130),
          'motorway_link': (0,110),
          'trunk': (1,110),
          'trunk_link': (2,90),
          'primary': (3,90),
          'primary_link': (3,80),
          'secondary': (4,70),
          'secondary_link': (5,60),
          'tertiary': (6,50),
          'tertiary_link': (6,40),
          'residential': (7,30),
          'unclassified': (7,30),
          'living_street': (7,20),
          'service': (7,30),
          'footway': (9,5),
    The number of road categories is very limited. Since Navigator 14 (Android version 1.2.x) it is possible to put more precise speed info per each link which will open way to "smarter algorithms"/conversion. OSM data are at the moment still converted into older format (and thus compatible with older applications).
    p.s. I plan to be on vacation again next week ...

  • Thanks Martin,

    now I can try to get catchy translations for German as my first Language. I think the first number in brackets means the position under 'Settings/Vehicle profiles/Car (or others)/Road restrictions' and I will follow this. So you have 11 categories.
    At a first glance I see some things to think about:
    I miss additional key-value motorroad=yes with special meanings according and 'unclassified' is more important than residential etc.because it's common in rural regions to connect settlements.

    And at last I think residential, service and living_street only should be used to route anywhere, if there is no other possibility to get to target. I had some odd routings in Crete in May with roads like these
    coming from West on the primary to the tertiary in Southeast.

    And now I invite everyone with experience in OSM to create common translations usable in Mapfactor Navigator free for highway-tags.Maybe this
    can be helpfull.

    And of course have a nice vacation again, Martin!
  • And at last I think residential, service and living_street only should
    be used to route anywhere, if there is no other possibility to get to
    That's exactly what has been mentioned here in this forum by other users (myself included) many times before. Hopefully, MapFactor will finally adopt it. :-w
  • Residential, service and living_street ARE the lowest possible category for cars:
     'residential': (7,30),
     'living_street': (7,20),
     'service': (7,30),
    7 = "Local road of minor importance" (presented as "Small local roads"), which are disabled in default Car profile, i.e. used only on departure/destination areas.

    8,9,10 are all "Other roads" not suitable for cars (single category for routing, different presentation in map).

    Regarding unclassified ... """Unclassified roads have lower importance in the road network than tertiary roads, and are not residential streets or agricultural tracks.""" ... so some integer number x, where 6 < x < 7 :( ... we can change it to 6 instead but I am not sure about sideeffects.
  • Hi mdx,
    you are right. Small local roads are disabled by default, but unfortunately I activated them anytime before without any knowledge about that they are used to get the target there also if they are disabled. Maybe according to level8-roads there should be a message like "Activating this let you route through residential, service, living streets etc. for transit. If you don't activate, they are only in use to reach your target there."
    For unclassified and motorway=yes I'm thinking about a solution and will send you an excel-sheet then by mail.
  • Hi mdx,
    it seems that road  structure needs rethinkink and complete reorganisation. Why trunk and secondary links have their own numbers (2, 5) while motorway and primary links have no special category?
  • I am not sure if I understand your comment correctly
    motorway = 0
    trunk = 1
    primary = 3

  • motorway, motorway link = 0
    trunk = 1
    trunk link =2 (why this link has its own category?)
    primary, primary link = 3
    secondary = 4
    secondary link =5 (why this link has its own category?)

  • Hi Tule,
    I approve your opinion. There is no need to differ *_link by number (but by speed). So we would get the chance to have some free numbers to differ lower street-categories in higher numbers. I'm thinking about, but didn't find the time within thelast days to structure it completely also with sencefull meanings for the categories to use in settings.
  • IMHO additional two OSM tags would/will be better:

    1/ Real Time Consumption, as mathematical formula, for each roads - collected from our GPS/NMEA/GPX.
    2/ Real Fuel Consumption, collected from OBD2 - fuel injectors timing, also as mat. formula.

    With this tags We do not need additional (and I think at all) category.
    O.K. , I know, now it is not possible.

    function f(VIN,t), where VIN is vehicle identification number, and -t- is hour of day /week /month /year.
  • Sorry for cross-posting but I just filed a feature request and while doing that I had something relevant for this topic as well.

    If you enable "small local roads" which I have enabled*, you also run the risk that Navigator will lead you over unpaved roads. Most drivers don't like this (me including of course).
    Could there be a setting in the vehicle profiles to "avoid unpaved roads", like currently for toll roads.
    (Again: sorry for cross posting)

    *:I have enabled the "Small local road" also in my Car profile with
    settings like 30/30/50, due to the fact that in the Netherlands many
    suburbs are now (almost) completely 30 km/h. Navigator has the tendency
    to go too early to a "bigger" road leading to sometimes real
    "sub-optimal" much longer routes. With my setting I get correct routes in suburbs)
  • I started nearly the same topic in the year 2011:

    10 categories should be enough, if they are used well (or better than now).

    And I agree with hdwolf, unpaved roads should be a separate category:


    In my opinion a somehow bigger change would be even better:
    Local Road = 'residential', 'unclassified', 'living_street', 'service', 'road'
    Small Local Road = 'track', 'unsurfaced', surface=unpaved,

    /end quote/
  • @riccie:
    putting "unclassified" together with "residential" etc. isn't a good idea, because
    "Unclassified is used for minor public roads typically at the lowest level of the interconnecting grid network."
    (see )
    And so its not a local road like the others.
  • I tried to prepare english localisation file with road types according to OSM habits  and czech localisation file according to local convention (both for MFF v. 14.1.2). Hope it can be useful for those, who are confused as me :).
    image  image
  • Well, thank you ... but ... the issue is that there are more map providers (primarily Tom Tom, but there are others too), so it is not OpenStreetMap only. One possibility is to have different names in OSM and in TT, which is not very nice as you can use the same "Car profile" in both, for example. A long time ago every our map provider had its own specific roads/POIs/etc and that was maintenance nightmare.

    On the other hand TomTom map source contains "Speed Profiles" which contain precise average speeds and how they statistically change over day and day in the week, and this is colliding with this "Car profile" dialog ... so we may have different version for different map sources anyway.

    I would try to "merge" all road categories and probably grey unused categories for given map provider (?) ... I am not sure yet.
  • Thank you for explanation of the problem!
    My fingers crossed you can find a good solution!
  • I know it is not a very nice solution, but can't you make an xml in the navigator data folder describing the road types with sections per map provider, e.g. internal app road = tomtom type and for OSM internal app road =OSM type.
    If you have a few sections in that xml, which can also be a "internal asset" part of the apk if you want to hide it, you simply translate upon program start and use only one type inside Navigator which means that you don't need to change your program code apart from the initial road type reading.

  • @MapFactor
    Could you please update us on this topic?
  • At the moment we are waiting for processing of October planet.osm - there are now logged new tags for road types/surface/smoothness ... based on the statistics we will add new routing flags ... and revise road types.
  • I'm testing routing of navigation MF Navigator Free, PC and Android version.
    Before them I reinspect all roads in OSM of my town.
    All roads (streets) have maxspeed sign and are mostly these types: residential - living street - service - parking_aisle (type of service road).
    There are one primary road, one secondary and one tercialy.
    I'm setting average speed setting in navigation menu: local road=50, small local road=40
    and set to find fastest route.
    OSM database is already updated and is correct.

    I found these mistakes:
    1.) two paralel residential roads, first with 50 km/h spedlimit and second with 30 km/h.
    Navi routes over 30 km/h because this is very litle shorter (cca 5 meters).
    Its seems router engine totaly ignored tag "maxspeed" in OSM.
    2.) two paralel roads: one residential (50 km/h) and second service roads (20 km/h) + little segment of parking_aisle (no maxspeed tag).
    Navi routes over service roads and parking aisle because is very little shorter.
    3.) Engine routes also by roads with tag "motor_vehicle=destination".

    It is bad idea that residential roads (typical speed 50 km/h) and living street, parking-aisle (typical 20 km/h) are the same priority. (and speed is still ignored)
    In urban navigation is impossible get correct route.

  • Even this theme is more than a year old, it's still unsatisfying, how classifications are build. The main problem in my opinion is highway=unclassified. You sort it in class 7 and so it's disabled for routing by default together with residential etc. And so my impression all over the years of using MFN in rural areas ist very disappointing, because you get detours sometimes up to the double of distance by routing between or through settlements in rural areas.
    OK, I found out several missunderstandig about the use of highway=unclassified in OSM-data. Some use it like highway=road or highway=service ignoring the OSM-Wiki-definition. Some other change from unclassified to residential inside of towns or villages so there is no connection to similar or higher roadclass as OSM-Wiki propose. Because of that I startet a thread in german OSM-forum ( )
    and wrote a overpass-turbo-query to find out these "mistakes"
    That is not your problem but here I please you to change your classes the following way:
    There is no need to spend secondary_link it's own class. Put it together with secondary in class 4 as @Tule proposed further. Then tertiary and tertiary_link can be class 5 and class 6 could be for unclassified.only. So every user can decide, how to customise his routing profile for the use of unclassified roads as the lowest level of road network between settlements.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion