Commit Graph

863 Commits

Author SHA1 Message Date
Daniel J. Hofmann
b3483f95a7 Fixes Sliproads onto a roundabout to be classified as sliproads, resolves #3540 2017-01-09 17:46:05 +01:00
Moritz Kobitzsch
32f63e5e0c add tests for dedicated turn roads 2017-01-09 17:46:05 +01:00
Moritz Kobitzsch
15c8fd326f Remove assertions that could be triggered by bad data. (#3469)
When two consecutive nodes have identical coordinates, there is no valid
bearing.  For now, make equal nodes have bearing 0.

Full fix still needs to be done via https://github.com/Project-OSRM/osrm-backend/issues/3470.
2017-01-06 17:10:02 -08:00
Daniel J. Hofmann
b5d5f309a3 Consider number of lanes to cross, resolves #3025.
Lane Anticipation currently triggers on quick steps with lanes. This
changeset makes the "quick" part more dynamic by taking lanes left and
right of the turn into account. The reasoning for this is as follows.

The user can drive on the leftmost or rightmost lane and has to cross
all lanes left or right of the turn, respecitvely.

We scale our threshold appropriately, which now means the threshold
describes the duration the user needs for crossing _a single lane_.

Note: this is a heuristic and assumes the worst case. Which in my
opinion is fine to do since triggering Lane Anticipation in complex
scenarios is desirable.
2017-01-06 12:44:40 +01:00
Michael Krasnyk
2640a319c1 Wrap way.nodes() returned reference into sol::as_table 2017-01-04 08:29:27 +01:00
Moritz Kobitzsch
e6ff17ab2a refactor merging of segregated roads
adjust to generalFindMaximum function
moved parallel detection to ratio/absolute based regression testing
considerably improved detection quality using normalised regression lines
only follow initial direction/narrow turns for parallel detection
2017-01-03 12:32:51 +01:00
Michael Krasnyk
f48bbb78de Enable npm and library tests on windows 2017-01-03 10:24:48 +01:00
Michael Krasnyk
bd2a5ebe10 Don't report error if osrm-routed was killed by js script 2017-01-03 10:24:48 +01:00
Michael Krasnyk
5db134bbba Help strings may contain windows extensions 2017-01-03 10:24:48 +01:00
Michael Krasnyk
ed9d10e96c Tests for profile API version 2016-12-23 15:02:10 +01:00
Moritz Kobitzsch
b9b52cb857 clean-up unused headers, use NoTurn for ferries instead of suppressed 2016-12-23 15:01:02 +01:00
karenzshea
8ffe915395 do not emit turns on ferries 2016-12-23 15:01:02 +01:00
Moritz Kobitzsch
0a2f934c87 add test for falsely classified obvious turn (#3364) 2016-12-20 11:55:10 -08:00
Moritz Kobitzsch
3721f8c887 test showing failure to unpack route with u-turns at both ends 2016-12-20 17:41:43 +01:00
Moritz Kobitzsch
f04d146ca3 improve ascii art reflecting tunnels 2016-12-19 09:57:34 +01:00
Kajari
8c50a42ec4 add ascii art to a set of tests 2016-12-19 09:57:05 +01:00
Moritz Kobitzsch
d584bcad11 fix roundabout handling with lanes
instead of artificially removing lanes from a roundabout, we don't assing them in the first place.
this also prevents a problem where we would end up collapsing turns with lanes in a roundabout
2016-12-15 13:07:26 +01:00
Daniel J. Hofmann
e48ca65af4 Advanced Roundabouts
These kind of roundabouts came up during Lane Handling for roundabouts.
They're called Turbo-roundabouts or Turbine-roundabouts and are very
popular e.g. in Germany and the UK.

Seems like our roundabout handler sometimes is getting confused.

Trying to figure out why, and codifying some scenarios for cucumber.

References:
- https://github.com/Project-OSRM/osrm-backend/pull/2693
2016-12-15 13:07:26 +01:00
Daniel J. Hofmann
94854b5c90 Adds barrier=gate regression tests, see #581 2016-12-15 12:03:24 +01:00
Daniel Patterson
1b51163b1d Clarify API and ensure bearings returned to users are in the range 0-359 2016-12-15 10:59:17 +01:00
Daniel J. Hofmann
98659fb0a0 Adds failing tests for directional access overrides, discovered in #3345 2016-12-13 17:37:42 +01:00
Daniel Patterson
17e15033e1 Log helpful error message if mmap fails. 2016-12-07 22:03:49 +01:00
Daniel J. Hofmann
875f482203 Refactors and improves the Sliproad Handler, resolves #3109 2016-12-07 19:22:03 +01:00
Moritz Kobitzsch
a28a20a1ba fix errors in coordinate extractor due to duplicated coordinates
fix offset calculation in curve detection
2016-12-07 11:33:58 +01:00
Emil Tin
9461c83511 car profile: handle forward/backward access 2016-12-05 14:15:47 +01:00
Emil Tin
532cbfce13 profiles: Directional helper, some car refactoring 2016-12-05 14:15:47 +01:00
Moritz Kobitzsch
561b7cc58e Rember Intersection Shapes
Changes the processing order in the edge based graph factory.
Instead of iterating over all outgoing edges in order, we compute the edge
expanded graph in the order of intersections.
This allows to remember intersection shapes and re-use them for all possible ingoing edges.

Also: use low accuracry mode for intersections degree 2 intersections

We can use lower accuracy here, since the `bearing`
after the turn is not as relevant for off-route detection.
Getting lost is near impossible here.
2016-12-01 15:24:20 +01:00
Moritz Kobitzsch
5775679f64 fix coordinate extraction / errors in offset detector 2016-12-01 12:16:25 +01:00
Karen Shea
ef087f963d Merge pull request #3324 from Project-OSRM/constrain-staggering
Constrain staggered intersection detection by mode change and intermediary intersections
2016-11-30 07:35:17 -05:00
Moritz Kobitzsch
a1127c3e09 reduce numbers of intersections in findNextIntersection, don't normalise for turn lanes 2016-11-30 10:21:53 +01:00
Daniel J. Hofmann
fe5cc55b0e support junction = circular in all profiles, add additional tests
References:
- https://wiki.openstreetmap.org/wiki/Tag:junction%3Dcircular
- https://lists.openstreetmap.org/pipermail/tagging/2016-November/030520.html
- https://github.com/Project-OSRM/osrm-backend/issues/3361
2016-11-29 13:44:32 +01:00
Moritz Kobitzsch
12d58ace10 add support for junction=circular, allowing named circular junctions to be treated as rotaries 2016-11-29 13:44:32 +01:00
Moritz Kobitzsch
186cc8340a handle service roads next to roundabouts - ambiguous exit... :( 2016-11-29 11:47:35 +01:00
Michael Krasnyk
e343f71541 Refactor Hilbert values computation 2016-11-28 14:17:12 +01:00
karenzshea
9fe0e91d92 add tests for bridleways 2016-11-22 10:18:55 +01:00
karenzshea
0bd08224bf add comments, refactor find obvious turn 2016-11-21 13:16:30 -05:00
Patrick Niklaus
b84d70d305 Add regression test for nil values 2016-11-21 12:17:44 +01:00
Patrick Niklaus
f19bf70b55 Account for imprecision in distance computation 2016-11-18 17:46:32 +01:00
Patrick Niklaus
24fa94af59 Remove obsolete test code 2016-11-18 17:46:32 +01:00
karenzshea
6ba36a2bc7 test and control for pushing both ways 2016-11-18 10:13:38 -05:00
karenzshea
039989a339 fix overlapping roads 2016-11-18 09:58:03 -05:00
karenzshea
a7559077a0 add modes columns to bike tests 2016-11-18 09:21:48 -05:00
Daniel J. Hofmann
bbe80192aa Staggered Intersections for Bike 2016-11-18 08:52:48 -05:00
karenzshea
9b16b757a4 halfway staggered intersection test 2016-11-18 08:52:48 -05:00
karenzshea
3680fc9d90 add check/test for intermediary intersections 2016-11-18 08:52:47 -05:00
karenzshea
836e8bdff0 don't collapse with mode changes 2016-11-18 08:52:47 -05:00
Moritz Kobitzsch
78583d2c8c fix getTurnDirection, widen straight range, adjust tests accordingly 2016-11-14 11:09:14 +01:00
Moritz Kobitzsch
e84a0ea37c reduce coordinate_extraction overhead. slowdown reduced by 30 percent 2016-11-10 10:44:54 +01:00
Moritz Kobitzsch
88208bfa5d add testscases for mode changes / additional assertions 2016-11-09 12:55:28 +01:00
Daniel J. Hofmann
ef2261661c Remove {highway: type} fallback from bike / walk profile, fixes #3231
References:
- https://github.com/Project-OSRM/osrm-text-instructions/issues/62#issuecomment-257889721
- https://github.com/Project-OSRM/osrm-text-instructions/pull/63
2016-11-08 14:28:56 +01:00