Commit Graph

370 Commits

Author SHA1 Message Date
Moritz Kobitzsch c7640903c3 don't emit invalid turns when having u-turns on ferries 2017-01-26 13:08:00 +01:00
Daniel J. Hofmann c277b95f03 Implements Zero-Copy String Views onto Contiguous Memory, resolves #3265.
- http://www.boost.org/doc/libs/1_61_0/libs/utility/doc/html/string_ref.html
- http://en.cppreference.com/w/cpp/string/basic_string_view
2017-01-23 15:22:39 +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 Seemann 59ad7dddb2 make osm_elements a loop variable, not a local variable
The vector osm_elements was created and destroyed in each loop
iteration. It can be kept and cleared instead.
2017-01-13 11:12:02 +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
FILLAU Jean-Maxime 300283d572 Adding a new command line option osrm-extract --with-osm-metadata
This keep the metadata reader flag disabled by default unless explicitly specified.

Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-01-04 14:35:45 +01:00
FILLAU Jean-Maxime aad2124faa Adding nodes's and ways's version access in lua binding.
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-01-04 14:35:45 +01:00
Michael Krasnyk 24ab71a346 Fix c++ formatting 2017-01-04 08:46:16 +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
Patrick Niklaus 0f3a463854 Add api_version gloabal variable to profiles
Currently only `0` is supported (the default).
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
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
FILLAU Jean-Maxime 37051e1583 Adding the location validity access for lua scripting.
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2016-12-16 16:02:24 +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
karenzshea 68e38880df switch back to lua based env naming 2016-12-15 10:55:16 +01:00
karenzshea d5904d5756 increase template depth on clang and gcc builds 2016-12-15 10:55:16 +01:00
Daniel J. Hofmann 0f59b78c02 Rewrite lua bindings using sol interface 2016-12-15 10:55:16 +01:00
Daniel Patterson 3dfbf42e61 Don't mark all lanes as designated when there are blank lane specifiers in the tag. 2016-12-15 10:55:16 +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
Daniel J. Hofmann 949d505783 Removes access_restricted flag internally 2016-12-05 14:15:47 +01: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
Daniel Patterson 5a311012af Consolidate file reading through the new FileReader class/interface. (#3321) 2016-11-30 19:08:01 -08: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
Daniel J. Hofmann 08b7270f5c Fixes accidentally registering types twice to Luabind, closes #2811. 2016-11-22 10:09:08 +01:00
Kajari Ghosh fc52dd85fe refactor graph_loader (#3333)
Refactors the GraphLoader class to use the safer FileReader wrapper for better error handling.
2016-11-21 17:32:00 -08:00
karenzshea 0bd08224bf add comments, refactor find obvious turn 2016-11-21 13:16:30 -05:00
Daniel J. Hofmann 2a383efbf6 Makes Throughput Numbers Integral Types 2016-11-21 12:41:25 +01:00
Patrick Niklaus 3bade8625f Don't crash on assigning nil to a string in lua 2016-11-21 12:17:44 +01:00