aerostitch / testnavit

0 stars 0 forks source link

Wrong turn restriction processing when multiple single-way paths exist #231

Open aerostitch opened 10 years ago

aerostitch commented 10 years ago

Issue migrated from trac ticket # 1215

component: core | priority: major | keywords: routing, maptool

2014-06-09 14:18:48: tryagain created the issue


There's a flaw in turn restriction processing code which does not allow direct natural routing from https://www.openstreetmap.org/node/1366417317 (P) to https://www.openstreetmap.org/node/1141785377 (D) through https://www.openstreetmap.org/way/106684752 (AB).

Suppose we have current position point P, destination point D and two intermediate points A and B.

There are following ways defined: PA, AB, BD which describe a direct way from P to D.

Suppose we have a service way from A to B flowing through some side point(s) C, and it's not allowed to turn left to the ACB way ( https://www.openstreetmap.org/way/106684747 ) when you drive on PA.

Maptool records only three points of a turn restriction: beginning of the "from" way, "via" node, and end point of the "to" way. So, in described situation, it will produce a rule prohibiting access from A to B by any existing way.

If ACB is represented by multiple OSM ways, problem will not appear.

IIRC, maptool splits all ways at each crossing before applying above logic. So this problem will probably also have no sense if ACB has some other ways connecting to ACB point C.

aerostitch commented 10 years ago

2014-06-09 14:19:01: tryagain uploaded file tr_bug.png (47.7 KiB)

tr_bug.png

aerostitch commented 6 years ago

2017-12-02 04:08:44: @jkoan

aerostitch commented 6 years ago

2017-12-02 04:08:44: @jkoan commented


This ticket was pushed back in order to bring 0.5.1 out soon.