Siarhei Fedartsou
aadc088084
Fix distance calculation consistency. ( #6315 )
...
Consolidate great circle distance calculations to use cheap ruler library.
2022-08-19 22:31:40 +01:00
Michael Bell
f87a324633
Fix crash in MLD alternative search if source or target are invalid ( #5851 )
...
In situations where there is not a valid source or target phantom
node (e.g. when snapping to an edge with a zero weight), a
heap assertion will fail in the MLD alternative search code.
We fix this by checking for empty heaps before proceeding with
the search.
2020-10-08 15:27:02 -07:00
Ryan Velazquez
921c2f9482
Update kCellsAtMostSameBy comment
2019-10-02 07:12:42 -04:00
Michael Krasnyk
cacb162520
Review and rebase updates
2018-04-28 08:59:18 +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
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
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
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
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
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
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
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