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