Commit Graph

128 Commits

Author SHA1 Message Date
Moritz Kobitzsch
5e167b8745 Turn Angles in OSRM were computed using a lookahead of 10 meters.
This PR adds more advanced coordinate extraction, analysing the road
to detect offsets due to OSM way modelling.

In addition it improves the handling of bearings. Right now OSM reports
bearings simply based on the very first coordinate along a way.
With this PR, we store the bearings for a turn correctly, making the
bearings for turns correct.
2016-10-20 10:47:29 +02:00
Moritz Kobitzsch
1f8ca2879f fix u-turn collapsing onto empty name / in presence of turning use lane 2016-10-20 09:39:38 +02:00
Daniel J. Hofmann
ab1a9271c8 Canonicalizes Spaces in Semicolon Stringlists, fixes #3086 2016-10-19 14:14:18 -07:00
Kajari Ghosh
3f0f0e306b Directional Destination Tags (#3061)
* cucumber test scenarios, #3027

* post review comments

* two tests are still failing

* fixed one test

* passing tests

* cleaner code refactor

* possible sceanrios for destination:ref:forward/backward

* added code for direction:ref:forward/backward, tests pass

* changelog

* store direction in variable

* added tags to taginfo

* fixed dumb error

* use boolean flags

* null pointer checks

* hopefully better null pointer checks
2016-10-18 23:09:19 -04:00
Moritz Kobitzsch
17eb664597 don't get disturbed by service roads in obvious discovery 2016-10-13 16:10:59 +02:00
Moritz Kobitzsch
6cf99c886f don't emit invalid on sliproads with incompatible modes 2016-10-11 10:59:10 +02:00
Emil Tin
7cbb1807e7 cucumber: change syntax of node maps 2016-10-11 09:07:48 +02:00
Moritz Kobitzsch
378322f6e3 don't provide turn-straight next to suppress-straight 2016-10-07 09:35:16 +02:00
Moritz Kobitzsch
66f2cc5184 fix detection of forks in present of oneways 2016-10-05 17:49:54 +02:00
Moritz Kobitzsch
a824e64682 Merge branch 'master' into guido/notification 2016-09-29 16:03:44 +02:00
Moritz Kobitzsch
da15e1fc5e adjust case/add clarification 2016-09-29 10:50:28 +02:00
Ansis Brammanis
7e2663f2ad calculate roundabout radius from circumference, fix #2716 2016-09-29 10:42:42 +02:00
karenzshea
1a96483f7b prefer notification over new-name/suppressed types 2016-09-29 10:26:56 +02:00
Michael Krasnyk
3f3c85ba72 Added profile files per test generation 2016-09-28 09:04:58 +02:00
Daniel J. Hofmann
60010dd998 Reduce NewName Instructructions / Name Changes
With @karenzshea's name / ref split (ref. #2857) in master we want to
make use of it and reduce `NewName` instructions when ever possible.
This is a first step towards #2744 by using the already existing name
change heuristic from the extractor now in post-processing as well.

Limitations: at the moment we don't have the `SuffixTable` in
post-processing; this would require us serializing and subsequently
deserializing the table, passing it through from the profiles to the
API.
2016-09-21 12:42:39 +02:00
Michael Krasnyk
3eac6effbb
Fix "Error: write after end" and removed @bug tags
https://nodejs.org/api/child_process.html#child_process_event_exit
Note that when the 'exit' event is triggered, child process stdio streams might still be open.
2016-09-20 20:40:53 +02:00
Patrick Niklaus
7d124ce54d Close GH-2795: Rewrite cucumber test caching (and support logic). Fixes #2745 2016-09-19 14:13:44 -07:00
Moritz Kobitzsch
8522cddd61 Prevent loops in extraction based on merge 2016-09-19 13:33:52 +02:00
Moritz Kobitzsch
861314256e fix roundabout-intersection on immediate exit 2016-09-13 19:16:45 +02:00
Moritz Kobitzsch
092e77e89b fix false positives in sliproads 2016-09-13 14:11:29 +02:00
Michael Krasnyk
1d94eb88f6
Test for PR #2898
Test checks that osrm-extract terminates for
http://www.openstreetmap.org/way/198481519
2016-09-12 22:20:11 +02:00
Moritz Kobitzsch
c306a59854 make sure to not-collapse different travel modes 2016-09-08 15:01:25 +02:00
karenzshea
dcc1b5ab2b return name and reference separately 2016-09-08 14:28:23 +02:00
Moritz Kobitzsch
9123c93a90 fix interaction between sliproads/segregated intersections 2016-09-07 12:36:29 +02:00
Moritz Kobitzsch
a551286a8f adjust testscases for collapse of use lane 2016-09-07 12:17:36 +02:00
Daniel J. Hofmann
86fd04e556 Improves lane handling for subsequent going straight, resolves #2625
Before we only worked on subsequent quick turns, as in:
`right, right` keeps the user on the rightmost lanes.

This changeset modifies the logic to work on any subsequent steps
that are "quick" and have lane information we can constrain later.

Because we do not have a from-lane => to-lanes mapping we take the
lanes left and right of the turn lanes into account when heuristically
assigning the leftmost / rightmost lanes.

There are some edge cases where this still does not give us the optimal
solution but it gets close to what is actually possible at the moment
without having a lane mapping in post-processing.

References:
- https://github.com/Project-OSRM/osrm-backend/issues/2625

fix rebase
2016-09-07 12:17:36 +02:00
Moritz Kobitzsch
b6dbf81206 don't assign lanes on delayed turns 2016-09-07 12:17:34 +02:00
Daniel J. Hofmann
af47252efe Do not collapse away lane information as long as it is necessary 2016-09-07 12:17:00 +02:00
Moritz Kobitzsch
3b81b39998 turn lane handler moved to scenario based handling 2016-09-07 12:16:59 +02:00
Moritz Kobitzsch
802b93fa9a fix testcases, one case only works by turn restriction, needs investigation 2016-09-07 12:04:17 +02:00
Moritz Kobitzsch
a0ed70f0a2 don't detect sliproads at wrong locations, don't emit invalid instructions 2016-09-06 09:01:06 +02:00
Moritz Kobitzsch
d3a6b5a77e detect broken roundabout-taggings 2016-09-05 16:49:57 +02:00
Moritz Kobitzsch
f7265892ed correctly detect loss of prefix/suffix 2016-09-05 15:03:21 +02:00
Moritz Kobitzsch
be266c7c2b fix copy-paste typo in guidance lib 2016-09-05 15:00:42 +02:00
Moritz Kobitzsch
5d79e0ac2f catch infinite loops 2016-09-05 14:52:13 +02:00
Daniel Patterson
a4f9499305 Invalid string values in lanes:psv:backward should result in 0 lanes,
not `nil`.
2016-09-04 14:23:43 -07:00
Moritz Kobitzsch
d06eec5e42 improve segregated road detection 2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9648821a79 handle missing cases, cleaning up 2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
6a2518c0df handle stronger merge cases as well 2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
7886d06839 adjust angles pre-merge as well 2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
b6c3d1d5bf Cucumber Scenario for #2725 2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9b2f6585fb handle non-through case 2016-08-24 10:12:27 +02:00
Moritz Kobitzsch
46fd17a9ff moved obviousness discovery. updated sliproad handler. back to original cases failing 2016-08-24 10:12:27 +02:00
Daniel J. Hofmann
da73bae9c6 Scenario for unnecessary slight left onto Stralauer Str 2016-08-24 10:12:27 +02:00
Moritz Kobitzsch
38fef77d70
additional collapse cases 2016-08-19 12:43:51 +02:00
Moritz Kobitzsch
e8bae78749
fix errors introduced in refactor 2016-08-18 11:36:36 +02:00
Moritz Kobitzsch
9485c97738
adjusting u-turn handling in lane matching to fully fix 2706 2016-08-18 11:36:36 +02:00
Daniel J. Hofmann
d53c267129
Be more aggresive classifying Roundabout Intersections.
Roundabout Intersections are roundabouts with up to four ways and turn
angles which makes the turns obvious, e.g. as in:

```
    *
    *
* *   * *
    *
    *
```

but not

```
     *
    *
* *   *
    * *
     * *
```

For Roundabout Intersections we issue instructions such as
"turn <direction>" instead of "take the <nth> exit".

At the moment we have a limit on the radius for these Roundabout
Intersections of 5 meters. Which fails to classify a wide range of
Roundabout Intersections in the US (with the US-wide streets).

This changeset removes the Roundabout Intersection radius limit:

- if the roundabout is larger than a threshold and is named we classify
  it as a rotary

- if the roundabout matches our criteria for Roundabout Intersections
  we classify it as a Roundabout Intersection

- else fallback to plain old Roundabout

There is a second issue with determining a roundabout's radius.
But that's for another pull request (tracking in #2716).

References:
- https://github.com/Project-OSRM/osrm-backend/issues/2716
2016-08-18 10:50:32 +02:00
Moritz Kobitzsch
464de785cb fix removal of multiple geometries for first vertex 2016-08-09 12:02:07 +02:00
Daniel J. Hofmann
5bef5dcb04 Disable our added failing cucumber tests for now 2016-08-05 18:32:42 +02:00