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
|
# UNRELEASED
|
||||||
|
- Changes from 5.12:
|
||||||
- Profile:
|
- Profile:
|
||||||
- New function to support relations: `process_relation`. Read more in profiles documentation.
|
- New function to support relations: `process_relation`. Read more in profiles documentation.
|
||||||
- Support of `distance` weight in foot and bicycle profiles
|
- 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
|
- Exposes `use_threads_number=Number` parameter of `EngineConfig` to limit a number of threads in a TBB internal pool
|
||||||
- Internals
|
- Internals
|
||||||
- MLD uses a unidirectional Dijkstra for 1-to-N and N-to-1 matrices
|
- 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
|
# 5.12.0
|
||||||
|
- Changes from 5.11:
|
||||||
- Guidance
|
- Guidance
|
||||||
- now announcing turning onto oneways at the end of a road (e.g. onto dual carriageways)
|
- 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`.
|
- 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
|
When I route I should get
|
||||||
| waypoints | route | turns | locations |
|
| waypoints | route | turns | locations |
|
||||||
| s,f | sab,ae,dbcf,dbcf | depart,turn right,turn slight right,arrive | s,a,c,f |
|
| 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 &first,
|
||||||
const IntersectionViewData &second) const
|
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);
|
const auto &sliproad_data = node_based_graph.GetEdgeData(sliproad.eid);
|
||||||
if (!sliproad_data.road_classification.IsLinkClass())
|
if (!sliproad_data.road_classification.IsLinkClass())
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// otherwise neither the first road leading to the intersection we shortcut
|
// otherwise the first road leading to the intersection we shortcut
|
||||||
const auto &first_road_data = node_based_graph.GetEdgeData(first.eid);
|
// can be a link or a usual road (ignore the check at this place)
|
||||||
if (first_road_data.road_classification.IsLinkClass())
|
(void)first;
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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);
|
const auto &second_road_data = node_based_graph.GetEdgeData(second.eid);
|
||||||
if (second_road_data.road_classification.IsLinkClass())
|
if (second_road_data.road_classification.IsLinkClass())
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user