Commit Graph

606 Commits

Author SHA1 Message Date
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
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
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
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
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
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
d5232d5f5c check empty name string in roundabout handler 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
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
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
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
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
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
Denis Koronchik
895f072425 Work on forward/backward ref's support 2017-10-19 15:18:25 +01:00
Michael Krasnyk
088d4edc6b Prevent merging of circular-shaped roads 2017-10-17 11:27:09 +02: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
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
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
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
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
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
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
Patrick Niklaus
bc8617a9f4 Fix remaining PR comments 2017-08-21 13:00:12 +02:00