Fix case for sliproads from link via link to primary, #4348/4
This commit is contained in:
		
							parent
							
								
									de72a8adb6
								
							
						
					
					
						commit
						a900f5229e
					
				| @ -1,4 +1,5 @@ | ||||
| # UNRELEASED | ||||
|   - Changes from 5.12: | ||||
|     - Profile: | ||||
|       - New function to support relations: `process_relation`. Read more in profiles documentation. | ||||
|       - Support of `distance` weight in foot and bicycle profiles | ||||
| @ -10,8 +11,11 @@ | ||||
|       - Exposes `use_threads_number=Number` parameter of `EngineConfig` to limit a number of threads in a TBB internal pool | ||||
|     - Internals | ||||
|       - MLD uses a unidirectional Dijkstra for 1-to-N and N-to-1 matrices | ||||
|     - Guidance | ||||
|       - Fixed some cases of sliproads pre-processing (https://github.com/Project-OSRM/osrm-backend/issues/4348) | ||||
| 
 | ||||
| # 5.12.0 | ||||
|   - Changes from 5.11: | ||||
|     - Guidance | ||||
|       - now announcing turning onto oneways at the end of a road (e.g. onto dual carriageways) | ||||
|       - Adds new instruction types at the exit of roundabouts and rotaries `exit roundabout` and `exit rotary`. | ||||
|  | ||||
| @ -1021,5 +1021,5 @@ Feature: Slipways and Dedicated Turn Lanes | ||||
| 
 | ||||
| 
 | ||||
|        When I route I should get | ||||
|             | waypoints | route            | turns                                      | locations | | ||||
|             | s,f       | sab,ae,dbcf,dbcf | depart,turn right,turn slight right,arrive | s,a,c,f   | | ||||
|             | waypoints | route         | turns                    | locations | | ||||
|             | s,f       | sab,dbcf,dbcf | depart,turn right,arrive | s,a,f     | | ||||
|  | ||||
| @ -701,21 +701,18 @@ bool SliproadHandler::isValidSliproadLink(const IntersectionViewData &sliproad, | ||||
|                                           const IntersectionViewData &first, | ||||
|                                           const IntersectionViewData &second) const | ||||
| { | ||||
|     // If the Sliproad is not a link we don't care
 | ||||
|     // If the sliproad is not a link we don't care
 | ||||
|     const auto &sliproad_data = node_based_graph.GetEdgeData(sliproad.eid); | ||||
|     if (!sliproad_data.road_classification.IsLinkClass()) | ||||
|     { | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|     // otherwise neither the first road leading to the intersection we shortcut
 | ||||
|     const auto &first_road_data = node_based_graph.GetEdgeData(first.eid); | ||||
|     if (first_road_data.road_classification.IsLinkClass()) | ||||
|     { | ||||
|         return false; | ||||
|     } | ||||
|     // otherwise the first road leading to the intersection we shortcut
 | ||||
|     // can be a link or a usual road (ignore the check at this place)
 | ||||
|     (void)first; | ||||
| 
 | ||||
|     // nor the second road coming from the intersection we shotcut must be links
 | ||||
|     // and the second road coming from the intersection we shortcut must be a non-link
 | ||||
|     const auto &second_road_data = node_based_graph.GetEdgeData(second.eid); | ||||
|     if (second_road_data.road_classification.IsLinkClass()) | ||||
|     { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user