Patrick Niklaus
fea07f343b
Load data in two separate data regions
2018-04-07 00:22:29 +02:00
Patrick Niklaus
0e8b8b4901
Add nodejs test for dataset name
2018-04-05 15:12:47 +02:00
Patrick Niklaus
666ce46d36
Refactor shared memory storage to allow for multiple named datasets
2018-04-05 15:12:47 +02:00
Patrick Niklaus
81a4747acb
Fix formating
2018-04-04 12:38:40 +02:00
Patrick Niklaus
aec9b6a178
Fixed reading DataLayout from shared memory
2018-04-04 12:38:40 +02:00
Patrick Niklaus
5395290fd5
Add directory listing
2018-04-04 12:38:40 +02:00
Patrick Niklaus
4a9fdca7b2
Remove fixed block identifiers
2018-04-04 12:38:40 +02:00
Duane Gearhart
8a63ad9b4b
Added post process logic to collapse segregated turn instructions ( #4925 )
...
* Added post process logic to collapse segregated turn instructions
* format updates
* Fixed coordinates to reflect reality
Updated left turn road name
* fixed coordinates to fix test
* Skip last step when processing segregated steps
* updated segregated turn test
* Updated segregated test
* Updated test: Segregated Intersection, Cross Belonging to Correct Street - features/guidance/collapse.feature:79
* Fixed all but one for features/guidance/collapse.feature:124
* Fixed Scenario: Partly Segregated Intersection, Two Segregated Roads, Intersection belongs to Second - features/guidance/collapse.feature:219
* Fixed 7 of th 9 failures for Scenario: Partly Segregated Intersection, Two Segregated Roads, Intersection belongs to Second - features/guidance/collapse.feature:219
* Fixed 7 of the 9 failures for Scenario: Segregated Intersection, Cross Belonging to Mixed Streets - Slight Angles (2) - features/guidance/collapse.feature:318
* Fixed Scenario: Segregated Intersection into Slight Turn - features/guidance/collapse.feature:581
* Updated Scenario: U-turn after a traffic light - features/guidance/turn-lanes.feature:1220
* Updated how we combine segregated steps
* Added test to Verify end of road left turn across divided roads
* Fixed divided highwat tests
* Fixed test failure
* fixed Scenario: Partitioned turn, Slight Curve - maxspeed - features/guidance/turn-lanes.feature:936
* Fixed Scenario: Partitioned turn, Slight Curve - features/guidance/turn-lanes.feature:961
* Added strategies to combine segrgated intersections
* Added setModifier alias for readability
* Added strategies to combine segrgated intersections
* Format updates
* Fixes segregated indentification to not mark `circular` edge as segregated
* Added intersection prior to turn so we still call out end of road
* updated expectation to be turn instead of continue
* Confirmed with @oxidase that the lane information if correct - updated the expectation
* Added logic to handle wider straights
Fixed tests
* Update CHANGELOG.md
Added #4925
* Removed TODO
* Process straight step prior to wider straight step
2018-03-30 07:43:56 -04:00
Michael Krasnyk
8b52c6c7ac
Update tests expectations and obvious detection
2018-03-20 16:33:15 +01:00
Michael Krasnyk
b7af6eb2a4
Remove correctly the last segment in annotation
2018-03-09 15:59:21 +01:00
Lev Dragunov
ac23e3b223
clang-format
2018-03-01 11:32:18 +01:00
Lev Dragunov
7922a6172a
Bearing calculation on matching short segments fix.
2018-03-01 11:32:18 +01:00
Michael Krasnyk
c048a36a4c
Use smaller range for U-turn angles in map-matching
2018-02-28 15:21:47 +01:00
Patrick Niklaus
bec57258a4
Add mmap allocator
2018-02-26 23:32:34 +01:00
Daniel Patterson
5531cace7f
Support maneuver relations ( #4676 )
2018-02-10 05:32:09 +11:00
Patrick Niklaus
97d027a173
Fix unused lambda capture warnings
2018-02-09 17:51:58 +01:00
Patrick Niklaus
a06d1782c0
Fix multi-line warning
2018-02-09 17:51:58 +01:00
Patrick Niklaus
e7bb612050
Move debug printer code to own header
2018-02-06 11:51:33 +01:00
Michael Krasnyk
988b6e3311
Split intersection analysis and guidance code
...
Intersection analysis occupy in osrm::extractor::intersection namespace
and guidance code osrm::guidance
2018-02-02 11:33:38 -05:00
Michael Krasnyk
36877e4de5
Move guidance pre-processing code into GUIDANCE library
2018-02-02 11:33:38 -05:00
Mateusz Loskot
8114104a43
Rename namespace partition to partitioner
...
Rename module partition to partitioner.
This cultivates naming used in existing modules like extractor,
customizer, etc. - noun vs verb (word partition is both though).
2018-02-02 11:07:18 +01:00
Karen Shea
c154875272
Only run step collapsing based on original waypoints parameter ( #4829 )
2018-01-29 12:35:55 -08:00
Kajari Ghosh
13bb997525
Revert "Get actual paths for every entry in a matrix."
...
This reverts commit 350bc6f756
.
2018-01-24 11:52:43 -05:00
Kajari Ghosh
350bc6f756
Get actual paths for every entry in a matrix.
2018-01-24 11:30:26 -05:00
karenzshea
55cc06fd8b
Add waypoints parameter to matching service, returns map matching result
...
with selective input coordinates as waypoints
2018-01-08 12:28:20 +01:00
Kajari Ghosh
84b6ef4340
add osrm-routed and node-osrm flags to configure mapmatching radius limit ( #4721 )
2017-12-20 16:53:43 +05:30
karenzshea
89080fb2b0
check for empty name_id before getting data
2017-12-11 15:37:56 +00:00
karenzshea
56459d37d1
access way names through RouteStep in post processing
2017-12-11 15:37:56 +00:00
karenzshea
3f7b5da683
check empty name string in turn collapsing
2017-12-11 15:37:56 +00:00
Michael Krasnyk
6fd0b56e32
Don't use removed alternative paths in filterPackedPathsByCellSharing
2017-11-29 13:17:24 +01:00
Michael Krasnyk
7361558c19
Allow single edge paths in MLD alternatives, #4691
2017-11-21 12:28:44 +01:00
vng
32e6ccb037
Code review fixes.
2017-11-16 15:08:30 +01:00
vng
92c4a228e1
Revert suppressSegregated routing.
2017-11-16 15:08:30 +01:00
vng
ec7e58e10e
Pass edge-based node segregated flag to the post processing routine.
2017-11-16 15:08:30 +01:00
Denis Koronchik
f460a9f17e
Add code to draw segregated nodes in a tile layer
2017-11-16 15:08:30 +01:00
Daniel Patterson
5b58445535
Expose driving_side as a property on RouteStep
2017-11-09 10:08:11 -05:00
Michael Krasnyk
5b79640b44
Don't compute new modifier for merge instructions in collapsing
2017-11-08 11:26:47 -05:00
Daniel J. Hofmann
9b83649a03
Fixes AppVeyor tests
2017-11-06 14:38:21 -05:00
Daniel J. Hofmann
aed7bd852d
Prints turn types and modifiers as strings
2017-11-06 14:38:21 -05:00
Moritz Kobitzsch
37774a331a
fix collapsing into uturns, that aren't u-turns
2017-10-17 15:08:29 +01:00
Patrick Niklaus
456b198702
Remove unused number of threads option again
2017-10-16 23:08:32 +02:00
karenzshea
2d1ea7a3de
template specialization
2017-10-13 14:53:49 +01:00
karenzshea
2a13f9d10b
fallback to CH, when coreCH used
2017-10-13 14:53:49 +01:00
Michael Krasnyk
f2fbe16979
Use for M*n (m*N) tables queries forward (backward) MLD search
2017-10-11 16:28:16 +01:00
Michael Krasnyk
5af05631c2
Suppress relaxation of edges on the top level during backward steps
2017-10-11 16:28:16 +01:00
Michael Krasnyk
8300a6c57e
Prepare phantom nodes indices in ManyToManySearch search
2017-10-11 16:28:16 +01:00
Michael Krasnyk
29d4bca9ba
Split algorithm-specific manyToMany implementations
2017-10-11 16:28:16 +01:00
Michael Krasnyk
020c17d19a
Remove unused packed path weights in MLD alternatives
2017-10-03 13:09:46 +02:00
Michael Krasnyk
d0936dc7fd
Don't force loops in MLD
...
Related commit 0972ec9115
2017-10-03 12:56:50 +02:00
Michael Krasnyk
e7be271c43
Optimize MLD one-to-many getNodeQueryLevel
2017-09-29 13:38:52 +02:00
Michael Krasnyk
790b574114
unordered_multimap compilation fixes
2017-09-29 13:38:52 +02:00
Michael Krasnyk
b3f59ab92c
Move duplicated code into insert_node lambda
2017-09-29 13:38:52 +02:00
Michael Krasnyk
f2333eb31a
Break tie for equal weights but different durations
...
There is no possibility until multiple-weights are implemented
to break tie in the contraction and the direct shortest path plugin
as duration is not computed during contraction.
This must be fixed after multiple-weights implementation
by using `std::tie(weight, duration)` pairs everywhere.
2017-09-29 13:38:52 +02:00
Michael Krasnyk
a862e5fb3a
Implement one-to-many unidirectional MLD search
2017-09-29 13:38:52 +02:00
Michael Krasnyk
2715e5758b
Split MLD many-to-many method
2017-09-29 13:38:52 +02:00
Michael Krasnyk
454487dd41
Refactor to reuse relaxOutgoingEdges in many-to-many plugin
2017-09-29 13:38:52 +02:00
Michael Krasnyk
fd7791a0e2
Fix gcc5 compilation
...
Ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77786
2017-09-15 16:29:40 +02:00
Michael Krasnyk
ee19383f4d
Link TBB task_scheduler lifetime with Engine scope
2017-09-15 10:55:13 +02:00
Michael Krasnyk
172a8bdcdb
Parallelize ManyToMany plugin
2017-09-15 10:55:13 +02:00
Michael Krasnyk
543048efcc
Remove std::unordered_map<NodeID, std::vector<NodeBucket>>
2017-09-15 10:55:13 +02:00
Michael Krasnyk
67c85ffa4c
Restructure manyToManySearch for parallelization
2017-09-15 10:55:13 +02:00
Moritz Kobitzsch
c2dc7e9cd0
use enter + exit for roundabout instructions ( #4358 )
...
* Expose roundabout/rotary exit instructions as a new instruction type.
2017-09-05 12:30:34 -07:00
Daniel Patterson
0fc1aa2711
Adds turn instructions to the turns layer in debug tiles. ( #4460 )
...
Add turn types and modifiers to turn points in debug tiles. Also refactor some of the tile code to reduce some repetition.
2017-09-01 15:08:22 -07:00
Lev Dragunov
80c55119d2
Add bearing for the phantom node
2017-08-31 11:11:05 +02:00
Patrick Niklaus
a4460abc83
Fix another manifestation of the off-by-one
2017-08-21 13:00:12 +02:00
Patrick Niklaus
d09f5c0e3a
Avoid -> Exclude
2017-08-21 13:00:12 +02:00
Patrick Niklaus
45140ca9f7
Fix off-by-one in avoid search
2017-08-21 13:00:12 +02:00
Patrick Niklaus
f93b331817
Add error handling for avoid not implemented
2017-08-21 13:00:12 +02:00
Patrick Niklaus
a3c94ef632
Avoid nodes that are disabled by an avoid flag
2017-08-21 13:00:12 +02:00
Patrick Niklaus
303a8fae32
Refactor cell weights and durations to own file and allow for multiple metrics
2017-08-21 13:00:12 +02:00
Moritz Kobitzsch
3687b6cb4b
respect difference between continue/turn on changing end-of-road
2017-08-16 09:19:15 +02:00
Moritz Kobitzsch
196ed9eb46
do not change fork directions when combining turns
2017-08-16 09:17:01 +02:00
Michael Krasnyk
2e404c60f4
Remove references to external sources
2017-08-14 16:18:36 +02:00
vng
40857aae61
Inject offline compressed data facade with OSRM_EXTERNAL_MEMORY option.
2017-08-14 16:18:36 +02:00
vng
f34320a89b
Fixed getting entry bearing for maneuver.
2017-08-11 11:40:58 +02:00
Daniel J. Hofmann
f7c8bac3fd
Handles distinction of no-route vs invalid-route in mld alternatives
...
The viaroute plugin always expects a route to be there potentially
with invalid edge weight to represent no-route-found. By switching
to the many-route-result for the mld alternatives algorithm we might
return an empty many-route-result invalidating the post-condition.
2017-07-22 12:50:54 +02:00
Pepijn Schoen
d9e8caf369
Use GetPath with file names over accessing member variables
2017-07-20 12:01:05 +02:00
Patrick Niklaus
440dccb81b
Move classes to intersection object and don't emit notifications
2017-07-18 16:48:22 +00:00
Daniel J. Hofmann
5ece65cade
Trigger lane anticipation based on distance, see discussion in #4260
2017-07-18 11:23:46 +02:00
Moritz Kobitzsch
f2f00b99e0
remove usage of use-lane completely
2017-07-18 11:23:46 +02:00
Moritz Kobitzsch
7b755d6f8b
deprecate use-lane -- the information can be found in the intersections array
2017-07-18 11:23:46 +02:00
Patrick Niklaus
49f0b1eb59
Add abstraction to change the data facade at compile time
2017-07-17 11:40:55 +00:00
Daniel J. Hofmann
54ceb05420
Implements Alternatives for MLD
2017-07-07 16:12:46 +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
Daniel J. Hofmann
7d900e3b5a
Implements Exit Numbers + Names (junction:ref
way tag for now)
2017-07-04 20:58:19 +00:00
Michael Krasnyk
359ab2b56e
Use highest different level with source but not parent node
2017-07-03 14:57:52 +00:00
Michael Krasnyk
aa736dbe3a
Generalize directShortestPathSearch interface
2017-07-03 14:57:52 +00:00
Michael Krasnyk
3534203083
Generalize manyToManySearch and remove duplications
2017-07-03 14:57:52 +00:00
Michael Krasnyk
517cb5f094
Matrix plugin with MLD overlay
2017-07-03 14:57:52 +00:00
Michael Krasnyk
b910ab9bcb
Add duration values to overlay graph
2017-07-03 14:57:52 +00:00
Michael Krasnyk
0fd71260d3
Enable ManyToManySearch in MLD
2017-07-03 14:57:52 +00:00
Moritz Kobitzsch
d660c1609c
don't collapse u-turns into combined turns
2017-06-30 09:25:03 +00:00
Daniel Patterson
4136bf2808
Add layer to debug tiles to expose all OSM nodes in that area.
2017-06-19 15:59:38 +00:00
Lev Dragunov
93d6fd05a9
No timestamps SIGSEV fix
2017-06-17 17:33:33 +00:00
Lev Dragunov
73c4bc1411
clang-format
2017-06-17 17:33:33 +00:00
Lev Dragunov
dc9b4bcfec
Time information for maximum distance in matching
2017-06-17 17:33:33 +00:00
Daniel Patterson
e3276324b9
Include 'rate' property (reciprocal of weight) on debug tile edges. ( #4162 )
...
Include 'rate' property (reciprocal of weight) on debug tile edges and add turn weight data to debug tiles.
2017-06-15 17:50:57 +02:00
Moritz Kobitzsch
f80e5db346
add support for visualising turn penalties in MLD Debug tiles ( #4157 )
...
- template function for tile functionality with edge finder operator
- refactors unit tests into single function (reduce code duplication)
- adds unit tests for core-ch
2017-06-15 13:59:44 +02:00
Daniel J. Hofmann
de1d5f199f
Uses correct coefficients for local optimality in CH alternatives
...
The alpha constant is for the local optimality T-Test threshold.
Before we used epsilon for the T-Test threshold, but the epsilon
constant is meant to be used for the stretch test(s) only.
This changeset fixes the local optimality T-Test and uses the
epsilon constant for the two stretch tests:
- We test the stretch for the total route against epsilon and
- We test the detour against the epsilon now, too
We can discuss if the second stretch test should actually use
epsilon, too, or a adapted value of it - but definitly not alpha.
2017-06-09 13:20:41 +02:00
Michael Krasnyk
03e83ec6a0
Fix invalid roundabout instructions for different driving modes, #4129
2017-06-08 15:01:27 +00:00
Lev Dragunov
d7035291ea
clang-format
2017-06-07 15:39:08 +03:00
Lev Dragunov
6b8f3c7fef
Polyline6 support in the REST input
2017-06-06 19:51:00 +03:00
Moritz Kobitzsch
ceaf065d0e
don't collapse highway ramps into uturns ( #4074 )
2017-06-01 12:39:10 +02:00
Michael Krasnyk
d262c4dfaa
[skip ci] Add comments about order of post-processing calls
2017-06-01 11:13:31 +02:00
Michael Krasnyk
dd009322de
Remove roundabout skip as no leavesRoundabout steps after postProcess
2017-06-01 11:13:31 +02:00
Michael Krasnyk
858ec2e655
Fix steps collapsing after non-closed roundabouts, #4100
2017-06-01 11:13:31 +02:00
Lev Dragunov
45ee096260
Ignore split breakage fix.
2017-05-26 10:55:03 +00:00
Michael Krasnyk
4964d0dcbd
Adjust expectation and remove non-valid assertions
2017-05-19 09:47:47 +00:00
Michael Krasnyk
1a7cd785f2
Rename .nodes -> .nbg_nodes and .nodes_data -> .ebg_nodes
2017-05-17 15:21:51 +00:00
Michael Krasnyk
26702920b4
Move ComponentID to EdgeBasedNodeDataContainer
2017-05-17 15:21:51 +00:00
Michael Krasnyk
ca6b1b39b7
Remove data duplicates in .node file
2017-05-17 15:21:51 +00:00
Daniel J. Hofmann
e064a9334b
Lifts restriction to only provide zero or one alternative routes
2017-05-12 13:54:22 +02:00
Daniel J. Hofmann
e12c7756d9
Weight-ifies alternatives related code-paths
2017-05-12 13:54:22 +02:00
Moritz Kobitzsch
f8002480c2
fix continue_straight interaction with bearing specification
2017-05-12 13:38:04 +02:00
Michael Krasnyk
12f47708cd
Adjust method and function names
2017-05-11 09:13:42 +00:00
Michael Krasnyk
9358aa1128
Disable nodes with invalid segments
2017-05-11 09:13:42 +00:00
Michael Krasnyk
40d0297885
Added unpacked_nodes vector to annotatePath interface
2017-05-03 21:59:38 +00:00
Michael Krasnyk
07c7cb3c6c
Rename BinaryHeap to QueryHeap
2017-05-02 15:54:25 +00:00
Daniel J. Hofmann
9334cc463d
Fixes Table not checking for valid phantom nodes
...
We failed to check if we could actually find phantom nodes for all
coordinates in the table plugin, leading to corrupt internal state.
```
curl 'http://localhost:5000/table/v1/car/7.4151,43.7305;7.4222,43.7368?radiuses=0 ;'
```
```
[assert][140505627227904] /tmp/osrm-backend/include/engine/routing_algorithms/routing_base.hpp:68
in: void osrm::engine::routing_algorithms::insertNodesInHeap(osrm::engine::SearchEngineData<osrm::engine::routing_algorithms::ch::Algorithm>::ManyToManyQueryHeap&, const osrm::engine::PhantomNode&) [with bool DIRECTION = false; osrm::engine::SearchEngineData<osrm::engine::routing_algorithms::ch::Algorithm>::ManyToManyQueryHeap = osrm::util::BinaryHeap<unsigned int, unsigned int, int, osrm::engine::ManyToManyHeapData, osrm::util::UnorderedMapStorage<unsigned int, int> >]: phantom_node.IsValid()
terminate called without an active exception
```
2017-05-02 13:41:33 +02:00
Patrick Niklaus
c446b017ef
Switch from macro based StrongTypedef to template version
2017-04-24 16:04:41 +00:00
Michael Krasnyk
dea3144c4d
Use total angle for turn instruction if entry step has large distance
2017-04-12 23:22:44 +00:00
Michael Krasnyk
59b70c4d11
Make CoreCH SearchEngineData inherited from CH one
...
this allows to keep a single Algorithm template parameter in internal
interfaces as
template <typename Algorithm>
search(SearchEngineData<Algorithm> &,
const datafacade::ContiguousInternalMemoryDataFacade<Algorithm> &, ...)
2017-04-12 10:54:09 +00:00
Michael Krasnyk
f96bae40ac
Remove unused {forward,reverse}_heap_2 in MLD engine data
2017-04-12 10:54:09 +00:00
Michael Krasnyk
ba974c73bf
Remove CoreCH heaps
2017-04-12 10:54:09 +00:00
Michael Krasnyk
e498ad3ee7
Make explicit fallback to CH heaps in CoreCH algorithms
2017-04-12 10:54:09 +00:00
Michael Krasnyk
1de031ed06
Remove {forward,reverse}_core_heap arguments from search interface
2017-04-12 10:54:09 +00:00
Patrick Niklaus
a88fef2937
Implement distance pruning for MLD as well
2017-04-10 17:25:55 +00:00
Patrick Niklaus
4e9e2ed5bd
Emit a notification when turning on a ferry and don't merge step
2017-04-07 15:29:53 +00:00
Michael Krasnyk
1aa8cc3b65
make getPathDistance algorithm-independent
2017-04-06 11:17:23 +00:00
Michael Krasnyk
c487d1307e
enable map matching in MLD
2017-04-06 11:17:23 +00:00
Michael Krasnyk
7726576bb7
use ADL and explicit instantiation for map matching
2017-04-06 11:17:23 +00:00
Michael Krasnyk
f660ae30dc
use explicit instantiation of shortestPathSearch
2017-04-06 10:36:40 +02:00
Michael Krasnyk
2766c24b42
prefer smaller legs for equal weights in shortest path plugin
2017-04-06 10:36:40 +02:00
Michael Krasnyk
48a098a9c7
implement MLD shortest path plugin
2017-04-06 10:36:40 +02:00
Michael Krasnyk
905ca69301
add Algorithm parameter to SearchEngineData
2017-04-06 10:36:40 +02:00
Michael Krasnyk
d66cc125aa
make first heaps algorithm-aware
2017-04-06 10:36:40 +02:00
Michael Krasnyk
8c64b01d67
itroduce ADL via algorithm specific ch, corech and mld namespaces
2017-04-06 10:36:40 +02:00
Lev Dragunov
497709da13
Review fixes
2017-03-22 10:39:36 +00:00
Lev Dragunov
cce4f6344c
TODO fixes
2017-03-22 10:39:36 +00:00
Lev Dragunov
2fab696bb3
New tidying and gaps parameters.
2017-03-22 10:39:36 +00:00
Lev Dragunov
69422cc4e7
Clang formatting.
2017-03-22 10:39:36 +00:00
Lev Dragunov
e9c0987e8a
Integration #3149 and #3815
2017-03-22 10:39:36 +00:00
Daniel J. Hofmann
bd9eb76a2d
Transparently Tidy Traces in Map Matching, resolves #2840 .
...
The Map Matching plugin currently has issues with:
- high frequency traces and (performance)
- blobs, think noise at traffic signals (correctness)
This changeset implements trace-tidying transparently for the user.
We hopefully will see both performance gains as well as better matches!
2017-03-22 10:39:36 +00:00
Lev Dragunov
441eae9df2
Tidying prarameter for the map matching plugin.
2017-03-22 10:39:36 +00:00
Michael Krasnyk
f1b88adebe
Avoid dynamic binding in getNodeQureyLevel
2017-03-17 13:20:34 +01:00
Michael Krasnyk
0c6ce6ce08
Implement MLD routingStep with cell restriction and without
2017-03-17 13:20:33 +01:00
Michael Krasnyk
152f77b665
Remove level field from heap node data
2017-03-17 13:20:33 +01:00
Michael Krasnyk
c648711f30
MLD direct shortest path plugin
2017-03-17 12:27:47 +01:00
Michael Krasnyk
6829f46c31
Split routing_base into CH and non-CH parts
2017-03-17 12:27:47 +01:00
Michael Krasnyk
43a7e8e08a
Rename {id|edge_id} to turn_id
2017-03-17 12:27:47 +01:00