Daniel Patterson
364e35af06
Remove estimated_cells value in the response.
2018-11-02 01:08:59 -07:00
Daniel Patterson
985ab58f45
Add feature to fill null table entries with as-the-crow-flies estimates.
2018-11-02 01:07:24 -07: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
Daniel Patterson
b7e7d32361
Expose new --mmap switch
(mmap_memory: true
in NodeJS), and run test suite in this mode, as well as shared memory mode.
2018-10-26 23:54:00 -07:00
Daniel Patterson
2f9cb44368
mmap
tarfiles directly when mmapping is enabled, instead of copying data into separate mmapped block
...
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-26 23:53:59 -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
Michael Krasnyk
82b5648c97
Don't collapse segregated intersections at roundabout exits, #5114
2018-06-21 15:24:03 +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
89f6e2d55b
Parse table annotations param correctly ( #5050 )
...
* fix incorrect parameter parsing for node osrm and add tests
* fix boost spirit grammar parsing for annotations
* return NotImplemented when distance annotation is requested for MLD in table plugin
* update docs
2018-04-24 11:05:35 -04:00
Michael Krasnyk
c628ecbf24
Update tile unit tests
2018-04-24 15:40:57 +02:00
Jochen Topf
b6f19cd544
Use vtzero in tile plugin.
...
This uses the new vtzero library (https://github.com/mapbox/vtzero )
instead of using protozero directly.
2018-04-24 15:40:57 +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
Duane Gearhart
7740d5d7c0
Do not combine a segregated edge with a roundabout ( #5040 )
...
* Do not combine a segregated edge with a roundabout, add test
2018-04-20 11:41:53 +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
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
Patrick Niklaus
39dd484f45
Restore the connectivity checksum check
2018-04-07 00:22:29 +02:00
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