Moritz Kobitzsch
b8beac2d00
unite process/shared_memory datafacades into a single type using an allocator scheme
2017-01-19 17:18:35 +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 Kobitzsch
226ee62981
refactor graph contractor for readability
...
move to a dedicated dijkstra, separate code and header
reduce heap size, we don't use more than 2000 nodes, so why allocate 170k?
2017-01-18 15:03:15 +01:00
Michael Krasnyk
d0f1347ff1
Adjusted number of nodes
in annotation
, resolves #3515
2017-01-16 23:54:00 +01:00
Michael Krasnyk
3837f9d015
fix windows build
2017-01-14 01:14:29 +01:00
Michael Krasnyk
b6f9ec2a33
make facades const to be consistent with const shmem block
2017-01-14 01:14:29 +01:00
Michael Krasnyk
5d3a348b76
removed stale code
2017-01-14 01:14:29 +01:00
Patrick Niklaus
104e23abf3
Restore --max-wait and file_lock for osrm-datastore
2017-01-14 01:14:29 +01:00
Patrick Niklaus
a7bb26f2d6
Remove unnecessary includes and rename in Engine
2017-01-14 01:14:29 +01:00
Michael Krasnyk
710ba20acc
Add 1ms delay as a workaround for "faster" requests than facade update
...
in osrm-routed
2017-01-14 01:14:29 +01:00
Michael Krasnyk
fce8d72895
Change to condvar signaling if data region swapped
2017-01-14 01:14:29 +01:00
Michael Krasnyk
774b8688ca
read_only if shmem size is 0, read_write otherwise
2017-01-14 01:14:29 +01:00
Michael Krasnyk
71e7d6d6b8
Refactor R-Tree updates and edges loading
2017-01-13 22:37:46 +01:00
Michael Krasnyk
29f736f1c8
Make CSV parsing function generalized
2017-01-13 22:37:46 +01:00
Michael Krasnyk
bb4f13a47c
Use internal logger instead of std stream
2017-01-13 19:55:25 +01:00
Moritz Seemann
bb0b03bbce
fix: do not check datasource_indexes_path twice
...
In storage_config.cpp the file paths are validated, but
datasource_indexes_path got validated twice and datasource_names_path
not at all.
2017-01-13 11:12:02 +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
Daniel J. Hofmann
f82740ed93
Logs the current thread's id in assertions and for requests, resolves #3534
2017-01-12 16:43:03 +01:00
Moritz Kobitzsch
c1f833c80f
fix forks exiting a ferry
2017-01-12 09:58:51 +01:00
Daniel J. Hofmann
813e16b9b4
Fixes default profile symlink not being available
...
Adaption for b8e13d9b
- people are running into this.
2017-01-12 09:34:38 +05:30
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
Daniel J. Hofmann
185e9dc7f3
Removes mlock for osrm-routed, closes #3484
2017-01-09 16:25:28 +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 Patterson
f7e8581a1b
Replace fingerprint with semver-based scheme. ( #3467 )
2017-01-06 13:45:08 -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
Daniel J. Hofmann
b5d5f309a3
Consider number of lanes to cross, resolves #3025 .
...
Lane Anticipation currently triggers on quick steps with lanes. This
changeset makes the "quick" part more dynamic by taking lanes left and
right of the turn into account. The reasoning for this is as follows.
The user can drive on the leftmost or rightmost lane and has to cross
all lanes left or right of the turn, respecitvely.
We scale our threshold appropriately, which now means the threshold
describes the duration the user needs for crossing _a single lane_.
Note: this is a heuristic and assumes the worst case. Which in my
opinion is fine to do since triggering Lane Anticipation in complex
scenarios is desirable.
2017-01-06 12:44:40 +01:00
Daniel J. Hofmann
559c88b36d
Adds runtime alignment assertions, see #3267
2017-01-05 16:27:53 +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
Michael Krasnyk
f8499957fa
Unhandled exceptions lead to error 0xC0000409 on windows
2017-01-03 10:24:48 +01:00
Jihyun Yu
421caa1856
Fix copying vector on std::sort comparator ( #3504 )
2016-12-30 13:57:21 -08: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
Michael Krasnyk
b376c97db8
Join LAYOUT and DATA shared memory blocks into REGION
2016-12-23 11:56:22 +01:00
Daniel J. Hofmann
7b11cd3a11
Makes Types in Squared Dist Calculation Explicit, see #3483 .
2016-12-22 15:43:04 +01:00
Michael Krasnyk
76de3b6ace
Make a hard reset of named barrier mutexes on signal
2016-12-22 15:13:12 +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
Patrick Niklaus
3cbac0f012
Revert "Smarter search radius formula for map matching"
...
This reverts commit b73c59088c
.
2016-12-21 22:41:48 -08:00
Patrick Niklaus
f40b34af9d
Revert "Fix capture"
...
This reverts commit 4f81e31d63
.
2016-12-21 22:41:42 -08:00
Patrick Niklaus
cc14fb8bff
Revert "Hardcode search radius parameters"
...
This reverts commit 2c9e18d5a9
.
2016-12-21 22:41:34 -08:00
Patrick Niklaus
c5e3fa916f
Revert "Fix call to std::min"
...
This reverts commit 8bb183bc8c
.
2016-12-21 22:41:22 -08:00
Moritz Kobitzsch
dff7fe214b
don't assign exit
in arrive when ending in roundabout
2016-12-21 17:48:23 +01:00
Michael Krasnyk
3b2ca720a8
Revert "Make a hard reset of named barrier mutexes on signal"
...
This reverts commit df4231341f
.
2016-12-21 13:48:16 +01:00
Michael Krasnyk
df4231341f
Make a hard reset of named barrier mutexes on signal
2016-12-21 13:37:16 +01:00
Daniel J. Hofmann
b1f6797aab
Adds generate_hints=true
for dropping hints in response, resolves #1789 .
...
Adds an `generate_hints=false` option which lets us skip generating and
emitting hints for Waypoints. This can be used to decrease the response
size when the user does not need hints anyway.
We should think about making `false` the default here in v6.
2016-12-19 12:09:36 +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
Daniel Patterson
a51ef67db8
Use common function for clamping logic for all user-visible bearings.
2016-12-15 10:59:17 +01:00
Moritz Kobitzsch
67ce19cb14
fix problem at the source
2016-12-15 10:59:17 +01:00
Daniel Patterson
1b51163b1d
Clarify API and ensure bearings returned to users are in the range 0-359
2016-12-15 10:59:17 +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 Patterson
f88f51fd98
Log some memory usage statistics after preprocessing tasks.
2016-12-13 21:59:12 +01:00
Daniel J. Hofmann
8a1afe456f
Works around Unreachable Warning for Debug Build
2016-12-13 12:41:25 +01:00
Patrick Niklaus
f1384f5e44
Merge pull request #3434 from Project-OSRM/fix/invalid-assertions
...
fix invalid assertion in coordinate_extractor
2016-12-12 19:19:47 +01:00
Moritz Kobitzsch
1cd5394a16
fix invalid assertion in coordinate_extractor
2016-12-12 10:12:32 +01:00
Daniel Patterson
8c7f744b1a
Update node weights if traffic data is applied.
2016-12-11 16:02:58 +01:00
Daniel Patterson
17e15033e1
Log helpful error message if mmap fails.
2016-12-07 22:03:49 +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
Michael Krasnyk
4b1aae40af
Decoding should not fail for incomplete polyline strings ( #3404 )
...
Possible fails in
1) correct lattitude, longitude is missing
2) no end-of-number (0 5th bit) marker in the last character
2016-12-06 14:09:18 +01: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 Patterson
0817cd6dfd
Enforce iteration order so that tiles are encoded consistently on all platforms ( #3393 )
2016-12-02 08:59:39 -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
Karen Shea
ef087f963d
Merge pull request #3324 from Project-OSRM/constrain-staggering
...
Constrain staggered intersection detection by mode change and intermediary intersections
2016-11-30 07:35:17 -05:00
Moritz Kobitzsch
a1127c3e09
reduce numbers of intersections in findNextIntersection, don't normalise for turn lanes
2016-11-30 10:21:53 +01:00
karenzshea
37824e2954
don't staggered intersections on intermediary mode changes
2016-11-29 14:39:16 -05:00
karenzshea
ce5bcc797b
opening typo
2016-11-29 09:39:05 -05: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
Michael Krasnyk
e343f71541
Refactor Hilbert values computation
2016-11-28 14:17:12 +01:00
Michael Krasnyk
0df0d31d83
Fix nodes file reading in rtree benchmark
2016-11-28 14:17:12 +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
karenzshea
3680fc9d90
add check/test for intermediary intersections
2016-11-18 08:52:47 -05:00
karenzshea
836e8bdff0
don't collapse with mode changes
2016-11-18 08:52:47 -05:00
Emil Tin
a5756fc764
fix c++ formatting
2016-11-18 00:21:34 +01:00
Emil Tin
dce685c780
ensure we don't pass empty tags to LUA
2016-11-18 00:21:34 +01:00
Emil Tin
d87a972c66
don't return empty tags strings to lua
2016-11-18 00:21:34 +01:00
Kerrick Staley
8bb183bc8c
Fix call to std::min
2016-11-17 17:56:23 +01:00
Kerrick Staley
2c9e18d5a9
Hardcode search radius parameters
2016-11-17 17:56:23 +01:00
Kerrick Staley
4f81e31d63
Fix capture
2016-11-17 17:56:23 +01:00
kerrick-lyft
b73c59088c
Smarter search radius formula for map matching
2016-11-17 17:56:23 +01:00
Daniel J. Hofmann
1b4779a58c
Avoids Shuffling Data Around for Nothing, closes 3306
2016-11-17 12:51:18 +01:00
Michael Krasnyk
1eaf9f3269
Fix ubsan runtime error: left shift of negative value -9
2016-11-16 12:12:20 -08:00
Michael Krasnyk
d5bf508046
Fix alignments in shared facade via alignof/std::align
2016-11-16 18:20:19 +01:00
Moritz Kobitzsch
47b097038a
fixes warning due to type only used in debug
2016-11-16 12:20:05 +01:00
Moritz Kobitzsch
a4264c7849
fix node-based-graph-walker
2016-11-16 12:03:59 +01:00
Daniel Patterson
eb12c16fd6
Output newlines for each progress indicator when not on a tty.
2016-11-15 18:14:05 -08:00
Daniel Patterson
53ef2e2955
Use an enum type for the 'should read fingerprint' flag, rather than a mysterious boolean
...
Fix tests.
2016-11-15 16:55:02 -08:00
Daniel Patterson
7b1131b982
Consolidate vector deserialization.
2016-11-15 16:55:02 -08:00
Daniel Patterson
83a9d0590d
Pass-by-reference instead of pointer.
2016-11-15 16:55:02 -08:00
Daniel Patterson
608044305d
Rename the datafacades to more clearly describe what they do.
2016-11-15 16:55:02 -08:00
Daniel Patterson
4760b85930
Add checking assertions for all copy operations.
2016-11-15 16:55:02 -08:00
Daniel Patterson
9e2782d923
Fix undefined behaviour - we were referring to two different temporaries.
2016-11-15 16:55:02 -08:00
Daniel Patterson
2dfeb0cabc
Remove unused code.
2016-11-15 16:55:02 -08:00
Daniel Patterson
2f9b5788d0
Destructor should fail hard if an exception is raised.
2016-11-15 16:55:02 -08:00
Daniel Patterson
e2e5eb0169
Remove use of ShM<>::vector in favour of the boost::iterator_range
2016-11-15 16:55:02 -08:00
Daniel Patterson
4ad6d88888
Refactor file loading to use a common class that has proper error handling.
2016-11-15 16:55:02 -08:00
Daniel Patterson
e226b52f21
const-ify things, use RAII for file closure, and start to use io:: to read some stuff.
2016-11-15 16:55:02 -08:00
Daniel Patterson
de4fd76d57
Clean up some todo notes.
2016-11-15 16:55:02 -08:00
Daniel Patterson
bf6df74d44
Consolidate datafacade file loading logic.
...
Both datafacades now use a single large memory block and common
file loading logic.
2016-11-15 16:55:02 -08:00
Moritz Kobitzsch
538bbd47d1
fix length limited graph walker
2016-11-14 18:38:15 +01:00
Moritz Kobitzsch
6ec505281e
fix edge discovery in tile plugin
2016-11-12 02:15:04 +01:00
Patrick Niklaus
5a293e891b
Merge pull request #3296 from Project-OSRM/libosmium-2.10.0
...
Osmium 2.10
2016-11-12 02:12:49 +01:00
Michael Krasnyk
b57169e221
Flush stxxl vectors before using in PrepareData
2016-11-12 02:09:51 +01:00
Lev Dragunov
045d25041f
Review fixes.
2016-11-12 02:05:48 +01:00
Lev Dragunov
170923874b
Add request duration to routed logs.
2016-11-12 02:05:48 +01:00
Daniel J. Hofmann
0375af197d
Skips OSM object metadata reading, closes #3278
2016-11-11 16:35:57 +01:00
Moritz Kobitzsch
f88ac989ea
reserve when possible
2016-11-11 14:48:50 +01:00
Moritz Kobitzsch
827a1fbd7a
separate intersection generation and intersection normalization
2016-11-10 12:56:46 +01:00
Moritz Kobitzsch
e84a0ea37c
reduce coordinate_extraction overhead. slowdown reduced by 30 percent
2016-11-10 10:44:54 +01:00
Moritz Kobitzsch
88208bfa5d
add testscases for mode changes / additional assertions
2016-11-09 12:55:28 +01:00
Moritz Kobitzsch
7073403f1b
rip out dedicated file for single function (minor refactor)
2016-11-09 12:52:39 +01:00
Daniel Patterson
cef53c4b56
Fix key/val offset bug.
2016-11-08 11:45:28 -08:00
Daniel Patterson
481b03baeb
Review changes.
2016-11-08 11:45:28 -08:00
Daniel Patterson
f96e61ee06
Construct adjacency list and properly traverse it.
2016-11-08 11:45:28 -08:00
Daniel Patterson
af7960a796
Fix buffering of query box - it was shrinking in the Y axis, rather than growing.
2016-11-08 11:45:28 -08:00
Daniel Patterson
4c6d6aeaa7
Fix retrieval of forward/reverse data.
2016-11-08 11:45:27 -08:00
Daniel J. Hofmann
6ac9617d49
Adapt test to returning ref, Take Pronunciation into Account, Fixes name change heuristic usage in UTurn check
2016-11-08 12:14:23 +01:00
Moritz Kobitzsch
ccdebccde1
adjust sliproad handler for empty-name check, illustrate testcase
2016-11-08 12:14:23 +01:00
Daniel J. Hofmann
c1651ccb12
Uses Name Change Heuristic Instead of Comparing Name Ids
...
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2857
- https://github.com/Project-OSRM/osrm-backend/pull/2900
- https://github.com/Project-OSRM/osrm-backend/issues/2909
2016-11-08 12:14:23 +01:00
Kajari Ghosh
f33180f092
request polyline with precision of 5 or 6 positions ( #3220 )
2016-11-07 15:11:21 -05:00
Moritz Kobitzsch
3eeb3cb6c6
fix collapsing of roundabout instructions
2016-11-07 17:16:44 +01:00
Michael Krasnyk
3e18e31bc9
Added percent-encoding to URL parser
...
Reference:
https://tools.ietf.org/html/rfc1738
2016-11-07 14:16:51 +01:00
Moritz Kobitzsch
2fb40944bf
pull in intersection finder accumulator
2016-11-04 13:28:09 +01:00
Michael Krasnyk
b108d8ea21
Use explicit std::function for to_lane_count instead of auto
2016-11-04 10:46:24 +00:00
Daniel J. Hofmann
d2cd4fac2d
Fixes Always-Zero Lane Count Introduced in #3237
2016-11-03 15:52:18 +01:00
Moritz Kobitzsch
cd03877c90
link ConnectedRoad and TurnOperation via class hierarchy
...
and empower intersection by adding basic functionality to pod type
refactor extractor/toolkit into intersection
2016-11-03 13:42:29 +01:00
Moritz Kobitzsch
388d84a89e
check for compatibility in post-processing ( #3227 )
2016-11-02 16:59:35 -06:00
Patrick Niklaus
b749d9bd2f
Address PR comments
2016-11-02 16:45:20 +00:00
Patrick Niklaus
8f00936790
Fix non-overlap logic for simplified geometries.
2016-11-02 16:45:20 +00:00
Moritz Kobitzsch
faa5185440
add node-based-graph traversal capabilities
2016-11-02 15:38:09 +01:00
Moritz Kobitzsch
4ba8ccfcce
add a geojson debugger that allows creating features for easy inspection
2016-11-02 14:54:00 +01:00
Kajari Ghosh
c30f43b148
added max_speed to the profiles ( #3089 )
2016-11-01 17:13:10 -04:00
Denis Koronchik
5da63998d6
Add support of custom ServiceHandler
2016-10-31 15:38:03 +01:00
Patrick Niklaus
f02b7b0910
[skip ci] Fix formating using format.sh
2016-10-28 14:45:05 -07:00
Dane Springmeyer
a22e0fa62e
minor build fixes
...
- Travis: Upgrade clang from 3.8.0 to 3.8.1 (provides smaller package for faster downloading)
- Travis: Makes BUILD_COMPONENTS an option
- Followup after #3130 (Boost_LIBRARIES variable no longer exists)
2016-10-27 13:39:33 -07:00
Moritz Kobitzsch
8dc667f20d
fix warnings due to superfluous ;
2016-10-27 20:06:14 +02:00
Moritz Kobitzsch
8ff4bc09ac
fix breaking the sorting order by node adjustments
2016-10-27 19:55:56 +02:00
Moritz Kobitzsch
88c3f4c481
Considering multiple small turns, right after each
...
other can result in a combined turn angle that is
straight instead of turning left and right.
2016-10-27 19:19:23 +02:00
Moritz Kobitzsch
01a2c66472
rip out unused m_node_info_list
2016-10-27 18:51:59 +02:00
Huyen Chau Nguyen
cf35bbeb50
refactor function names; consolidate readCount() functions;
...
remove templated types as much as possible for type safety;
add more comments;
clean up code, add const if possible;
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
fe94977c9b
refactor loading code of .ramIndex files and move to io.hpp
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
69a60686dc
refactor loading code of .datasource_indexes and .datasource_names files and move to io.hpp
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
7b97e1035f
refactor loading code of .nodes and .edges files and move to io.hpp
2016-10-26 13:18:52 -07:00
karenzshea
c4f010e363
read properties stream to size of properties object, not 1
2016-10-26 13:18:52 -07:00
karenzshea
51ebadfc45
deduplicate code for loading profile properties into io.hpp
2016-10-26 13:18:52 -07:00
Daniel J. Hofmann
a933b5d949
Prevents the Matching getting confused when users are time-travelling.
2016-10-25 10:42:24 -07:00
Moritz Kobitzsch
e8b947bca6
fix coordinate extraction with less than 1 meters past lane distance
2016-10-25 10:07:09 -07:00
Michael Krasnyk
7753845f5c
Make thread-locked access to stxxl containers
...
From stxxl FAQ: "you should not share a data structure between
threads (without implementing proper locking yourself)."
The access to name_char_data can be implicitly parallelized
if _GLIBCXX_PARALLEL is defined and invalidate local-thread iterators.
2016-10-25 10:03:26 -07:00
karenzshea
fead71da54
add comment on find() [skip ci]
2016-10-21 14:23:02 -07:00
karenzshea
c26e90cac0
sort/unique turn penalty lookup
2016-10-21 14:23:02 -07:00
karenzshea
d4e5710928
parse turn penalties in parallel, add unique and sorting steps
2016-10-21 14:23:02 -07:00
Patrick Niklaus
b8795c7341
Rename increasingly inaccuratly named distance member of QueryEdge to weight
2016-10-21 21:00:02 +02:00
Moritz Kobitzsch
e3c2d4dddc
use-lane can occur in roundabouts as well
2016-10-20 14:28:33 -07:00
jakepruitt
c30784895d
clang-format and remove debug
2016-10-20 11:32:28 -07:00
jakepruitt
42271d99b2
Store node ID's and weights separately in CompressedEdgeContainer
...
Removes CompressedEdges from the extractor and shared data format by
directly serializing vectors of node ID's, forward weights and reverse
weights for each node-based-edge
Refs #2575
2016-10-20 11:32:28 -07:00
Moritz Kobitzsch
ecee13bffa
actually calculate distance instead of using .distance
which is a timing value
2016-10-20 12:27:02 +02:00
Moritz Kobitzsch
5e167b8745
Turn Angles in OSRM were computed using a lookahead of 10 meters.
...
This PR adds more advanced coordinate extraction, analysing the road
to detect offsets due to OSM way modelling.
In addition it improves the handling of bearings. Right now OSM reports
bearings simply based on the very first coordinate along a way.
With this PR, we store the bearings for a turn correctly, making the
bearings for turns correct.
2016-10-20 10:47:29 +02:00
Moritz Kobitzsch
1f8ca2879f
fix u-turn collapsing onto empty name / in presence of turning use lane
2016-10-20 09:39:38 +02:00
Huyen Chau Nguyen
316ef305de
Refactor loading code for timestamp file
2016-10-19 17:26:21 -07:00
Daniel J. Hofmann
ab1a9271c8
Canonicalizes Spaces in Semicolon Stringlists, fixes #3086
2016-10-19 14:14:18 -07:00
Daniel J. Hofmann
18bc02f087
Collapses Double OSRM <-> Engine <-> .. PImpl Indirection, Resolves #3019 .
2016-10-19 13:42:08 -07:00
Moritz Kobitzsch
2a2abe9e0f
remove unused class DiscreteAngle
2016-10-19 21:40:45 +02:00
Patrick Niklaus
b7ee38eca7
Refactored loading code for .hsgr file
2016-10-19 19:59:23 +02:00
Patrick Niklaus
769485cc2f
Initilialize tbb task scheduler correctly. Thanks @oxidase!
2016-10-19 18:30:06 +02:00
Patrick Niklaus
8205c34abe
Fix duplicated code in tile plugin
2016-10-18 22:11:43 +02:00
Patrick Niklaus
81c5cba0e5
Recover from stale mutexes with force unlocking and retry
2016-10-18 21:58:50 +02:00
Patrick Niklaus
847f530c8e
Only keep reader lock on shared memory during queries.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
c69545c47a
Don't block all requests to switch data
...
This switchtes the data even if there are requests still running on the
old data. osrm-datastore then waits until all of these old requests have
finished before freeing the old regions.
This also means that osrm-datastore will return with an error if there
is a data update currenlty in progress.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
1557ff81bc
Simplify the locking logic
2016-10-18 21:58:50 +02:00
Patrick Niklaus
ebac9f586b
Adapt SharedMemory ownership changes from @oxidase
...
We don't leak any pointers anymore and make owning the shared memory
explicit.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
2512cf386d
Add better debug log output
2016-10-18 21:58:50 +02:00
Patrick Niklaus
ceaf362326
Make SharedDataFacade immutable
2016-10-18 21:58:50 +02:00
Huyen Chau Nguyen
06d13b6954
run clang-format on edited files
2016-10-17 15:27:14 -07:00
Huyen Chau Nguyen
d0c142b9c7
remove util self-written make_unique and use C++14 stdlib make_uniqe
2016-10-17 15:27:14 -07:00
Daniel J. Hofmann
8ed6bb8a1b
Asserts on valid v5 conforming maneuver types, resolves #3035
2016-10-14 15:59:26 +02:00
karenzshea
72fa35da10
add a toolkit function to find lanes to the left/right of turn lanes
2016-10-13 17:59:25 +02:00
Moritz Kobitzsch
17eb664597
don't get disturbed by service roads in obvious discovery
2016-10-13 16:10:59 +02:00
karenzshea
ee012ae2da
valid tiles are >= z12
2016-10-12 10:03:43 -04:00
Daniel J. Hofmann
32dcce88f7
Fixes missing memory include for make_unique; reported in #3018 .
...
https://github.com/Project-OSRM/osrm-backend/issues/3018#issuecomment-253118518
2016-10-12 12:55:05 +02:00
Moritz Kobitzsch
6cf99c886f
don't emit invalid on sliproads with incompatible modes
2016-10-11 10:59:10 +02:00
Patrick Niklaus
240a7696da
Catch boost bad_numeric_cast exception and let parser return an error
2016-10-11 00:04:53 +02:00
Patrick Niklaus
9eb7fc03ce
Use a shared (!) reader writer lock to protect CURRENT_REGIONS
...
This fixes issue #3016 .
2016-10-10 12:13:45 +02:00
Moritz Kobitzsch
036475afd0
restructure for readability
2016-10-07 09:35:16 +02:00
Moritz Kobitzsch
378322f6e3
don't provide turn-straight next to suppress-straight
2016-10-07 09:35:16 +02:00
jakepruitt
49a28b478c
Remove TODO - tiles are tested and seem to work
2016-10-06 10:09:57 -07:00
Lauren Budorick
a75e16e26b
Deduplicate foward/reverse geometries
...
Changes the internal representation of compressed geometries to be a
single array shared between forward and reverse geometries that can be
read in either direction. Includes a change on
extractor::OriginalEdgeData to store via_geometry ids that indicate
which direction to read the geometry for that edge based edge.
Closes #2592
2016-10-06 10:09:57 -07:00
Moritz Kobitzsch
73179641b1
clang-format code
2016-10-06 14:06:19 +02:00
Patrick Niklaus
1c2ead8fb8
Make DataFacade local to every request
...
This is the first step to having fine grained locking on data updates,
see issue #2570 .
2016-10-06 12:56:38 +02:00
Moritz Kobitzsch
66f2cc5184
fix detection of forks in present of oneways
2016-10-05 17:49:54 +02:00
Daniel J. Hofmann
d17eacc52b
Makes the OSRM interface threadsafe.
...
Technically speaking we're changing the `libosrm` API.
But since we're only lifting restrictions by marking the API threadsafe,
we should be fine here.
2016-10-04 09:32:22 +02:00
Moritz Kobitzsch
d1f1358e48
adjust for comments by daniel-j-h
2016-09-30 17:27:14 +02:00
Daniel Patterson
805d93912d
Construct an adjacency list in order to discover turns.
2016-09-30 17:12:23 +02:00
Daniel Patterson
3dd7732ffc
Add code comments and document some magic constants.
2016-09-30 17:12:22 +02:00
Daniel Patterson
c8eb2b2d11
Refactor edge unpacking so that it's CH indepenent and we don't repeat ourselves so much.
2016-09-30 17:12:22 +02:00
Lauren Budorick
14e7460465
Include turn information in debug tiles.
2016-09-30 17:12:20 +02:00
Moritz Kobitzsch
a824e64682
Merge branch 'master' into guido/notification
2016-09-29 16:03:44 +02:00
Moritz Kobitzsch
78d530ddae
fix polyline decoding
2016-09-29 11:56:51 +02:00
Moritz Kobitzsch
da15e1fc5e
adjust case/add clarification
2016-09-29 10:50:28 +02:00
Ansis Brammanis
7e2663f2ad
calculate roundabout radius from circumference, fix #2716
2016-09-29 10:42:42 +02:00
karenzshea
1a96483f7b
prefer notification over new-name/suppressed types
2016-09-29 10:26:56 +02:00
karenzshea
3d5a53566c
implement flag edge-weight-updates-over-factor, to log edge weight
...
updates over provided x factor
2016-09-28 15:19:59 +02:00
Daniel J. Hofmann
d1f555dcef
Removes unused JSON logger.
...
References:
- https://github.com/Project-OSRM/osrm-backend/pull/2769
2016-09-28 10:01:56 +02:00
Daniel J. Hofmann
bbbbacb073
Reworks Restriction Whitelist / Blacklist, resolves #2833
...
Takes a stricter aproach for whitelisting / blacklisting restrictions:
- uses `restriction=`
- uses more specific `restriction:<type>=`
- uses `except=<type>` to invert
Where `type` is the type of transportation to restrict, e.g. `motorcar`.
https://github.com/Project-OSRM/osrm-backend/issues/2833
2016-09-28 09:35:02 +02:00
Daniel J. Hofmann
60010dd998
Reduce NewName Instructructions / Name Changes
...
With @karenzshea's name / ref split (ref. #2857 ) in master we want to
make use of it and reduce `NewName` instructions when ever possible.
This is a first step towards #2744 by using the already existing name
change heuristic from the extractor now in post-processing as well.
Limitations: at the moment we don't have the `SuffixTable` in
post-processing; this would require us serializing and subsequently
deserializing the table, passing it through from the profiles to the
API.
2016-09-21 12:42:39 +02:00
Moritz Kobitzsch
8522cddd61
Prevent loops in extraction based on merge
2016-09-19 13:33:52 +02:00
Daniel J. Hofmann
bf2b1a64b9
Fixes sign mismatch in Nearest limit comparison
2016-09-16 15:40:05 +02:00
Moritz Kobitzsch
aa5f8dce23
fix may be uninitialised warnings
2016-09-15 08:25:17 +02:00
Daniel J. Hofmann
c186e51a08
Do Not Copy Lane Strings Into Fn
2016-09-14 20:27:17 +02:00
Moritz Kobitzsch
861314256e
fix roundabout-intersection on immediate exit
2016-09-13 19:16:45 +02:00
Moritz Kobitzsch
38f5adbe5c
we can count
2016-09-13 16:22:22 +02:00
Moritz Kobitzsch
092e77e89b
fix false positives in sliproads
2016-09-13 14:11:29 +02:00
Moritz Kobitzsch
64a72f574d
also reserve entry for refs
2016-09-13 13:48:28 +02:00
Moritz Kobitzsch
b3c5a9c010
fix looping in sliproad handler for lanes
2016-09-12 18:20:28 +02:00
Daniel J. Hofmann
e3c1b133bf
Adds a limit for number of results returned in Nearest service, resolves #2872
2016-09-12 11:59:08 +02:00
Daniel J. Hofmann
e6fe9d0d67
Fixes issue where two ways with same name but different pronunciation where deduplicated, resolves #2860
2016-09-09 18:28:44 +02:00
Moritz Kobitzsch
2b9cf742c5
make sure to reserve enough external memory
2016-09-09 15:38:26 +02:00
Moritz Kobitzsch
c306a59854
make sure to not-collapse different travel modes
2016-09-08 15:01:25 +02:00
karenzshea
dcc1b5ab2b
return name and reference separately
2016-09-08 14:28:23 +02:00
Moritz Kobitzsch
938dff011f
handle all our new strings correctly, introduce rotary_pronunciation
2016-09-07 16:09:13 +02:00
Moritz Kobitzsch
9123c93a90
fix interaction between sliproads/segregated intersections
2016-09-07 12:36:29 +02:00
Moritz Kobitzsch
a551286a8f
adjust testscases for collapse of use lane
2016-09-07 12:17:36 +02:00
Daniel J. Hofmann
86fd04e556
Improves lane handling for subsequent going straight, resolves #2625
...
Before we only worked on subsequent quick turns, as in:
`right, right` keeps the user on the rightmost lanes.
This changeset modifies the logic to work on any subsequent steps
that are "quick" and have lane information we can constrain later.
Because we do not have a from-lane => to-lanes mapping we take the
lanes left and right of the turn lanes into account when heuristically
assigning the leftmost / rightmost lanes.
There are some edge cases where this still does not give us the optimal
solution but it gets close to what is actually possible at the moment
without having a lane mapping in post-processing.
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2625
fix rebase
2016-09-07 12:17:36 +02:00
Moritz Kobitzsch
b6dbf81206
don't assign lanes on delayed turns
2016-09-07 12:17:34 +02:00
Daniel J. Hofmann
af47252efe
Do not collapse away lane information as long as it is necessary
2016-09-07 12:17:00 +02:00
Moritz Kobitzsch
3b81b39998
turn lane handler moved to scenario based handling
2016-09-07 12:16:59 +02:00
Moritz Kobitzsch
97c66c6c82
added some concerns regarding the angles/length of the turns
2016-09-06 09:57:33 +02:00