Patrick Niklaus
440dccb81b
Move classes to intersection object and don't emit notifications
2017-07-18 16:48:22 +00:00
Moritz Kobitzsch
f2f00b99e0
remove usage of use-lane completely
2017-07-18 11:23:46 +02:00
Michael Krasnyk
b2ed46efb5
Check activation index of EntryClass and warn if activation failed
2017-07-13 22:14:41 +00:00
Moritz Kobitzsch
30b8225812
only consider allowed entries when continuing on motorways
2017-07-13 08:59:01 +00:00
Patrick Niklaus
fef0344be0
Don't use bool flags on ExternalMemoryNode because they blow up the struct
2017-07-07 13:24:34 +00:00
Patrick Niklaus
44739f2dc3
Allow users to specify a class for each way
...
This adds the ability to mark ways with a user-defined
class in the profile. This class information will be included
in the response as property of the RouteStep object.
2017-07-06 09:17:49 +00:00
Moritz Kobitzsch
4c7aa8f1c0
only consider narrow turns onto through streets straight
2017-07-04 22:03:04 +00:00
Michael Krasnyk
1b540fe0ba
Correct condition for is_going_straight_and_turns_continue
2017-06-29 15:10:37 +00:00
Michael Krasnyk
929e5a4de6
Review adjustments for driveway handler, #4151
2017-06-29 15:07:32 +00:00
Michael Krasnyk
df4f0d043a
Added driveway handler
2017-06-29 15:07:32 +00:00
Patrick Niklaus
e5464526c8
Port isc file
2017-06-27 09:58:19 +00:00
Patrick Niklaus
37b8d3acd4
Refactor turn lane passing
2017-06-27 09:58:19 +00:00
Daniel Patterson
35550d8c0a
Parallelize generation of the edge-expanded-edges.
2017-06-15 09:05:45 +00:00
Moritz Kobitzsch
a92674022a
make all u-turns continue
2017-06-01 12:39:10 +02:00
Moritz Kobitzsch
9bd2b0deaa
fix invalid turn angle in forks
2017-06-01 11:43:18 +02:00
Michael Krasnyk
314cf3f31a
Add a comment line about counting
2017-05-23 18:27:47 +00:00
Michael Krasnyk
1d26deb0be
Allow counting of service exits on service roundabouts, see #4075
2017-05-23 18:27:47 +00:00
Michael Krasnyk
a63b43c259
Place reverse entering_via_edge in the front of intersection_view
2017-05-22 09:33:59 +00:00
Daniel J. Hofmann
862ec14e06
Asserts Valid Iterators in Roundabout Exit Invalidation, see #4024
2017-05-22 09:33:59 +00:00
Michael Krasnyk
e605917083
Changed some assert to OSRM_ASSERT
2017-05-17 15:52:11 +00:00
Michael Krasnyk
2402d60429
Adjusted to PR comments
2017-05-02 16:55:03 +00:00
Michael Krasnyk
19494984eb
Fix incorrect exit turn invalidation
2017-05-02 16:55:03 +00:00
Patrick Niklaus
4ec7ca29f1
Fix formating
2017-04-06 15:42:38 +00:00
Patrick Niklaus
7f6e0c478b
Split QueryNode into coordinates and osm id
2017-04-06 15:42:38 +00:00
Moritz Kobitzsch
6c3390f14d
refactor of post-processing
...
- moves collapse into a dedicated set of functions / files
- make collapse scenarios distinct (slight performance cost)
- reduce verbosity for short name segments (now actually working, was supposed to do so before)
2017-02-25 12:17:22 +00:00
Moritz Kobitzsch
dc1d491c15
comments
2017-02-13 10:55:40 +00:00
Moritz Kobitzsch
e4d500f451
fix handling none-tags in presence of multiple turns within
2017-02-13 10:55:40 +00:00
Michael Krasnyk
6e1c4bfecd
Added indexed array data type with variable and fixed group blocks
2017-02-07 07:41:12 +00:00
Michael Krasnyk
ad594cb2e4
Update review findings
2017-01-27 11:19:37 +01:00
Patrick Niklaus
279f8aabfb
Allow specifing a weight for routing that is independent of duration
2017-01-27 11:19:37 +01:00
Moritz Kobitzsch
c7640903c3
don't emit invalid turns when having u-turns on ferries
2017-01-26 13:08:00 +01:00
Huyen Chau Nguyen
a40abacfca
Refactors the Turn Handler's Fork Abstraction, resolves #3457 .
2017-01-19 19:49:40 +01:00
Moritz Kobitzsch
6b06c5bd32
fix emitting invalid turn types, now surfacing due to changes in obvious detection
2017-01-18 15:56:48 +01:00
Moritz Kobitzsch
c1f833c80f
fix forks exiting a ferry
2017-01-12 09:58:51 +01:00
Moritz Kobitzsch
06ef3053de
fix coordinate assertion for walking profile with steps
2017-01-11 22:44:23 +01:00
Daniel J. Hofmann
b3483f95a7
Fixes Sliproads onto a roundabout to be classified as sliproads, resolves #3540
2017-01-09 17:46:05 +01:00
Huyen Chau Nguyen
f313cb9913
Refactor fork handling in guidance ( #3264 )
...
refactor fork handler
2017-01-07 14:13:32 +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
1153b78c06
Fixes various compiler diagnostics
...
Found with LLVM 3.9.1 and then fixed the most severe categories.
2017-01-06 16:47:52 +01:00
Michael Krasnyk
7dea7476f1
Removed unused structure and fixed "multi-line comment" warning
2017-01-05 12:59:12 +01:00
Michael Krasnyk
24ab71a346
Fix c++ formatting
2017-01-04 08:46:16 +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
Moritz Kobitzsch
b9b52cb857
clean-up unused headers, use NoTurn for ferries instead of suppressed
2016-12-23 15:01:02 +01:00
Daniel J. Hofmann
9af67c5a9f
Refactors Karen's work a bit
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
bc081b7132
refactor route step / intermediate intersections
...
rename intersection (engine version) to IntermediateIntersection
follow coding convention for existing functions, move invalidate into routeStep
moved elongate into route step
move forward-step-signage into route step
replace post-processings `forwardInto` with `RouteStep` functionality. Don't change maneuver in step
separete declaration and implementation
2016-12-22 08:33:27 +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
8a1afe456f
Works around Unreachable Warning for Debug Build
2016-12-13 12:41:25 +01:00
Moritz Kobitzsch
1cd5394a16
fix invalid assertion in coordinate_extractor
2016-12-12 10:12:32 +01:00
Daniel J. Hofmann
875f482203
Refactors and improves the Sliproad Handler, resolves #3109
2016-12-07 19:22:03 +01:00
Moritz Kobitzsch
df3c39cef5
clean-up guidance code/code in general
...
removes duplicated includes
removes unused includes
eliminates dedicated toolkits that resulted in circular dependencies
moves functionality close to data, where possible
2016-12-07 12:10:56 +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
Daniel Patterson
468d8c0031
Refactor logging, improve error handling workflow, clang-format. ( #3385 )
2016-12-06 12:30:46 -08:00
Moritz Kobitzsch
24b01fae00
fix extraction of coordinate along a way ( #3397 )
...
Also fix interpolation when coordinates are duplicated at the end of the vector
2016-12-02 13:11:04 -08:00
Daniel J. Hofmann
9d8b92f418
Abstracts away over differences in IntersectionView and Intersection.
...
Usage:
struct MyIntersection : EnableIntersectionOps<MyIntersection> {
};
Done.
We require MyIntersection having at least the member attributes from
IntersectionViewData but don't enforce a inheritance hierarchy.
2016-12-02 12:32:07 +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
Moritz Kobitzsch
a1127c3e09
reduce numbers of intersections in findNextIntersection, don't normalise for turn lanes
2016-11-30 10:21:53 +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
Moritz Kobitzsch
d02dd67e95
fix update to length cache
2016-11-23 11:27:59 +01:00
Moritz Kobitzsch
a49bd70985
add low precision intersection_generator mode for faster graph traversal
2016-11-22 18:25:19 +01:00
karenzshea
0bd08224bf
add comments, refactor find obvious turn
2016-11-21 13:16:30 -05:00
Moritz Kobitzsch
a4264c7849
fix node-based-graph-walker
2016-11-16 12:03:59 +01:00
Moritz Kobitzsch
538bbd47d1
fix length limited graph walker
2016-11-14 18:38:15 +01:00
Moritz Kobitzsch
f88ac989ea
reserve when possible
2016-11-11 14:48:50 +01:00
Moritz Kobitzsch
827a1fbd7a
separate intersection generation and intersection normalization
2016-11-10 12:56:46 +01:00
Moritz Kobitzsch
e84a0ea37c
reduce coordinate_extraction overhead. slowdown reduced by 30 percent
2016-11-10 10:44:54 +01:00
Moritz Kobitzsch
7073403f1b
rip out dedicated file for single function (minor refactor)
2016-11-09 12:52:39 +01:00
Daniel J. Hofmann
6ac9617d49
Adapt test to returning ref, Take Pronunciation into Account, Fixes name change heuristic usage in UTurn check
2016-11-08 12:14:23 +01:00
Moritz Kobitzsch
ccdebccde1
adjust sliproad handler for empty-name check, illustrate testcase
2016-11-08 12:14:23 +01:00
Daniel J. Hofmann
c1651ccb12
Uses Name Change Heuristic Instead of Comparing Name Ids
...
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2857
- https://github.com/Project-OSRM/osrm-backend/pull/2900
- https://github.com/Project-OSRM/osrm-backend/issues/2909
2016-11-08 12:14:23 +01:00
Moritz Kobitzsch
2fb40944bf
pull in intersection finder accumulator
2016-11-04 13:28:09 +01:00
Michael Krasnyk
b108d8ea21
Use explicit std::function for to_lane_count instead of auto
2016-11-04 10:46:24 +00:00
Daniel J. Hofmann
d2cd4fac2d
Fixes Always-Zero Lane Count Introduced in #3237
2016-11-03 15:52:18 +01:00
Moritz Kobitzsch
cd03877c90
link ConnectedRoad and TurnOperation via class hierarchy
...
and empower intersection by adding basic functionality to pod type
refactor extractor/toolkit into intersection
2016-11-03 13:42:29 +01:00
Moritz Kobitzsch
faa5185440
add node-based-graph traversal capabilities
2016-11-02 15:38:09 +01:00
Moritz Kobitzsch
8dc667f20d
fix warnings due to superfluous ;
2016-10-27 20:06:14 +02:00
Moritz Kobitzsch
8ff4bc09ac
fix breaking the sorting order by node adjustments
2016-10-27 19:55:56 +02:00
Moritz Kobitzsch
88c3f4c481
Considering multiple small turns, right after each
...
other can result in a combined turn angle that is
straight instead of turning left and right.
2016-10-27 19:19:23 +02:00
Moritz Kobitzsch
01a2c66472
rip out unused m_node_info_list
2016-10-27 18:51:59 +02:00
Moritz Kobitzsch
e8b947bca6
fix coordinate extraction with less than 1 meters past lane distance
2016-10-25 10:07:09 -07:00
Moritz Kobitzsch
ecee13bffa
actually calculate distance instead of using .distance
which is a timing value
2016-10-20 12:27:02 +02:00
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
karenzshea
72fa35da10
add a toolkit function to find lanes to the left/right of turn lanes
2016-10-13 17:59:25 +02:00
Moritz Kobitzsch
17eb664597
don't get disturbed by service roads in obvious discovery
2016-10-13 16:10:59 +02:00
Moritz Kobitzsch
036475afd0
restructure for readability
2016-10-07 09:35:16 +02:00
Moritz Kobitzsch
378322f6e3
don't provide turn-straight next to suppress-straight
2016-10-07 09:35:16 +02:00
Moritz Kobitzsch
73179641b1
clang-format code
2016-10-06 14:06:19 +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
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
Moritz Kobitzsch
8522cddd61
Prevent loops in extraction based on merge
2016-09-19 13:33:52 +02:00
Moritz Kobitzsch
aa5f8dce23
fix may be uninitialised warnings
2016-09-15 08:25:17 +02:00
Moritz Kobitzsch
092e77e89b
fix false positives in sliproads
2016-09-13 14:11:29 +02:00
Moritz Kobitzsch
b3c5a9c010
fix looping in sliproad handler for lanes
2016-09-12 18:20:28 +02:00
Moritz Kobitzsch
c306a59854
make sure to not-collapse different travel modes
2016-09-08 15:01:25 +02:00