Commit Graph

752 Commits

Author SHA1 Message Date
Daniel J. Hofmann
026f71934b Adds Cucumber Scenario for sharp left turn at traffic light 2016-08-03 12:18:31 +02:00
Michael Krasnyk
979f9cab20
Added test for issue #2706 2016-08-02 19:06:10 +02:00
Daniel J. Hofmann
c4718495a0
Add Florida Ave NW scenario for TurnLeft instead of MergeRight 2016-07-30 23:55:39 +02:00
Moritz Kobitzsch
0d36d472c9
change paradigm of merge to only emit on motorway-like roads 2016-07-30 23:55:39 +02:00
Daniel Patterson
d012b44b7f
Filter out edges that have any speed=0 segments.
They become non-snappable and non-routable.  Note that a single segment
of speed=0 will eliminate the entire edge.
2016-07-30 23:53:38 +02:00
Michael Krasnyk
61e6afdef0
added a lanes test in clockwise roundabouts 2016-07-28 22:59:22 +02:00
Lauren Budorick
951a4dc112
commit test file 2016-07-28 22:59:22 +02:00
Daniel Patterson
280b000f07 Include datasources for each segment in route annotation. 2016-07-27 15:51:11 -07:00
Patrick Niklaus
e83905b783
Fix exception handling around unrecognised options 2016-07-26 11:43:08 +02:00
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
41ba20ca9a switch api format to new structure 2016-07-21 17:42:10 +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
Patrick Niklaus
4fcb5d28a4 Merge pull request #2624 from oxidase/issues/2617
Fix ambiguous data issues
2016-07-13 11:20:40 +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
Michael Krasnyk
2b466b2fb2
Fix ambiguity in edges by using names lexicographical order 2016-07-11 05:54:30 +02:00
Michael Krasnyk
e17b306265
Fix ambiguity in edge weights by using minimal weight 2016-07-08 18:20:55 +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
Emil Tin
d21a9a514d bike: surface should never increase speed 2016-06-25 12:52:54 +02:00
Moritz Kobitzsch
4629a20fe4
improve handling of obvious for end-of-road situations 2016-06-24 12:05:42 +02:00
Daniel Patterson
6dedd9cb72 Fix segfault when route includes very short segments. 2016-06-22 14:48:57 -07:00
Moritz Kobitzsch
2868f702a5
fix issues with roundabouts and intersections and sliproads 2016-06-21 16:56:57 +02:00
Michael Krasnyk
8c378191df
Fix omitting the last point's coordinates in the geometry field 2016-06-21 07:06:43 +02:00
Moritz Kobitzsch
3c8781855e
handle steep off-ramps 2016-06-21 00:47:43 +02:00
Michael Krasnyk
26879ca91a
Make build directory configurable via OSRM_BUILD_DIR in tests 2016-06-20 22:43:28 +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
805d74b6ae Revert "Fixes roundabout spelling in existing cucumber test"
This reverts commit ef7b36da32.
2016-06-02 15:00:49 +02:00
Daniel J. Hofmann
b78207ddd8 Revert "Add implied oneway cucumber tests for mini roundabouts"
This reverts commit bd707b0cfc.

Conflicts:
	features/bicycle/oneway.feature
	features/car/oneway.feature
2016-06-02 15:00:44 +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
Patrick Niklaus
ed8d5e0b0a Add missing semicolon 2016-06-02 14:27:25 +02:00
Lauren Budorick
e8fb312703 Update OSM node IDs annotation cucumber code per d6de2ca71c 2016-06-02 14:27:25 +02:00
Lauren Budorick
6777127497 Add cucumber tests for node IDs 2016-06-02 14:27:25 +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
Moritz Kobitzsch
58d6e8f4d0 handle short summaries correctly 2016-06-02 00:26:04 +02:00
Patrick Niklaus
0a53775fb3
Expose pronunciation in RouteStep
Uses name:pronunciation by default for cars.
2016-06-01 23:17:57 +02:00
Daniel J. Hofmann
9cdc9008aa Test guidance instructions for entering and leaving mini roundabouts 2016-06-01 20:17:48 +02:00
Daniel J. Hofmann
bd707b0cfc Add implied oneway cucumber tests for mini roundabouts 2016-06-01 20:17:48 +02:00
Daniel J. Hofmann
ef7b36da32 Fixes roundabout spelling in existing cucumber test 2016-06-01 20:17:48 +02:00
Michael Krasnyk
bfbb313088
Conditional hashing of osrm libraries 2016-05-29 07:39:49 +02:00
Dane Springmeyer
a5c5faa21d
drop support for using DYLD_LIBRARY_PATH on OS X 2016-05-29 06:01:16 +02:00
Patrick Niklaus
d6de2ca71c
Really place annotations in RouteLeg and not Route 2016-05-27 16:46:28 +02:00
Patrick Niklaus
262354f733
Rename annotate to annotations 2016-05-26 23:35:11 +02:00
Patrick Niklaus
2e2f34f241
Fix retry code launch classes 2016-05-26 22:34:39 +02:00
Lauren Budorick
cbbeef5c46
Prune unnecessary cucumber code 2016-05-26 22:34:39 +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
Patrick Niklaus
824afdceca
use 5 seconds as cucumber timeout 2016-05-26 20:02:21 +02:00
Michael Krasnyk
6af7e6866c
Sort file extensions in rename lists 2016-05-26 17:05:11 +02:00
Michael Krasnyk
aaa27333ba
Remove force flags and update extractor/contractor hashes
with command line arguments and argument files data.
2016-05-26 16:36:26 +02:00
Moritz Kobitzsch
797f2a196b
handle intersection-access for roundabout correctly 2016-05-26 16:25:26 +02:00
Moritz Kobitzsch
51066ff18f fix options in step-definitions 2016-05-26 15:38:55 +02:00
Daniel Patterson
0587c5f5c4
Trim datasource names before writing to datafile. 2016-05-24 15:20:14 +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
d5294bb5d0 Silences warnings when running npm test 2016-05-16 14:43:54 -04:00
Michael Krasnyk
3bbd3a8a65
Remove latitude rounding in yToLat 2016-05-16 00:53:33 +02:00
Daniel Patterson
fa525ad610
Return an array with meta-data for each coordinate.
Currently supports duration and distance for each coordinate.

This is particularly useful in map-matching, comparing how
a trip progresses compared to a real GPS trace that is
map-matched.
2016-05-12 01:11:09 +02:00
Patrick Niklaus
c2263fec9b
One TIMEOUT to rule them all 2016-05-05 18:36:30 +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
d5f21fd13a
fix test-case 2016-05-04 14:00:34 +02:00
Patrick Niklaus
04eef0463a
Fix the second test that breaks because of phantom node 2016-05-04 14:00:34 +02:00
Patrick Niklaus
82c3bc7b0e
Adapt tests to desired behaviour 2016-05-04 14:00:34 +02:00
Patrick Niklaus
1d33cb96f5
Fix missing semicolon in cucumber support code 2016-05-04 14:00:34 +02:00
Moritz Kobitzsch
648646068c
additional testcase on what I would expect 2016-05-04 14:00:34 +02:00
Daniel Patterson
f251f93a11
Fix summary generation when empty strings are present.
Also corrects step ordering when steps have equal durations.
2016-05-04 14:00: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
08248e3853
fix 2349 2016-05-03 21:14:31 +02:00
Daniel J. Hofmann
f0069d3dcc
Makes bicycle and foot profile's name and ref tag handling consistent with car profile 2016-05-03 00:09:17 +02:00