Commit Graph

32 Commits

Author SHA1 Message Date
Michael Bell
d96960f9cc Support snapping to multiple ways at an input location
This PR improves routing results by adding support for snapping to
multiple ways at input locations.

This means all edges at the snapped location can act as source/target
candidates for routing search, ensuring we always find the best route,
and not the one dependent on the edge selected.
2022-08-27 11:28:25 +01:00
Michael Bell
3cfd0e8334
Complete support for no_entry and no_exit turn restrictions (#5988)
The internal representation of turn restrictions expects only one
`from` way and only one `to` way.

`no_entry` and `no_exit` turn restrictions can have multiple `from` and
`to` ways respectively. This means they are not fully supported by
OSRM's restriction parser.

We complete support for these turn restriction types by parsing all
ways and converting a valid restriction with multiple `from`/`to` members
into multiple internal restrictions.
2022-08-22 12:58:16 +01:00
Michael Bell
5266ac1635
Add support for multiple via-way restrictions (#5907)
Currently OSRM only supports turn restrictions with a single via-node or one
via-way. OSM allows for multiple via-ways to represent longer and more
complex restrictions.

This PR extends the use of duplicate nodes for representng via-way turn
restrictions to also support multi via-way restrictions. Effectively, this
increases the edge-based graph size by the number of edges in multi via-way
restrictions. However, given the low number of these restrictions it
has little effect on total graph size.

In addition, we add a new step in the extraction phase that constructs
a restriction graph to support more complex relationships between restrictions,
such as nested restrictions and overlapping restrictions.
2020-12-20 13:59:57 -08:00
Daniel Patterson
5531cace7f
Support maneuver relations (#4676) 2018-02-10 05:32:09 +11:00
Michael Krasnyk
341a5345da Ignore no_*_on_red turn restrictions (#4804) 2018-01-19 15:50:54 +01:00
Michael Krasnyk
cc1a5ea78d Remove usage of IntersectionGenerator in EBGF 2018-01-05 17:35:11 +01:00
Moritz Kobitzsch
fd52c80573 remove workaround, reduce memory consumption in lcs computation 2017-10-11 14:07:35 +02:00
Moritz Kobitzsch
bbcf343e40 compress traffic signals
- handle penalties within edges (not phantom nodes)
 - changes model from providing penalties on turns to using additional segments
2017-08-04 11:19:32 +02:00
Moritz Kobitzsch
4c965b9f44 Add regression test for interaction between via-way and via-node 2017-08-03 14:37:05 +02:00
Moritz Kobitzsch
8135f08958 restructure for review remarks 2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
645b1ffd75 add testcases to highlight limitation of via-way handling 2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
8d0202d240 Add data structure to allow identification of via-way turns during creation of edge-based-graph
initial version of handling via-way turn restrictions (this is dirty)

 - requires update of data structures
 - requires clean-up
 - requires optimisation
2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
1f7aa6f812 adding tests to highlight via-way-restriciton development 2017-07-31 09:36:25 +02:00
Emil Tin
7cbb1807e7 cucumber: change syntax of node maps 2016-10-11 09:07:48 +02:00
Moritz Kobitzsch
6fac14dbd8 ignore invalid only_* restrictions 2016-09-01 09:14:01 +02:00
karenzshea
146eb3a20e add test case for ignoring unknown restrictions 2016-08-31 09:52:05 -04:00
Moritz Kobitzsch
1dfdb38d4a improve collapse-handling 2016-06-06 10:05:18 +02:00
Lauren Budorick
1a8097f810 Update car features to reflect not cutting off arrival instruction 2016-04-05 22:59:14 +02:00
Lauren Budorick
5ac024788e Parse specific restriction:* tags based on profile exceptions 2015-09-10 15:52:26 -07:00
Dennis Luxen
c8b4ef3eed add two tests for turn restrictions starting/ending on the same segment 2014-07-15 15:10:13 +02:00
Dennis Luxen
d80c8cbd2f add another turn restriction test 2014-06-10 17:23:24 +02:00
Dennis Luxen
4fc329a1eb remove superflous way in test setup 2014-05-20 14:33:02 +02:00
Dennis Luxen
d028a30f87 fixes issue #1019:
- fix ignored turn restriction on chains of degree-2 nodes
- add a cucumber test to test for potential regressions
2014-05-20 14:33:02 +02:00
Emil Tin
5f7065848e clean cucumber comments, fixes 'file to long' problem with latest version of cucumber 2014-04-01 15:30:55 +02:00
Emil Tin
b5bfdb56dc cleanup indentation of cuke files 2013-08-29 19:29:13 +02:00
DennisOSRM
5de2aa1cbf fixing test and removing todo tag 2013-01-05 17:35:50 +01:00
Emil Tin
551af0e45a fix a few restrictions tests 2013-01-04 16:09:00 +01:00
Emil Tin
ec56478a3c cucumber cleanup, removed unused code 2012-12-16 13:36:47 +01:00
Emil Tin
f1d47328e9 support testing of all relation types 2012-11-30 13:40:21 +01:00
Emil Tin
9a865384a1 tests for except tag on turn restrictions 2012-11-28 18:43:07 +01:00
Emil Tin
1ad274ed2e more reorganizing of tests 2012-10-01 13:33:47 +02:00
Emil Tin
d4352b84ac reorganizating tests into car/bike/foot 2012-10-01 12:36:06 +02:00