Ryan Velazquez
921c2f9482
Update kCellsAtMostSameBy comment
2019-10-02 07:12:42 -04:00
Daniel Patterson
a67c4bf84d
Calculating durations is unavoidable due to tie-breaking minimums, but we can avoid accumulating distances if they're not requested.
2018-10-30 15:41:06 -07:00
Daniel Patterson
498259b220
Replace dynamic distance calculation for table plugin with pre-calculated distances on shortcuts, avoiding unpacking cost.
...
Adds approx 10% to total data size. Speeds up large table requests by 2 orders of magnitude.
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-30 15:41:06 -07:00
Kajari Ghosh
5597415f28
Revert "Improve speed of Map Matching" ( #5196 )
...
* Revert "Update changelog"
This reverts commit 9b779c704f
.
* Revert "Fix formating"
This reverts commit 5bd7d04fe3
.
* Revert "Fix bug in computation of distance offset for phantom node"
This reverts commit 0f78f7b2cc
.
* Revert "Adjust text cases for flightly different matching due to rounding"
This reverts commit 8473be69d2
.
* Revert "Round network distance to deci-meter to retain previous behavior"
This reverts commit c0124f7d77
.
* Revert "Preserve heap state in map matching"
This reverts commit b630b4e32a
.
* Revert "Use distance functions from many to many"
This reverts commit 89fabc1b9c
.
* Revert "Use FCC algorithm for map matching distance calculation"
This reverts commit a649a8a5cf
.
2018-09-06 12:05:28 -04:00
Patrick Niklaus
5bd7d04fe3
Fix formating
2018-08-02 12:19:24 +02:00
Patrick Niklaus
c0124f7d77
Round network distance to deci-meter to retain previous behavior
2018-08-02 12:19:24 +02:00
Patrick Niklaus
b630b4e32a
Preserve heap state in map matching
2018-08-02 12:19:24 +02:00
Patrick Niklaus
89fabc1b9c
Use distance functions from many to many
2018-08-02 12:19:24 +02:00
Patrick Niklaus
3b4e2e83ef
Fix excluding nodes for one to all query
2018-05-08 15:50:25 +00:00
Patrick Niklaus
c459530cb6
Address PR comments
2018-05-08 15:50:25 +00:00
Kajari Ghosh
2a15e6dec8
Add support for annotations=distances in MLD
...
This commit brings feature parity with CH for the `table` pluging.
2018-05-08 15:50:25 +00:00
Michael Krasnyk
cacb162520
Review and rebase updates
2018-04-28 08:59:18 +02:00
Michael Krasnyk
9695fa7941
Remove weight and duration from customizer::EdgeBasedGraphEdgeData
2018-04-28 08:59:18 +02:00
Michael Krasnyk
fd9bebbfa7
Add EBG node durations
2018-04-28 08:59:18 +02:00
Michael Krasnyk
db18e8669f
Always read .osrm.enw file in updater
2018-04-28 08:59:18 +02:00
Kajari Ghosh
1bc3ff6491
fix the ascii art to make sense
2018-04-25 23:51:27 +02:00
Kajari Ghosh
b0f2ef287e
fix the offset case when there is no packed path to unpack
2018-04-25 23:51:27 +02:00
Patrick Niklaus
16f53ff81a
Sort unpacked paths by sharing
2018-04-25 16:07:31 +02:00
Patrick Niklaus
7a260dc2ba
More parameter tuning
2018-04-25 16:07:31 +02:00
Patrick Niklaus
1c0d951f5e
Adjust to PR comments
2018-04-25 16:07:31 +02:00
Patrick Niklaus
77a740c0fb
Parameter tuning for different route lengths
2018-04-25 16:07:31 +02:00
Patrick Niklaus
61101db8cf
Use duration and not weight for sharing
2018-04-25 16:07:31 +02:00
Patrick Niklaus
b51632a2fb
Chose alternatives parameters based on coordinate distance
2018-04-25 16:07:31 +02:00
Patrick Niklaus
9d10503a9c
Replace step function with contious scaling
2018-04-25 16:07:31 +02:00
Patrick Niklaus
7d50e5afe0
Refactor parameters to be selected at runtime
2018-04-25 16:07:31 +02:00
Patrick Niklaus
549216c792
Compute sharing weighted by edge weight
...
This ensures that small insignificat turns don't affect the overall
sharing metric too much.
2018-04-25 16:07:31 +02:00
Patrick Niklaus
1990de7dcc
Fix inserting edges of shortest path for sharing check
...
This caused very sub-optimal routes to be selected.
2018-04-25 16:07:31 +02:00
Kajari Ghosh
14860b62e9
Unpack paths and return total distance in matrix plugin for CH ( #4990 )
2018-04-20 18:18:55 -04:00
Patrick Niklaus
bf2b45120a
Use ArrayStorage for boundary nodes to optimize MLD
...
For the MLD algorithm we can partition the NodeID range into boundary
and non-boundary nodes. Since there are only we boundary nodes we can
use the ArrayStorage for those yielding much faster query times.
2018-04-09 15:08:00 +02:00
Michael Krasnyk
8d8042ebae
Use ranges with fixed types
2018-04-09 11:05:01 +02:00
Kajari Ghosh
be123cd72f
Use ranges in datafacade instead of vectors
...
Range type must use immutable references due to a
regression in `boost::any_range`.
References:
https://svn.boost.org/trac10/ticket/10493
https://stackoverflow.com/questions/42427395/boostany-range-with-optimization-level-o2-causes-crash/42427662
2018-04-09 11:05:01 +02: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
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
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
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