Commit Graph

99 Commits

Author SHA1 Message Date
Michael Bell
5266ac1635
Add support for multiple via-way restrictions (#5907)
Currently OSRM only supports turn restrictions with a single via-node or one
via-way. OSM allows for multiple via-ways to represent longer and more
complex restrictions.

This PR extends the use of duplicate nodes for representng via-way turn
restrictions to also support multi via-way restrictions. Effectively, this
increases the edge-based graph size by the number of edges in multi via-way
restrictions. However, given the low number of these restrictions it
has little effect on total graph size.

In addition, we add a new step in the extraction phase that constructs
a restriction graph to support more complex relationships between restrictions,
such as nested restrictions and overlapping restrictions.
2020-12-20 13:59:57 -08:00
Desone Burns II
9ae9a1f6d7 Fix table checks 2020-12-03 16:42:57 -07:00
Desone Burns II
0e10b94d38 Merge branch 'master' of github.com:Project-OSRM/osrm-backend into HEAD 2020-12-01 19:24:11 -07:00
Desone Burns II
1a5e5df6bd Use table lookup as boolean 2020-12-01 19:23:10 -07:00
Desone Burns II
566cf785f5 Initialize empty Lua object 2020-11-30 14:13:18 -07:00
Daniel Patterson
50d9632ed7
Upgrade formatting to clang-format 10 (#5895)
* Update formatting tools to clang-format-10

* Reformat using clang-format-10.0.09
2020-11-26 07:21:39 -08:00
Desone Burns II
1ce573ef35 Fix lua nil for MacOS 2020-11-24 08:26:24 -07:00
Desone Burns II
cf13a9714d clang-format-3.8 changed files 2020-11-24 08:06:26 -07:00
Desone Burns II
24d0af6faf clang-format changed file 2020-11-23 17:12:13 -07:00
Desone Burns II
ca68518763 Remove context from get_nodes call 2020-11-23 13:24:44 -07:00
Desone Burns II
f6065de494 Added nil check to table conversion 2020-11-23 13:21:55 -07:00
Desone Burns II
5b6e82fa9c Revert "Copy nodes to lua table"
This reverts commit a7a088d416.
2020-11-19 17:14:38 -07:00
Desone Burns II
a7a088d416 Copy nodes to lua table 2020-11-19 15:39:31 -07:00
Desone Burns II
deacc8fb5c Update to sol2 v2.20.6 2020-11-18 17:01:43 -07:00
Michael Krasnyk
d166fc6a75 Restructure Obvious Turn Handling, code transfer from #4426 2018-03-20 16:33:15 +01:00
Michael Krasnyk
5f598da76d Add OSM node barrier=height_restrictor handling 2018-02-12 11:40:35 +01:00
Daniel Patterson
5531cace7f
Support maneuver relations (#4676) 2018-02-10 05:32:09 +11: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
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
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
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
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
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
895f072425 Work on forward/backward ref's support 2017-10-19 15:18:25 +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
c42e247d87 Work on relation extract refactoring to support recursive relations (superrelations) 2017-10-16 12:15:12 +01: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
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
12b2242ad5 Add osmium locations cache 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
fc39e0ce1a Allow multiple GeoJSON files 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
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