Moritz Kobitzsch
7d076e9344
handle access flags for lanes
2016-07-25 20:01:58 +02:00
Daniel J. Hofmann
748fd3efa9
Remove lanes from roundabouts, closes #2626
...
After half a day of looking at the tagging and the data came to the
following conclusion:
We can't keep the user to the innermost / outermost lanes depending on
the exit the route takes: we found situations where both heuristics were
wrong.
Even on popular roundabouts the tagging is often wrong or in the best
case not present at all.
There are at least two different ways to interpret roundabout
indications: 1/ where e.g. a right arrow on the lane indicates turn
restrictions for the roundabout and the need to take this lane to exit
the roundabout to the right (possibly skipping multiple exits) and 2/
where a right arrow just means this is a lane in a immediate right turn.
Example: Australia marks lanes with arrows that seem to indicate
"angles you can exit the roundabout from", for example, these two ways:
- http://www.openstreetmap.org/way/320941710
- http://www.openstreetmap.org/way/42918021
Whereas Germany marks lanes with "directions you can travel in these
lanes immediately after entering the roundabout":
- http://www.openstreetmap.org/way/52578338
These two different interpretations of how to draw the arrows on the
roads mean we have conflicting solutions to "which lanes can you use to
take exit B from entry A" based on locality.
Continuing to tag ways based on lane markings is no problem, but
unfortunately, we can't reliably resolve good advice for navigation
system users (like "use the inside lane to take the second exit at the
roundabout"), there are too many situations that would generate bad
instructions (instructions that tell users to go into a lane they
shouldn't use).
2016-07-25 19:29:55 +02:00
Moritz Kobitzsch
1fc63e1e72
move hardcoded road priorities into profiles, change road classification
2016-07-25 13:07:54 +02:00
Daniel J. Hofmann
fd6bb5ec1f
Lane Handling for multiple indications per lane as in left;left|, fixes #2694
...
Before we asserted on unique lane indications per lane. Turns out the
OSM data contains lane strings such as:
left;left|right
Which represents two lanes as in:
<< >
|| |
The two left indications _on a single lane_ look like data issue.
And we can't represent this with our enum-approach at the moment.
We don't want to crash there, so silently swallow this and
generate a single left|right for it.
2016-07-25 12:17:23 +02:00
Moritz Kobitzsch
9e323d2d42
improve sliproad / fork handling
2016-07-22 15:16:59 +02:00
Moritz Kobitzsch
b25011ee60
fix use-lane handling
2016-07-21 16:37:54 +02:00
Moritz Kobitzsch
0e017a6ce5
collapse use-lane instructions if possible
2016-07-20 10:23:26 +02:00
Moritz Kobitzsch
2431e15ffa
mark second case as todo, see https://github.com/Project-OSRM/osrm-backend/issues/2661
2016-07-20 09:55:30 +02:00
Moritz Kobitzsch
396add1e9d
make roundabout maneuvers continuous with respect to lane changes
2016-07-20 09:55:30 +02:00
Moritz Kobitzsch
8831ca2f32
fix roundabouts with traffic lights
2016-07-19 14:49:09 +02:00
Moritz Kobitzsch
50cbba1620
adding a todo testscase / regression test-case
2016-07-15 10:35:25 +02:00
Patrick Niklaus
3d80f989d0
Fix tests after cucumber update and changed escaping.
2016-07-13 11:48:53 +02:00
Moritz Kobitzsch
2ddc00c21e
update cucumber to 1.2.1 and remove hack
2016-07-13 11:04:35 +02:00
Daniel J. Hofmann
e76e39a398
Improves Lane Handling for Multi-Hop Roundabout Instruction
...
This changeset implements Lane Anticipation on roundabouts, delimited
by enter / leave step pairs. It does not handle lane anticipation
within a roundabout.
Lane anticipation happens on the granularity of a valid roundbaout:
We discard partial roundabout (enter without exit or exit without
enter) or data issues (no roundabout, exit before enter).
Related:
- https://github.com/Project-OSRM/osrm-backend/issues/2626 for lanes
within a roundabout
- https://github.com/Project-OSRM/osrm-backend/issues/2625 for handling
going straight in lane anticipation
2016-07-13 10:44:12 +02:00
Moritz Kobitzsch
f4db79fe9b
fix obvious turn collapsing for straight turns
2016-07-06 10:50:47 +02:00
Moritz Kobitzsch
375331b80c
fixing lua issue in profile
2016-06-28 12:59:02 +02:00
Moritz Kobitzsch
311b348d09
handle sliproads at traffic lights
2016-06-28 10:23:22 +02:00
Moritz Kobitzsch
5905708111
expose lanes as enums, adjusted for comments
2016-06-27 11:12:02 +02:00
Moritz Kobitzsch
5d91b759d1
Implement Turn Lane Api
2016-06-27 10:07:48 +02:00
Daniel J. Hofmann
ec0a1a4ab1
Anticipate Lane Changes
2016-06-27 10:07:43 +02:00
Moritz Kobitzsch
efa29edf09
basic turn lane handling
2016-06-27 10:07:41 +02:00
Moritz Kobitzsch
2a05b70dfc
reduce number of end-of-road instructions in unnecessary cases
2016-06-26 16:40:15 +02:00
Moritz Kobitzsch
4629a20fe4
improve handling of obvious for end-of-road situations
2016-06-24 12:05:42 +02:00
Moritz Kobitzsch
2868f702a5
fix issues with roundabouts and intersections and sliproads
2016-06-21 16:56:57 +02:00
Moritz Kobitzsch
3c8781855e
handle steep off-ramps
2016-06-21 00:47:43 +02:00
Moritz Kobitzsch
306744e5cb
fix roundabout-handling when name changes
2016-06-17 11:02:14 +02:00
Moritz Kobitzsch
47b19f209b
prefer obvious turn assignment over forks
2016-06-13 15:00:18 +02:00
Moritz Kobitzsch
2b5355edca
improve slipway handling to allow multiple styles of turn lanes / turn roads
2016-06-13 11:56:50 +02:00
Moritz Kobitzsch
99004bbec8
add testcase
2016-06-10 10:20:39 +02:00
Moritz Kobitzsch
312e86eb58
handle merge on collapsed instructions
2016-06-06 11:55:14 +02:00
Moritz Kobitzsch
1dfdb38d4a
improve collapse-handling
2016-06-06 10:05:18 +02:00
Daniel J. Hofmann
b6834da9a4
Revert "Test guidance instructions for entering and leaving mini roundabouts"
...
This reverts commit 9cdc9008aa
.
2016-06-02 14:57:48 +02:00
Daniel J. Hofmann
c490752ca7
highway=motorway_link does not imply oneway, fixes #1662
...
References:
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmotorway_link#Tagging_oneway
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmotorway_link
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmotorway
2016-06-02 13:05:50 +02:00
Daniel J. Hofmann
6edc565c01
Add destinations API feature
2016-06-02 12:00:23 +02:00
Daniel J. Hofmann
9cdc9008aa
Test guidance instructions for entering and leaving mini roundabouts
2016-06-01 20:17:48 +02:00
Moritz Kobitzsch
823ee54f22
add turn restrictions to test-cases
2016-05-26 21:31:04 +02:00
Daniel Patterson
3d03797e53
Distinguish between offramps and sliproads.
2016-05-26 21:31:04 +02:00
Moritz Kobitzsch
797f2a196b
handle intersection-access for roundabout correctly
2016-05-26 16:25:26 +02:00
Moritz Kobitzsch
abed7690d0
fix continue on obvious
2016-05-23 17:55:30 +02:00
Patrick Niklaus
89aa6b7881
Add regression test for #2424
2016-05-20 18:52:29 +02:00
Patrick Niklaus
e3ce0c5887
Add fuzzy matching for bearings and intersections list
2016-05-19 16:44:31 +02:00
Patrick Niklaus
3b37769624
Use bearing_before and bearing_after in the bearings field
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
9c8bf820de
adjusted to in/out. only emit one of them for depart/arrive
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
4d9aa65e78
intersection classes with variable degree of discretization
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
a9f674497a
emit turn-straight for obvious turns where the main road continues
2016-05-18 19:54:53 +02:00
Daniel J. Hofmann
a5a7a03fa0
Cucumber test for destination:ref and no destination=*
2016-05-04 15:28:34 +02:00
Daniel J. Hofmann
c7e19396a4
Guard against mis-tagging: only use destination tag in combination with oneway tag
2016-05-04 15:28:34 +02:00
Daniel J. Hofmann
445e5bed49
Respect ';'-separated list in destination:ref tag
2016-05-04 15:28:34 +02:00
Daniel J. Hofmann
4cf94319df
Basic destination sign handling.
...
This first part in our Exit Sign / Destination Sign quest re-wires
the `destination=` and `destination:ref=` tag to the `ref=` tag (in case
it's the highway does not already have a `ref=` tag).
Doing some analysis on both Berlin and San Francisco it looks like this
will add a couple of thousand `ref=` tags that we will announce in guidance.
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2267#issuecomment-214771682
- http://wiki.openstreetmap.org/wiki/Key:destination
- http://wiki.openstreetmap.org/wiki/Proposed_features/Destination_details
2016-05-04 15:28:34 +02:00
Moritz Kobitzsch
6018fcf490
Introduce on_ramp and off_ramp, deprecate ramp
2016-05-04 12:09:54 +02:00
Moritz Kobitzsch
1e6888c0d3
fix new-name on empty strings
2016-05-04 10:52:55 +02:00
Moritz Kobitzsch
cf17bd38eb
Revert "Revert "switched to space separated suffix/prefix only""
2016-04-28 14:59:17 +02:00
Patrick Niklaus
e88106e990
Revert "switched to space separated suffix/prefix only"
...
This reverts commit e9e935303c
.
2016-04-27 23:20:10 +02:00
Moritz Kobitzsch
e9e935303c
switched to space separated suffix/prefix only
2016-04-27 19:12:24 +02:00
Moritz Kobitzsch
a154d71841
enable suppression name suffix changes
2016-04-27 18:10:56 +02:00
Moritz Kobitzsch
fddb035539
suppress name additions (xxx -> xxxbridge)
2016-04-27 12:13:42 +02:00
Moritz Kobitzsch
1544a08ea2
introduce roundabout-turns into instruction set
2016-04-27 12:13:42 +02:00
Moritz Kobitzsch
8d68d4c050
fix copy-paste errors in guidance tests
2016-04-26 13:43:22 +02:00
Moritz Kobitzsch
754bc2d274
handle combined turns at segregated roads
2016-04-26 13:13:20 +02:00
Moritz Kobitzsch
3ac061c546
fix guidance issues / improve tests
2016-04-26 10:34:39 +02:00
Moritz Kobitzsch
e59a7926a2
roundabout for segregated entry roads
2016-04-26 01:01:09 +02:00
Moritz Kobitzsch
d770c35245
refactor guidance
2016-04-25 19:24:59 +02:00
Patrick Niklaus
b07275694a
Add more guidance tests
2016-04-21 23:07:29 +02:00
Daniel Patterson
43725bae89
Fix Radius Calculation for points collinear in latidue
2016-04-12 11:25:59 +02:00
Moritz Kobitzsch
fa0a5040e5
adding tests for guidance
2016-04-08 10:43:22 +02:00
Lauren Budorick
8c0f47f06c
Fix guidance/roundabout spacing
2016-04-05 22:59:14 +02:00
Lauren Budorick
2f793473cc
head/destination -> depart/arrive to reflect guidance API changes; minor fixes for roundabout tests
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
0cc23dec6f
restructured to only return valid turns to the outside + cleanup
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
71c0d5253d
less new names, forks consider road classes, api clean-up
2016-04-05 22:58:32 +02:00