Michael Krasnyk
5f598da76d
Add OSM node barrier=height_restrictor handling
2018-02-12 11:40:35 +01:00
Patrick Niklaus
e82b51d0cb
Fix default value for matching radius in routed
2018-02-09 21:12:14 +01:00
Daniel Patterson
5531cace7f
Support maneuver relations ( #4676 )
2018-02-10 05:32:09 +11:00
Patrick Niklaus
26e5c4eae2
Fix formating
2018-02-09 17:51:58 +01:00
Patrick Niklaus
6c2d26f9bd
Make LUA_SOURCE a global for gcc 4.9
2018-02-09 17:51:58 +01:00
Patrick Niklaus
84845ffaa6
Replace optional<EdgeWeight> with constant value
2018-02-09 17:51:58 +01:00
Patrick Niklaus
3d6b667997
No unused warning for alias benchmark
2018-02-09 17:51:58 +01:00
Patrick Niklaus
97d027a173
Fix unused lambda capture warnings
2018-02-09 17:51:58 +01:00
Patrick Niklaus
371dc57dfc
Fix uninitialized warning because of boost::optional
2018-02-09 17:51:58 +01:00
Patrick Niklaus
a06d1782c0
Fix multi-line warning
2018-02-09 17:51:58 +01:00
Huyen Chau Nguyen
fa8d788bb6
Add road priority class to turn function ( #4858 )
...
* expose road priority class to turn function
* update docs
2018-02-07 11:39:02 +01:00
Patrick Niklaus
92b7d581ce
Removed unused geojson logging in partitioner
2018-02-06 11:51:33 +01:00
Patrick Niklaus
b4cfc8d6e0
Fix formating
2018-02-06 11:51:33 +01:00
Patrick Niklaus
71cfb03738
Remove broken check-conditionals tool
2018-02-06 11:51:33 +01:00
Patrick Niklaus
e7bb612050
Move debug printer code to own header
2018-02-06 11:51:33 +01:00
Patrick Niklaus
83d7a57b73
Remove OSM link debug printing from public class
2018-02-06 11:51:33 +01:00
Patrick Niklaus
bb71d9b28a
Remove unused code in partitioner
2018-02-06 11:51:33 +01:00
Michael Krasnyk
9e93f198ae
Add CRC checksums to EBG and turns data
2018-02-02 11:33:38 -05:00
Michael Krasnyk
10de243556
Move guidance turn generation out of EBGF
2018-02-02 11:33:38 -05: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
Michael Krasnyk
1794185d43
Refine logging output
2018-02-02 11:33:38 -05:00
Kajari Ghosh
de938df560
remove TurnData from generate_edge function
2018-02-02 11:33:38 -05:00
Kajari Ghosh
e02c5c3c6d
comments
2018-02-02 11:33:38 -05:00
Michael Krasnyk
90ff725125
Duplicate edges and turns generation code
2018-02-02 11:33:38 -05:00
Michael Krasnyk
1cbfbd34cf
Remove unnecessary loading of turns data in updater
2018-02-02 11:33:38 -05:00
Mateusz Loskot
c6d12e064c
Add basic facades for Customizer and Partitioner run methods
2018-02-02 15:52:30 +01:00
Mateusz Loskot
30ed1fae99
Move setting up task_scheduler_init from executables to library
...
Make entry points of individual pipeline stages responsible for
configuring the task scheduler with requested number of threads
passed in corresponding configuration bundle (ie. follow extractor).
2018-02-02 14:34:20 +01: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
91e6d68604
Increase MAXIMAL_ALLOWED_SEPARATION_WIDTH to 12 meters
...
the check should cover merging of roads at intersections similar
to https://www.openstreetmap.org/node/53020993#map=18/37.86590/-122.25083
2018-02-01 06:21:08 -05:00
Karen Shea
c154875272
Only run step collapsing based on original waypoints parameter ( #4829 )
2018-01-29 12:35:55 -08:00
Michael Krasnyk
77f8a4f741
Set type of trivial intersections where classes change to Suppressed
...
... instead of NoTurn
2018-01-25 11:43:44 -05:00
Huyen Chau Nguyen
61e06fcaba
Making the turn function more flexible ( #4789 )
...
* set and store highway and access classification for the turn function
* expose highway turn classification and access turn classification and speed to the lua profile turn function
* expose whether connection road at turn is incoming or outgoing
* add lua tests for exposed information to turn function
* update docs about attributes in process_turn
* add turn_classification info to docs
* adding warning if uturn and intersection dont match
* handle u turns that do not turn into intersection[0]
* split OSM link generation in an accessible coordinate function
2018-01-24 15:39:55 -05: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
Kajari Ghosh
155772f01f
Refactor isThroughStreet
/Intersection options ( #4751 )
...
* refactor isThroughStreet
* refactor HaveIdenticalName
* fix a typo in the unit tests
2018-01-19 13:49:00 -05:00
Michael Krasnyk
341a5345da
Ignore no_*_on_red turn restrictions ( #4804 )
2018-01-19 15:50:54 +01:00
Michael Krasnyk
a8f3474996
Use unsigned type in percent_encoding to prevent overflow for %80..%ff
...
Related fix in Boost.Spirit 80414bc688
2018-01-08 12:09:33 +00: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
Mateusz Loskot
5b2af6ef09
Restore use of user-provided osmium: 🧵 :Pool instance
...
Pool instance has been removed from Reader ctor parameters
list in PR #4438 , presumably unintentionally.
It is required to prevent potential deadlock during
Pool shutdown as explained in PR #4452 .
2018-01-07 18:29:43 +01:00
Michael Krasnyk
17eb7052ba
Make distance_between_roads symmetrical
2018-01-05 17:35:11 +01:00
Michael Krasnyk
08b88bad63
Still use low precision bearings
2018-01-05 17:35:11 +01:00
Michael Krasnyk
153f9b02a5
Add low precision intersection views back
2018-01-05 17:35:11 +01:00
Michael Krasnyk
0568dca4a3
Adjust to review findings
2018-01-05 17:35:11 +01:00
Michael Krasnyk
60ef179d18
Remove handling of U-turns on motorways
2018-01-05 17:35:11 +01:00
Michael Krasnyk
c64904f5ea
Move roads re-ordering to convertToIntersectionView
2018-01-05 17:35:11 +01:00
Michael Krasnyk
4b9e3a8068
Remove IntersectionGenerator
2018-01-05 17:35:11 +01:00
Michael Krasnyk
db7c76d04d
Remove GetConnectedRoads from IntersectionGenerator
2018-01-05 17:35:11 +01:00
Michael Krasnyk
cc1a5ea78d
Remove usage of IntersectionGenerator in EBGF
2018-01-05 17:35:11 +01:00
Michael Krasnyk
9c033ff461
Free functions for guidance intersections analysis
2018-01-05 17:35:11 +01:00
Mateusz Loskot
da4fb13aa3
Tidy up #include-s for Intel TBB headers
...
Remove unused and add missing headers.
2018-01-05 11:00:31 +01:00
Michael Krasnyk
a5353c7179
Use consistent EBG node weights in duplicated via nodes
2018-01-02 14:26:35 +01:00
Michael Krasnyk
3dec680058
Remove check unnamed check in sliproad handler
2017-12-26 16:18:27 +01:00
Patrick Niklaus
12d1d84b11
Add test case for sliproads converted from forks
2017-12-26 16:18:27 +01:00
Patrick Niklaus
e45d44cb8e
Make sure we only count turns as UTurns for the turn_function
2017-12-26 13:28:12 +00: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
Patrick Niklaus
ccfbce5300
Remove superflous sentinel in DynamicGraph, fixes #4738
2017-12-18 10:23:29 +00:00
karenzshea
9a8ed30e95
add assert for untested sliproad cases, removed redundant empty_nameid checks
2017-12-11 15:37:56 +00:00
karenzshea
4166b1ebbf
check for empty on string_ref, rather than string itself
2017-12-11 15:37:56 +00:00
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
d5232d5f5c
check empty name string in roundabout handler
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
karenzshea
24562acd30
check empty name string in turn handler
2017-12-11 15:37:56 +00:00
karenzshea
8bce061691
check empty name string in sliproad handler
2017-12-11 15:37:56 +00:00
karenzshea
701c5f853d
check empty name string in motorway handler
2017-12-11 15:37:56 +00:00
karenzshea
d1e4ba373a
check empty string name in mergable road detector
2017-12-11 15:37:56 +00:00
karenzshea
8cf8f0d7d6
check empty name string in findBasicTurnType
2017-12-11 15:37:56 +00:00
Patrick Niklaus
2e97c78181
Remove code for checking the .core file, since we do not create it anymore
2017-12-08 11:28:34 +00:00
Patrick Niklaus
994fae0ef6
Fix formating
2017-12-05 19:09:06 +00:00
Patrick Niklaus
88ee51ba2e
const-correctness
2017-12-05 19:09:06 +00:00
Patrick Niklaus
25ee26de3b
Refactor segregated intersection classification to right module
2017-12-05 19:09:06 +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
8fa98ed27d
Increase max segregated distances.
2017-11-16 15:08:30 +01:00
vng
90e361c3dc
Use immutable node-based-graph for segregated edges.
2017-11-16 15:08:30 +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
9eae1de9bc
Fixes for segregated length threshold.
2017-11-16 15:08:30 +01:00
vng
76f793533a
Use copressed node-based graph for segregated edges check.
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
vng
ac5e095d17
Store and pass segregated flag to the data facade.
2017-11-16 15:08:30 +01:00
vng
ee7912f882
Calculating segregated node-based edges.
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
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
Moritz Kobitzsch
b1809d1667
pre-filter turn restrictions for validity
2017-07-31 09:36:25 +02:00
Moritz Kobitzsch
2e9a7d9c1a
refactor restriction parsing / extraction to actual types
...
Makes turn restrictions into dedicated structures and diferentiates between them via a variant.
Ensures that we do not accidentally mess up ID types within our application.
In addition this improves the restriction performance by only parsing all edges
once at the cost of (at the time of writing) 22MB in terms of main memory usage.
2017-07-31 09:36:25 +02:00
Daniel Patterson
be5fc50136
Save both forward and reverse datasources.
2017-07-27 14:45:28 -07:00
Moritz Kobitzsch
0affec8f17
handle throughabouts -- do not announce going through
2017-07-26 10:37:20 +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
Pepijn Schoen
8da40419ee
Maintain storage_config exposed API
2017-07-20 12:01:05 +02:00
Pepijn Schoen
0b5c7a97a7
Addressed comments
2017-07-20 12:01:05 +02:00
Pepijn Schoen
d9e8caf369
Use GetPath with file names over accessing member variables
2017-07-20 12:01:05 +02:00
Pepijn Schoen
e208485c17
expose mandatory / optional / output files in io_config; config files to use new io_config constructor
2017-07-20 12:01:05 +02:00
Pepijn Schoen
5a6dee80ac
Fix rebase problems
2017-07-20 12:01:05 +02:00
Pepijn Schoen
67fae1d1f0
rename osrm_input_path to osrm_path, clang-format
2017-07-20 12:01:05 +02:00
Pepijn Schoen
1b31099f73
superclass extractor_config with io_config
2017-07-20 12:01:05 +02:00
Pepijn Schoen
897518a297
superclass customizer_config with io_config
2017-07-20 12:01:05 +02:00
Pepijn Schoen
a9b6686725
superclass partition_config with io_config
2017-07-20 12:01:05 +02:00
Pepijn Schoen
2c7cb5baba
superclass contractor_config with io_config
2017-07-20 12:01:05 +02:00
Pepijn Schoen
29160eec9c
superclass updater_config with io_config
2017-07-20 12:01:05 +02:00
Pepijn Schoen
fe00a8a0ca
superclass storage_config with io_config
2017-07-20 12:01:05 +02:00
Patrick Niklaus
440dccb81b
Move classes to intersection object and don't emit notifications
2017-07-18 16:48:22 +00:00
Emil Tin
e413b25cd9
profiles api v2
2017-07-18 10:09:22 +00:00
Daniel J. Hofmann
5ece65cade
Trigger lane anticipation based on distance, see discussion in #4260
2017-07-18 11:23:46 +02:00
Moritz Kobitzsch
f2f00b99e0
remove usage of use-lane completely
2017-07-18 11:23:46 +02:00
Moritz Kobitzsch
7b755d6f8b
deprecate use-lane -- the information can be found in the intersections array
2017-07-18 11:23:46 +02:00
Patrick Niklaus
49f0b1eb59
Add abstraction to change the data facade at compile time
2017-07-17 11:40:55 +00:00
Michael Krasnyk
b2ed46efb5
Check activation index of EntryClass and warn if activation failed
2017-07-13 22:14:41 +00:00
Moritz Kobitzsch
30b8225812
only consider allowed entries when continuing on motorways
2017-07-13 08:59:01 +00:00
Michael Krasnyk
924a8a7e38
Remove STXXL from OSM parsing and enable in CMake by default
2017-07-11 08:23:26 +00:00
Michael Krasnyk
3940cc1641
Switch from stxxl::vector to std::vector in extractor
2017-07-11 08:23:26 +00:00
Michael Krasnyk
a498ba6537
Removed external_to_internal_node_id_map container
2017-07-11 08:23:26 +00:00
Daniel J. Hofmann
54ceb05420
Implements Alternatives for MLD
2017-07-07 16:12:46 +00:00
Patrick Niklaus
fef0344be0
Don't use bool flags on ExternalMemoryNode because they blow up the struct
2017-07-07 13:24:34 +00:00
Lev Dragunov
b12fee5c0a
Load graph before creating a server
2017-07-06 21:18:24 +00:00
Patrick Niklaus
44739f2dc3
Allow users to specify a class for each way
...
This adds the ability to mark ways with a user-defined
class in the profile. This class information will be included
in the response as property of the RouteStep object.
2017-07-06 09:17:49 +00:00
Moritz Kobitzsch
4c7aa8f1c0
only consider narrow turns onto through streets straight
2017-07-04 22:03:04 +00:00
Daniel J. Hofmann
7d900e3b5a
Implements Exit Numbers + Names (junction:ref
way tag for now)
2017-07-04 20:58:19 +00:00
Michael Krasnyk
359ab2b56e
Use highest different level with source but not parent node
2017-07-03 14:57:52 +00:00
Michael Krasnyk
aa736dbe3a
Generalize directShortestPathSearch interface
2017-07-03 14:57:52 +00:00
Michael Krasnyk
3534203083
Generalize manyToManySearch and remove duplications
2017-07-03 14:57:52 +00:00
Michael Krasnyk
517cb5f094
Matrix plugin with MLD overlay
2017-07-03 14:57:52 +00:00
Michael Krasnyk
b910ab9bcb
Add duration values to overlay graph
2017-07-03 14:57:52 +00:00
Michael Krasnyk
0fd71260d3
Enable ManyToManySearch in MLD
2017-07-03 14:57:52 +00:00
Michael Krasnyk
54367bfa98
Reduce memory consumption during partition
2017-07-03 14:57:52 +00:00
Moritz Kobitzsch
d660c1609c
don't collapse u-turns into combined turns
2017-06-30 09:25:03 +00:00
Michael Krasnyk
9d8a3e3c97
Propagate lane data across traffic lights
2017-06-29 15:10:37 +00:00
Michael Krasnyk
1b540fe0ba
Correct condition for is_going_straight_and_turns_continue
2017-06-29 15:10:37 +00:00
Michael Krasnyk
929e5a4de6
Review adjustments for driveway handler, #4151
2017-06-29 15:07:32 +00:00
Michael Krasnyk
df4f0d043a
Added driveway handler
2017-06-29 15:07:32 +00:00
Patrick Niklaus
dd8f5ac01d
Make EMPTY_ENTRY_CLASS constexpr
2017-06-27 09:58:19 +00:00
Patrick Niklaus
e5464526c8
Port isc file
2017-06-27 09:58:19 +00:00
Patrick Niklaus
37b8d3acd4
Refactor turn lane passing
2017-06-27 09:58:19 +00:00
Patrick Niklaus
4f13208ce8
Fix the propfile properties reading/writing
2017-06-27 09:58:19 +00:00
Patrick Niklaus
97592e5bc3
Refactor file writing in OSRM contract
2017-06-23 09:22:30 +00:00
Daniel Patterson
4136bf2808
Add layer to debug tiles to expose all OSM nodes in that area.
2017-06-19 15:59:38 +00:00
Lev Dragunov
93d6fd05a9
No timestamps SIGSEV fix
2017-06-17 17:33:33 +00:00
Lev Dragunov
73c4bc1411
clang-format
2017-06-17 17:33:33 +00:00
Lev Dragunov
dc9b4bcfec
Time information for maximum distance in matching
2017-06-17 17:33:33 +00:00
Daniel Patterson
e3276324b9
Include 'rate' property (reciprocal of weight) on debug tile edges. ( #4162 )
...
Include 'rate' property (reciprocal of weight) on debug tile edges and add turn weight data to debug tiles.
2017-06-15 17:50:57 +02:00
Moritz Kobitzsch
f80e5db346
add support for visualising turn penalties in MLD Debug tiles ( #4157 )
...
- template function for tile functionality with edge finder operator
- refactors unit tests into single function (reduce code duplication)
- adds unit tests for core-ch
2017-06-15 13:59:44 +02:00
Daniel Patterson
35550d8c0a
Parallelize generation of the edge-expanded-edges.
2017-06-15 09:05:45 +00:00
Patrick Niklaus
27ed69b08f
Parallize scripting on osmium::Buffer granularity
...
Fixes #3447 and reduces parsing time by about 15%.
2017-06-13 21:47:54 +00:00
Daniel Patterson
cd8fb82215
Add flag to allow skipping calling node function for nodes with no tags.
2017-06-13 12:23:00 +00:00
Daniel Patterson
5c8e2b6f78
Don't copy the node/way/segment/turn function objects for every call. 12-13% speedup for lua processing right there.
2017-06-13 12:23:00 +00:00
Daniel J. Hofmann
de1d5f199f
Uses correct coefficients for local optimality in CH alternatives
...
The alpha constant is for the local optimality T-Test threshold.
Before we used epsilon for the T-Test threshold, but the epsilon
constant is meant to be used for the stretch test(s) only.
This changeset fixes the local optimality T-Test and uses the
epsilon constant for the two stretch tests:
- We test the stretch for the total route against epsilon and
- We test the detour against the epsilon now, too
We can discuss if the second stretch test should actually use
epsilon, too, or a adapted value of it - but definitly not alpha.
2017-06-09 13:20:41 +02:00
Daniel Patterson
5026741652
Make initialization fail with a specific exception if the dataset isn't compatible with the algorithm being used, rather than crashing when a query occurs.
2017-06-08 18:31:51 +00:00
Daniel Patterson
3d77714c36
Make most command-line tools return useful error codes on well-known exceptions.
2017-06-08 15:03:24 +00:00
Michael Krasnyk
03e83ec6a0
Fix invalid roundabout instructions for different driving modes, #4129
2017-06-08 15:01:27 +00:00
Lev Dragunov
d7035291ea
clang-format
2017-06-07 15:39:08 +03:00
Lev Dragunov
6b8f3c7fef
Polyline6 support in the REST input
2017-06-06 19:51:00 +03:00
Patrick Niklaus
0d12d2fd28
Merge pull request #4094 from Project-OSRM/refactor/rapidash
...
Replace timezone shapefile parsing with geojson parsing
2017-06-02 20:01:04 +00:00
Patrick Niklaus
10460fc2fb
Fix PR comments
2017-06-02 18:46:21 +00:00
Patrick Niklaus
0266c9d969
Renumber nodes after running osrm-partition
...
The new numbering uses the partition information
to sort border nodes first to compactify storages
that need access indexed by border node ID.
We also get an optimized cache performance for free
sincr we can also recursively sort the nodes by cell ID.
This implements issue #3779 .
2017-06-02 18:12:13 +00:00
Michael Krasnyk
50d9c4b34a
Add local time support for windows
2017-06-02 17:35:18 +02:00
Daniel Patterson
1c3cb897c1
Refactor RTree so that .fileIndex only contains EdgeDataT, and all r-tree structure is in the .ramIndex file.
...
Also tunes the BRANCHING_FACTOR a bit to speed up access with this new layout.
2017-06-02 12:15:06 +00:00
karenzshea
f497201322
add check that restrictions are off when not found in timezone polygons
2017-06-02 10:00:07 +02:00
karenzshea
65746edd2d
deps and lint
2017-06-02 10:00:07 +02:00
karenzshea
63ea75612b
by default restrictions are off if timezone is not found
2017-06-02 10:00:07 +02:00
Michael Krasnyk
f9a650792a
Fix updating conditional turn restrictions
2017-06-02 10:00:07 +02:00
karenzshea
564a29141e
add testing geojson files
2017-06-02 10:00:07 +02:00
karenzshea
c937d20e48
unit tests for geojson validation
2017-06-02 10:00:07 +02:00
karenzshea
ca353eb7db
refactor timezoner a bit for unit tests, add initial unit tests
2017-06-02 10:00:07 +02:00
karenzshea
f268163ea0
remove shapefile dependency from build
2017-06-02 10:00:07 +02:00
karenzshea
6f41e3faf1
fixes to get compiling
2017-06-02 10:00:07 +02:00
karenzshea
aed2c0124a
rapidjson steppin in
2017-06-02 10:00:07 +02:00
Moritz Kobitzsch
a92674022a
make all u-turns continue
2017-06-01 12:39:10 +02:00
Moritz Kobitzsch
ceaf065d0e
don't collapse highway ramps into uturns ( #4074 )
2017-06-01 12:39:10 +02:00
Moritz Kobitzsch
9bd2b0deaa
fix invalid turn angle in forks
2017-06-01 11:43:18 +02:00
Michael Krasnyk
d262c4dfaa
[skip ci] Add comments about order of post-processing calls
2017-06-01 11:13:31 +02:00
Michael Krasnyk
dd009322de
Remove roundabout skip as no leavesRoundabout steps after postProcess
2017-06-01 11:13:31 +02:00
Michael Krasnyk
858ec2e655
Fix steps collapsing after non-closed roundabouts, #4100
2017-06-01 11:13:31 +02:00
Daniel J. Hofmann
d88e5ddf20
Uses node-cmake's CMake module directly, resolves #3912
...
No need for vendoring.
2017-05-31 14:40:31 +02:00
FILLAU Jean-Maxime
82a149eb87
Propagating approach parameter to every phantom nodes search function.
...
Propagating approach parameter for plugins :
- tabler
- nearest
- trip
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
f65299d665
Rename side API
...
Side -> Approach
- DEFAULT -> CURB
- BOTH -> UNRESTRICTED
- remove OPPOSITE param
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
FILLAU Jean-Maxime
8e70c87e64
New "sides" setting in base parameters for phantom nodes.
...
- Adding sides parameter into base parameters, it can take the values SIDE, OPPOSITE or DEFAULT.
- Adding url parser for "sides" parameter, url values are "s" for SIDE, "o" for OPPOSITE and "d" for DEFAULT, example : "sides=s;s".
- Checking parameters, if "sides" parameter is used, the number of parameter is the same as number of location.
- Create a phantom to start at side driving or Opposite side driving.
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-05-30 10:19:41 +00:00
Daniel Patterson
7eab227ab1
Use FileWriter for better error handling when writing name data.
2017-05-29 15:09:36 +00:00
Lev Dragunov
45ee096260
Ignore split breakage fix.
2017-05-26 10:55:03 +00:00
Michael Krasnyk
314cf3f31a
Add a comment line about counting
2017-05-23 18:27:47 +00:00
Michael Krasnyk
1d26deb0be
Allow counting of service exits on service roundabouts, see #4075
2017-05-23 18:27:47 +00:00
Michael Krasnyk
a63b43c259
Place reverse entering_via_edge in the front of intersection_view
2017-05-22 09:33:59 +00:00
Daniel J. Hofmann
862ec14e06
Asserts Valid Iterators in Roundabout Exit Invalidation, see #4024
2017-05-22 09:33:59 +00:00
Daniel Patterson
570d81c6dd
Bypass boost::numeric_cast checks for coordinate values that have already been validated ( #4059 )
...
(i.e. stuff that's stored in our datafiles). Keep those checks for user-supplied values
(i.e. coordinates coming from files during preprocessing, or coordinates supplied by users
during requests)
2017-05-19 10:52:44 -07:00
Michael Krasnyk
4964d0dcbd
Adjust expectation and remove non-valid assertions
2017-05-19 09:47:47 +00:00
Patrick Niklaus
3599d1db8e
Switch code to use packed vector for segment weights/durations
2017-05-19 08:25:03 +00:00
Daniel Patterson
aef3ff3e7b
Use correct node-loading code in rtree benchmark. ( #4064 )
2017-05-18 13:29:50 -07:00
Michael Krasnyk
e605917083
Changed some assert to OSRM_ASSERT
2017-05-17 15:52:11 +00:00
Michael Krasnyk
e4b58c1258
Reverted connection of forward and backward nodes in one SCC
2017-05-17 15:21:51 +00:00
Michael Krasnyk
5e2e1d4c96
Renamed EdgeBasedNode to EdgeBasedNodeSegment
2017-05-17 15:21:51 +00:00
Michael Krasnyk
1a7cd785f2
Rename .nodes -> .nbg_nodes and .nodes_data -> .ebg_nodes
2017-05-17 15:21:51 +00:00
Michael Krasnyk
65de940882
Change EdgeBasedNodeDataExternalContainer to EdgeBasedNodeDataContainer
2017-05-17 15:21:51 +00:00
Michael Krasnyk
26702920b4
Move ComponentID to EdgeBasedNodeDataContainer
2017-05-17 15:21:51 +00:00
Michael Krasnyk
ca6b1b39b7
Remove data duplicates in .node file
2017-05-17 15:21:51 +00:00
Michael Krasnyk
8934167e76
Merge part of .nodes fields into .nodes_data
2017-05-17 15:21:51 +00:00
Patrick Niklaus
6bd724fe24
Rewrite packed vector to also allow random access
...
This fixes issues #3952 . The new approach pre-computes masks for fast
access. Since elements can potentially span multiple words we need masks
and offsets for each upper and lower word.
Due to a bug in the C++14 standart the mask computation is not
recognized as constexpr, but would work on C++17.
2017-05-16 10:25:29 +00:00
Daniel J. Hofmann
e064a9334b
Lifts restriction to only provide zero or one alternative routes
2017-05-12 13:54:22 +02:00
Daniel J. Hofmann
e12c7756d9
Weight-ifies alternatives related code-paths
2017-05-12 13:54:22 +02:00
Moritz Kobitzsch
f8002480c2
fix continue_straight interaction with bearing specification
2017-05-12 13:38:04 +02:00
Karen Shea
799a677e7a
Conditional turn restriction support ( #3841 )
...
* optionally include condition and via node coords in InputRestrictionContainer
* only write conditionals to disk, custom serialization for restrictions
* conditional turn lookup, reuse timezone validation from
extract-conditionals
* adapt updater to use coordinates/osm ids, remove internal to external map
* add utc time now parameter to contraction
* only compile timezone code where libshp is found, adapt test running
* slight refactor, more tests
* catch invalid via nodes in restriction parsing, set default cucumber
origin to guinée
* add another run to test mld routed paths
* cosmetic review changes
* Simplify Timezoner for windows build
* Split declaration and parsing parts for opening hours
* adjust conditional tests to run without shapefiles
* always include parse conditionals option
* Adjust travis timeout
* Added dummy TZ shapefile with test timezone polygons
* [skip ci] update changelog
2017-05-11 12:13:52 +02:00
Michael Krasnyk
12f47708cd
Adjust method and function names
2017-05-11 09:13:42 +00:00
Michael Krasnyk
9358aa1128
Disable nodes with invalid segments
2017-05-11 09:13:42 +00:00
Mateusz Łoskot
e2b7e8a4da
Refactor osrm-extract and osrm-contract to use osrm lib interface
...
Simplifies implementation of the tools slightly.
Ensures osrm::extract and osrm::contract keep working.
Follows up PR #3787
2017-05-10 21:35:42 +00:00
Patrick Niklaus
faa2094488
Fix docs for radius
2017-05-05 08:51:36 +00:00
Patrick Niklaus
e6d776699f
Fix overloaded parameter docs
2017-05-05 08:51:36 +00:00
Michael Krasnyk
88082c48cf
Remove GetEdgeBasedNodeID from TurnDataContainer
2017-05-03 21:59:38 +00:00
Michael Krasnyk
40d0297885
Added unpacked_nodes vector to annotatePath interface
2017-05-03 21:59:38 +00:00
Michael Krasnyk
be1acae20c
Use edge_id as index in ebg_node_data_container
2017-05-03 21:59:38 +00:00
Michael Krasnyk
f1e4349c82
Move geometry ids, name_ids and travel_modes to EdgeBasedNodeData
2017-05-03 21:59:38 +00:00
Michael Krasnyk
1f701341db
Move reserve call before pushing weights
2017-05-03 21:59:38 +00:00
Patrick Niklaus
f531a956f5
Update nodejs docs to document the constructor better
2017-05-03 15:23:03 +00:00
Michael Krasnyk
2402d60429
Adjusted to PR comments
2017-05-02 16:55:03 +00:00
Michael Krasnyk
19494984eb
Fix incorrect exit turn invalidation
2017-05-02 16:55:03 +00:00
Michael Krasnyk
07c7cb3c6c
Rename BinaryHeap to QueryHeap
2017-05-02 15:54:25 +00:00
Daniel J. Hofmann
9334cc463d
Fixes Table not checking for valid phantom nodes
...
We failed to check if we could actually find phantom nodes for all
coordinates in the table plugin, leading to corrupt internal state.
```
curl 'http://localhost:5000/table/v1/car/7.4151,43.7305;7.4222,43.7368?radiuses=0 ;'
```
```
[assert][140505627227904] /tmp/osrm-backend/include/engine/routing_algorithms/routing_base.hpp:68
in: void osrm::engine::routing_algorithms::insertNodesInHeap(osrm::engine::SearchEngineData<osrm::engine::routing_algorithms::ch::Algorithm>::ManyToManyQueryHeap&, const osrm::engine::PhantomNode&) [with bool DIRECTION = false; osrm::engine::SearchEngineData<osrm::engine::routing_algorithms::ch::Algorithm>::ManyToManyQueryHeap = osrm::util::BinaryHeap<unsigned int, unsigned int, int, osrm::engine::ManyToManyHeapData, osrm::util::UnorderedMapStorage<unsigned int, int> >]: phantom_node.IsValid()
terminate called without an active exception
```
2017-05-02 13:41:33 +02:00
Patrick Niklaus
0e39aa9488
Address PR comments
2017-04-24 16:04:41 +00:00
Patrick Niklaus
8ec0745883
Add benchmark
2017-04-24 16:04:41 +00:00
Patrick Niklaus
c446b017ef
Switch from macro based StrongTypedef to template version
2017-04-24 16:04:41 +00:00
Patrick Niklaus
a68435d856
Move clip functions to lambda
2017-04-20 14:58:26 +00:00
Patrick Niklaus
11d8b2ba5a
Add clipping for 20 bits to SegmentWeight/SegmentDuration
2017-04-20 14:58:26 +00:00
Patrick Niklaus
d6c6a262d8
Use 16bit for SegmentWeight and SegmentDuration
2017-04-20 14:58:26 +00:00
Patrick Niklaus
e96545be2e
Disable is_integral check because it fails for strong-type-def
2017-04-18 17:24:46 +00:00
Patrick Niklaus
a66918a303
Make PackedVector generic
2017-04-18 17:24:46 +00:00
Pepijn Schoen
e85c4f87e9
Skip fingerprinting .turn_penalties_index, to be done in a separate iteration because of Appveyor issues.
2017-04-18 12:01:06 +00:00
Pepijn Schoen
8ff5a22799
clang-format
2017-04-18 12:01:06 +00:00
Pepijn Schoen
4929d1297e
Address PR comments
2017-04-18 12:01:06 +00:00
Pepijn Schoen
b830a8f942
Replace Count32 with Count64
2017-04-18 12:01:06 +00:00
Pepijn Schoen
0c388a5264
Fingerprint .turn_penalties_index
2017-04-18 12:01:06 +00:00
Pepijn Schoen
e4eb18cf4e
Fingerprint .properties
2017-04-18 12:01:06 +00:00
Pepijn Schoen
5b4f432cba
Fingerprint .tld
2017-04-18 12:01:06 +00:00
Pepijn Schoen
15f7257645
Fingerprint .turn_duration_penalties and .turn_weight_penalties
2017-04-18 12:01:06 +00:00
Pepijn Schoen
12c11f1d48
Fingerprint .names
2017-04-18 12:01:06 +00:00
Pepijn Schoen
a196d5ced3
Fingerprint .timestamp, normalize use of Size / GetSize and make that function Fingerprint-aware
2017-04-18 12:01:06 +00:00
Pepijn Schoen
802af08179
Fingerprint .core
2017-04-18 12:01:06 +00:00
Pepijn Schoen
85ec50552d
fingerprint .ramIndex / tree nodes
2017-04-18 12:01:06 +00:00
Pepijn Schoen
8da96f8d94
fingerprint .tld
2017-04-18 12:01:06 +00:00
Pepijn Schoen
5b9d858f57
Fingerprint .edges
2017-04-18 12:01:06 +00:00
Pepijn Schoen
023242ec03
Fingerprint geometries
2017-04-18 12:01:06 +00:00
Pepijn Schoen
df0ee955e8
Fingerprint and move .levels
2017-04-18 12:01:06 +00:00
Michael Krasnyk
dea3144c4d
Use total angle for turn instruction if entry step has large distance
2017-04-12 23:22:44 +00:00
Michael Krasnyk
59b70c4d11
Make CoreCH SearchEngineData inherited from CH one
...
this allows to keep a single Algorithm template parameter in internal
interfaces as
template <typename Algorithm>
search(SearchEngineData<Algorithm> &,
const datafacade::ContiguousInternalMemoryDataFacade<Algorithm> &, ...)
2017-04-12 10:54:09 +00:00
Michael Krasnyk
f96bae40ac
Remove unused {forward,reverse}_heap_2 in MLD engine data
2017-04-12 10:54:09 +00:00
Michael Krasnyk
ba974c73bf
Remove CoreCH heaps
2017-04-12 10:54:09 +00:00
Michael Krasnyk
e498ad3ee7
Make explicit fallback to CH heaps in CoreCH algorithms
2017-04-12 10:54:09 +00:00
Michael Krasnyk
1de031ed06
Remove {forward,reverse}_core_heap arguments from search interface
2017-04-12 10:54:09 +00:00
Michael Krasnyk
6698b5e07e
Use fallbacks counter to print a single warning message
2017-04-11 14:55:56 +00:00
Michael Krasnyk
37794a5e8a
Change traffic CSV field value from weight to rate
...
and make the value required.
If the weight name is 'duration' than the rate value
can be computed as speed / 3.6
Issue: https://github.com/Project-OSRM/osrm-backend/issues/3823
2017-04-11 14:55:56 +00:00
Patrick Niklaus
a88fef2937
Implement distance pruning for MLD as well
2017-04-10 17:25:55 +00:00
Patrick Niklaus
59bbfeb67f
Buffer turn data on disk to save memory
2017-04-10 17:25:02 +00:00
Patrick Niklaus
4e9e2ed5bd
Emit a notification when turning on a ferry and don't merge step
2017-04-07 15:29:53 +00:00
Patrick Niklaus
fe50f6590a
Fix formating
2017-04-06 15:42:38 +00:00