For pedestrians, determining distances to the next road intersection

In our project we are trying to callout an approach warning to the next road intersection for pedestrians. This is especially important for users with visual impairments. We use a 30m trigger point to warn the user of the approaching intersection.

In OSM, most intersections are simply two lines intersecting (where each line is a road). By and large our logic has worked well, but some road intersections are very large (especially in the U.S.) because they may have up to 5 lanes at the intersection. Therefore our logic breaks down and our app will callout the approach warning while the user is crossing the intersection! This is not safe for the user.

We are now looking at two properties of roads to improve this.

  1. The “Lanes” field
  2. The road “Amenity Type”.

In the absence of any value for “lanes” (which is very common) we will default to the Road Amenity Type.

Question:
a. Can the width of a road be deduced by the road type? E.g. if a road is a Primary Road, Secondary Road, Tertiary Road, or Unclassified Road, is it to safe to assume that the Primary roads are wider than Secondary? Or, is this an unsafe assumption to make?
b. Is the definition of road types consistent in the EU?
c. Is the definition of a road type different between UK, EU and the U.S.

I suspect I know the answer to the above, but I just want to check with the community in case there is something we have missed.

The definition of the road types derives from the UK A, B, C road numbering system, although you generally will not see C road signposted as such. I don’t think you can rely on the classification, alone, to deduce the width. In particular, country roads tend to have width’s constrained by history.

I’d imagine that EU and US usage is different.

I think you are only going to be able to provide this information accurately where people have explicitly added widths. Even then, some roads may widen at junctions, and only the main part of the road may have the width coded.

You may also look for highway=footway+footway=crossing if possible - ways with such tags are quite common (400k+) and you can measure the whole distance a pedestrian has to go to the other side:

https://wiki.openstreetmap.org/wiki/Tag:footway=crossing

Just to throw in a couple of other tagging options which, if present, might help deduce road width:

  1. An explicit width tag on the road you’re approaching. Rare on “wide” roads in the UK but if present might be useful.

  2. A mapped area:highway polygon which includes the entire road width. Rare in the UK but popular in Poland.

@hadw @kocio @SomeoneElse Thanks again for the good information. Much appreciated
Steven