Hi, guys and thank you for your excelent service! I recently stumbled accross this strange behaviour.
This road has two lanes in each diretction and doulbe solid line between them, so crossing it is forbidden. On the other hand the service is suggesting to go bakwords (and the proper will be to follow the arrow).
I already tried to give bearings, continue_straight parameter and optimized=false and it didn’t work. As I understood from the documentation - the engine will still do the back tracking, because the alternative would create a massive detour (but it will be correct).
How should ORS know which direction you are facing? You’re giving ORS a point from where to depart. This point is on or near a road that is mapped as a single line, which does not have the oneway=yes tag (as far as I can see on your screenshot).
So ORS will snap your point to the road (line), does NOT see anything that says it’s oneway, is simply unaware of any direction you are facing, and calculates the fastest route accordingly. Lanes backward and forward are nice, but do not tell ORS on which one you are actually sitting (I don’t even know if ORS will actually take those into account - but even if it does, on a single line there is nothing that will tell you from which side of the road you want to depart).
Someone please correct me if I’m wrong, but I think that is what is going on.
Solution (the only one that I can see): map the road using two lines, with the tag oneway=yes. Then you can accurately let ORS know from which side of the road you want to depart, and then ORS should take that into account.