Opened 8 years ago
Last modified 8 years ago
#1245 new defect/bug
highway=unclassified should be street_1_land
Reported by: | rico (2) | Owned by: | cp15 |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | mapdrivers/OSM | Version: | git master |
Severity: | trivial | Keywords: | |
Cc: |
Description
highway=unclassified should not be handled as street_1_city but as street_1_land. This tag is widely used for connecting cities and villages with minor roads.
Change History (3)
comment:1 Changed 8 years ago by mvglasow (2)
comment:2 Changed 8 years ago by mvglasow (2)
BTW, the conversion rules for Maptool are in navit/maptool/osm.c, in the declaration of static char *attrmap (line 391).
For primary, secondary and tertiary there are two ways of deciding between *_city and *_land: First, the rural attribute is evaluated (though it doesn't seem to be widely used in OSM). If this attribute is not set to either 0 or 1, the presence of the name attribute is used as a second criterion (the presence of a name indicates that a street is in a built-up area).
highway=motorway follows a simpler logic, relying only on the rural tag. highway=trunk maps to street_n_lanes, which does not distinguish between city and land.
However, none of this logic is applied to highway=unclassified. Rather, it is always assumed to be in a city. We might want to extend the above logic (rural and name) to highway=unclassified.
A similar case is the (now deprecated) higway=minor, which is, interestingly, mapped to street_1_land. While it is unlikely to be of particular relevance, we could apply the same logic here for consistency.
The only other road type with city/land distiction is highway=residential, which always maps to street_1_city. I guess this is OK, as residential roads normally imply a built-up area.
comment:3 Changed 8 years ago by jandegr
I agree with the title of the ticket
highway=unclassified should be street_1_land
Higway=unclassified is above highway=residential, but maptool flattens that out. This prevents routing to prefer unclassified above residential. The fact that the word 'land' is a substring of street_1_land is irrelevant, street_1_land is simply a vacant streetype in Navit, unused so far besides maybe some instances of the deprecated higway=minor. relates to #1279
I would vote against making this a hard criterion. highway=unclassified is widely used for inner-city streets in areas that are not really residential but have a mix of shops, offices and residential buildings. It is also used in industrial areas, which are nevertheless in built-up areas where the respective speed limits apply – in which case street_1_city would be more suitable.
Telling *_city and *_land apart is a general issue with OSM data as OSM does not give a clear tag from which this information can be derived. I don't know the exact criteria which Maptool uses when converting OSM data to binfile, but I remember seeing the presence of a name=* tag being used as a determining factor. (Which is equally problematic IMHO.)
If at all, we should review the criteria used by Maptool to decide between *_city and *_land.