Hello all. This bridge in question has multiple speed values and, the max_speed value is not true for everything - I believe that the bridge itself is 30, but the lanes have different speeds after the bridge. I was wondering if there is any way we could verify the existence of those :forward and :backward values on the custom_profile model, and prioratize them if they exist; ideally I would like to filter the parts of this bridge that are higher than 35mph, but using max_speed would not work since its 30mph and some parts of this bridge are 40. Currently, the routing engine is just taking zones that are higher than I would like because the global max_speed is 30.
Is there any way to verify if the tag exists for the road via the API using custom_profile?
Thanks in advance, also open to other suggestions.
The tagging of this bridge does not really make sense as far as I can tell. The maxspeed value of 30mph is overruled by the more specific tags maxspeed:forward/backward=40mph/35mph. There are no tags that indicate the different maxspeed values are valid for different lanes or modes of transport.
They are already prioritized. Like I said, the maxspeed:forward/backward tags overrule the broader maxspeed tag.
maxspeed is 56km/h in one and 64km/h in the other direction, which corresponds to 35 and 40mph, respectively (some inaccuracy in this conversion is introduced, because the maxspeeds are only stored in steps of 2km/h). So it isn’t 30mph or why do you think it is? You can check the maxspeed in the path detail diagram here. But maybe I did not really understand what you are trying to do. Why do you want to filter certain parts of the bridge by maxspeed?
The Directions API only offers a single maxspeed value per direction, which is 40/35mph here and you cannot access the raw OSM tags.
For the open source GraphHopper routing engine this is different of course, since you could modify the OSM parsing code to make available any tags you like.