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
Daniel J. Hofmann
c5b48e3506
Adds a statistics handler for turn types and modifiers
2017-11-06 14:38:21 -05:00
Kajari Ghosh
73f4e1d45a
update changelog
2017-11-06 13:34:02 -05:00
Kajari Ghosh
cbc96ec492
refactor ExtractionTurn and ProcessTurn c++ code
2017-11-06 13:34:02 -05:00
Denis Koronchik
0fc6903d7e
Fix issue #4585
2017-10-25 14:11:33 +02:00
Moritz Kobitzsch
23fd27422b
normalise angles only if an improvement
2017-10-25 10:17:14 +02:00
Moritz Kobitzsch
910ee0829f
make circular detection covered again
2017-10-23 09:06:59 +02:00
Moritz Kobitzsch
704cf314d4
explicitly check for 90 degree turns / turning onto segregated roads
2017-10-23 09:06:59 +02:00
Moritz Kobitzsch
b8651bfac9
do not merge segregated highways in if there is actual turns involved
2017-10-23 09:06:59 +02:00
Patrick Niklaus
a8de007d98
Rename locations-cache -> location-cache
2017-10-20 15:55:23 +01:00
Patrick Niklaus
27a9603b98
Change --use-location-cache=false to --disbale-location-cache
2017-10-20 15:55:23 +01:00
Patrick Niklaus
171ff1191f
Replace use of implicit_value since that broke with boost 1.65
2017-10-20 15:55:23 +01:00
Denis Koronchik
895f072425
Work on forward/backward ref's support
2017-10-19 15:18:25 +01:00
Moritz Kobitzsch
37774a331a
fix collapsing into uturns, that aren't u-turns
2017-10-17 15:08:29 +01:00
Patrick Niklaus
0cc4c4380a
Fix wrong corefactor warning, fixes #4615
2017-10-17 14:02:10 +00:00
Michael Krasnyk
088d4edc6b
Prevent merging of circular-shaped roads
2017-10-17 11:27:09 +02:00
Patrick Niklaus
456b198702
Remove unused number of threads option again
2017-10-16 23:08:32 +02:00
Patrick Niklaus
9b87b8b7b1
Replace deallocation vector with std::vector and different merge algorithm
2017-10-16 13:40:02 +01:00
Denis Koronchik
4b8daac104
Fix formatting
2017-10-16 12:15:12 +01:00
Denis Koronchik
4e5f74aebe
Fix after merge
2017-10-16 12:15:12 +01:00
Denis Koronchik
fc9a89ea8b
Support some cases for supperrelations in car.lua
2017-10-16 12:15:12 +01:00
Denis Koronchik
832cdbf566
Some fixes
2017-10-16 12:15:12 +01:00
Denis Koronchik
c42e247d87
Work on relation extract refactoring to support recursive relations (superrelations)
2017-10-16 12:15:12 +01:00
karenzshea
e385f6352e
restore libosrm interface for corech, fallback to ch
2017-10-13 14:53:49 +01:00
karenzshea
4f3414c4cc
remove core factor opt from exclude graph
2017-10-13 14:53:49 +01:00
karenzshea
df79b5b4cc
deprecation notices
2017-10-13 14:53:49 +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
karenzshea
7cf7c46939
remove level-cache flags
2017-10-13 14:53:49 +01:00
Denis Koronchik
031ce72db1
Fix issue #4214
2017-10-12 18:00:38 +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
Moritz Kobitzsch
74e1d1c27a
fix pedantic warning about additional ;
2017-10-11 14:07:35 +02:00
Moritz Kobitzsch
2ddd98ee6d
simplify passing annotation data through OSRM pipeline using the node-based datastore
...
- separates node-based graph creation and compression from edge-based graph creation
- moves usage of edge-based node data-container to pre-processing as well, unifying access to node-based data
- single struct instead of separate vectors for annotation data in engine (single place of modification)
2017-10-09 18:44:43 +02:00
karenzshea
7923fdcaef
error when mld files or data are missing, compability -> compatibility
2017-10-09 16:36:38 +02:00
Michael Krasnyk
837dba2191
Don't use sliproad scenario if two name announcements are required
2017-10-09 15:35:26 +01:00
Michael Krasnyk
a7ea6e5327
Allow a single intersection in a cross-road of sliproads, #4348/3
2017-10-09 15:35:26 +01:00
Michael Krasnyk
7f8e467523
Adjust lower bound for crossroad angle in sliproads handler, #4348/2
2017-10-09 15:35:26 +01:00
Daniel Patterson
7d9b17fd41
Build against libstdc++-4.9 and supress one libstdc++ symbol so that we can run inside
...
old environments (CentOS, AWS Linux, AWS Lambda, etc)
2017-10-05 17:13:40 +01:00
Michael Krasnyk
a900f5229e
Fix case for sliproads from link via link to primary, #4348/4
2017-10-04 23:23:55 +02:00
Michael Krasnyk
11e7b6e911
Add last location memoization in Lua context
2017-10-04 10:03:42 +02:00
Michael Krasnyk
545097cf06
Don't use location cache if not needed
2017-10-04 10:03:42 +02:00
Michael Krasnyk
476bc347b4
Allow multiple GeoJSON files with locations data
2017-10-04 10:03:42 +02:00
Michael Krasnyk
095b345713
Change location data method to way:get_location_tags(key)
2017-10-04 10:03:42 +02:00
Michael Krasnyk
0f498d13f5
Access to location dependent data in Lua via way:get_location_tags()
2017-10-04 10:03:42 +02:00
Michael Krasnyk
2059f7234a
Restructure ParseOSMData method
2017-10-04 10:03:42 +02:00
Michael Krasnyk
12b2242ad5
Add osmium locations cache
2017-10-04 10:03:42 +02:00
Michael Krasnyk
a7c1967ca0
Use correct bounding box
...
For some reason
envelop = make_inverse<box_t>();
boost::geometry::expand(envelop, next);
normalizes longitude to [-180,180]
2017-10-04 10:03:42 +02:00
Michael Krasnyk
20ff138f08
Remove polygon copying overhead
2017-10-04 10:03:42 +02:00
Michael Krasnyk
421115200b
Port osmium point-in-polygon function
2017-10-04 10:03:42 +02:00
Michael Krasnyk
b15288e0ea
Add location_dependent_data unit tests
2017-10-04 10:03:42 +02:00
Michael Krasnyk
4eac861eae
Left-hand driving flag review updates
2017-10-04 10:03:42 +02:00
Michael Krasnyk
7ad9e13f1e
Add MultiPolygon support
2017-10-04 10:03:42 +02:00
Michael Krasnyk
fc39e0ce1a
Allow multiple GeoJSON files
2017-10-04 10:03:42 +02:00
Michael Krasnyk
f40b7975f2
Change from rtree.q{begin,end} to rtree.query (Boost 1.55 support)
2017-10-04 10:03:42 +02:00
Michael Krasnyk
3c399e5c28
Propagate is_left_hand_driving from profile to data facade
2017-10-04 10:03:42 +02:00
Michael Krasnyk
de942155bf
Add local left_hand_driving flag in API version 2
2017-10-04 10:03:42 +02:00
Michael Krasnyk
af3f0a4782
Use driving_side tag of location-dependent data and OSM ways
2017-10-04 10:03:42 +02:00
Michael Krasnyk
c9673741de
Added location dependent data
2017-10-04 10:03:42 +02: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
Daniel J. Hofmann
d7bcafcb59
Uses parsed len(turn:lanes) to fixup number of lanes, resolves #4472
2017-09-28 00:24:14 +02:00
Michael Krasnyk
fa1a4e8bf6
Relax strict bearings ordering condition to non-strict one, #4331
2017-09-18 21:33:00 +02:00
Michael Krasnyk
2532d56b85
Turn angle calculation needs to respect initial road order, #4331
2017-09-18 21:33:00 +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
e32b8bae00
Make unbuffered log verbosity aware
2017-09-15 15:01:17 +02:00
Michael Krasnyk
966139cde9
Adjust number of threads in osrm-routed
2017-09-15 10:55:13 +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
Michael Krasnyk
64ad308e9d
Small ProcessElements refactoring
2017-09-14 20:00:05 +02:00
Michael Krasnyk
94169a20de
Remove RelationsContainerWrap
2017-09-14 20:00:05 +02:00
Michael Krasnyk
5ca38eee3a
Remove RelationMemberWrap and avoid data copying
2017-09-14 20:00:05 +02:00
Michael Krasnyk
f89ada7f61
Remove ExtractionRelationData wraper
2017-09-14 20:00:05 +02:00
Denis Koronchik
ff3b398e23
Review fixes
2017-09-14 20:00:05 +02:00
Denis Koronchik
84cb7865ab
Fix different compilers support
2017-09-14 20:00:05 +02:00
Denis Koronchik
75bdf114be
Review fixes
2017-09-14 20:00:05 +02:00
Denis Koronchik
c2fd64d3cc
Apply clang format
2017-09-14 20:00:05 +02:00
Denis Koronchik
f79bcc6b8d
Pass relation data to way and node functions
2017-09-14 20:00:05 +02:00
Denis Koronchik
f2b63ba0aa
LUA binding for a relation processing
2017-09-14 20:00:05 +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
Patrick Niklaus
61c430c098
Implement exclude flags on CH using shared core
...
The core is fully contracted for each exclude flag
and stored in a merged graph data structure.
2017-09-01 21:26:00 +02:00
Patrick Niklaus
53f87c08b5
Rename GraphView -> BisectionGraphView to avoid name conflicts
2017-09-01 21:26:00 +02:00
Patrick Niklaus
e23dc8977f
Refactor contract to be a stateless function
2017-09-01 21:26:00 +02:00
Patrick Niklaus
421dc5b6ec
Don't return edge list in contractor but modify graph in-place
2017-09-01 21:26:00 +02:00
Patrick Niklaus
247f1c120f
Make renumbering transparent to contraction
2017-09-01 21:26:00 +02:00
Patrick Niklaus
e011c60e12
Replace flush in contract with in-place renumbering
2017-09-01 21:26:00 +02:00
Patrick Niklaus
26c909b64b
Refactor contractor to pass in graph directly
2017-09-01 21:26:00 +02:00
Daniel Patterson
acb7916996
Add test case with valid junk.
...
Use eps to explicitly match empty string and not consume input
2017-09-01 08:34:58 -07:00
Daniel Patterson
b17f40862c
If traffic CSV has an empty 4th column, preserve the weight on an edge while updating the duration.
2017-09-01 08:34:58 -07:00
Lev Dragunov
80c55119d2
Add bearing for the phantom node
2017-08-31 11:11:05 +02:00
Mateusz Loskot
7323221e3b
Add --verbosity,-l command line option
...
Allow to fine-control logging verbosity via command line
and LogPolicy setting (useful when OSRM used as library).
Closes #4299
2017-08-31 00:35:23 +02:00
Mateusz Loskot
fb5bd818d9
CanMergeRoad missed test of rhs instance of IntersectionShapeData
...
Avoids identical sub-expressions road_target(lhs) == intersection_node
2017-08-31 00:34:28 +02:00
Mateusz Loskot
43a4e8db12
Use user-provided osmium: 🧵 :Pool instance
...
Advantages:
* Allows to use Pool configured with user-preferred number of threads.
* If libosmium used in a shared library, this helps to prevent potential
deadlock during Pool shutdown at (after) shared library unloading.
See https://github.com/osmcode/libosmium/pull/214
Requires libosmium 2.13.0
2017-08-31 00:34:09 +02:00
Mateusz Loskot
302390696e
Remove repeated sub-expression for TurnType::Suppressed test
2017-08-31 00:33:00 +02:00
Michael Krasnyk
2508629d6c
Minor fixes in Timezoner
2017-08-30 19:44:52 +02:00
Patrick Niklaus
bc8617a9f4
Fix remaining PR comments
2017-08-21 13:00:12 +02:00
Patrick Niklaus
27324d0270
Add more tests for exclude validation
2017-08-21 13:00:12 +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
c6be2e768a
Throw an error for invalid classes
2017-08-21 13:00:12 +02:00
Patrick Niklaus
6339395cba
Fix clang format
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
20e4096c4b
Fix stupid vector size bug
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
84fd38ac9c
Add tests for avoid flags
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
Patrick Niklaus
21686ee8a9
Add datafacade factory to select avoid flags
2017-08-21 13:00:12 +02:00
Patrick Niklaus
c8b142a676
Add placeholders for up to 8 weights
2017-08-21 13:00:12 +02:00
Patrick Niklaus
9c11197768
Extract avoidable combinations from profiles into ProfileProperties
2017-08-21 13:00:12 +02:00
Daniel Patterson
c1ad275e71
Empty CSV entries (nodeA,nodeA) can be treated as non-fatal as long as we don't try to update any matching artificial segments.
2017-08-16 12:03:23 -07: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
Michael Krasnyk
20cfa159ec
Fix boost::optional construction error
2017-08-11 17:32:35 +02:00
Moritz Kobitzsch
e9c9c87bbc
adjust geojson logger to changes in extractor
2017-08-11 12:03:40 +02:00
Moritz Kobitzsch
93299d6651
handle conditional via-way restrictions
...
- refactor conditional restriction handling to not use external data (first OSM nodes on ways)
- BREAKING: changes internal file format of osrm.restrictions
- add support for general conditional penalties based on edge-based nodes (requires unique edges between nodes)
2017-08-11 11:53:25 +02:00
vng
f34320a89b
Fixed getting entry bearing for maneuver.
2017-08-11 11:40:58 +02:00
Moritz Kobitzsch
a17b07bc4c
fix bug in conflict resolution
2017-08-11 11:01:54 +02:00
FILLAU Jean-Maxime
a420169109
Reintroduce location for NodeRef in luabinding
2017-08-08 10:59:25 +02:00
Michael Krasnyk
a8db269fd5
Adjust lower bound for crossroad angle in sliproads handler, #4348/2
2017-08-04 14:37:13 +02:00
Michael Krasnyk
1ecc913fc2
Fix sliproad scenario with 4 roads in a target intersection, #4348/1
2017-08-04 14:07:35 +02:00
Moritz Kobitzsch
e9a5e32330
fix prevention of copy elision
2017-08-04 12:57:55 +02:00
Moritz Kobitzsch
153e934ed4
shift circle angle a bit
2017-08-04 11:20:31 +02:00
Michael Krasnyk
4757c96d9a
Add a check for non-empty segments in CSV speed files
2017-08-04 11:19:32 +02:00
Moritz Kobitzsch
bbcf343e40
compress traffic signals
...
- handle penalties within edges (not phantom nodes)
- changes model from providing penalties on turns to using additional segments
2017-08-04 11:19:32 +02:00
Daniel J. Hofmann
3a676183b2
Updates our node osrm docs and re-runs docs generation, resolves #4043
2017-08-03 14:31:41 +02:00
Michael Krasnyk
df2d4daad3
Fix gcc5 internal compilation error
2017-08-02 10:25:38 +02:00
Moritz Kobitzsch
7e0c9f7340
remove accidental addition of debug code
2017-08-01 12:29:56 +02:00
Moritz Kobitzsch
917a36eaee
fix pedantic warnings
2017-08-01 12:27:29 +02:00
Daniel Patterson
0e77cf53f6
Update CHANGELOG with bugfix notes.
2017-07-31 08:33:19 -07:00
Michael Krasnyk
c1ad4f6b45
Fix a single weekday grammar callback
2017-07-31 14:56:08 +02:00
Moritz Kobitzsch
8135f08958
restructure for review remarks
2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
8d0202d240
Add data structure to allow identification of via-way turns during creation of edge-based-graph
...
initial version of handling via-way turn restrictions (this is dirty)
- requires update of data structures
- requires clean-up
- requires optimisation
2017-07-31 09:36:25 +02:00