Allow counting of service exits on service roundabouts, see #4075
This commit is contained in:
parent
ac35757616
commit
1d26deb0be
@ -4,6 +4,9 @@
|
|||||||
- Added conditional restriction support with `parse-conditional-restrictions=true|false` to osrm-extract. This option saves conditional turn restrictions to the .restrictions file for parsing by contract later. Added `parse-conditionals-from-now=utc time stamp` and `--time-zone-file=/path/to/file` to osrm-contract
|
- Added conditional restriction support with `parse-conditional-restrictions=true|false` to osrm-extract. This option saves conditional turn restrictions to the .restrictions file for parsing by contract later. Added `parse-conditionals-from-now=utc time stamp` and `--time-zone-file=/path/to/file` to osrm-contract
|
||||||
- Files
|
- Files
|
||||||
- .osrm.nodes file was renamed to .nbg_nodes and .ebg_nodes was added
|
- .osrm.nodes file was renamed to .nbg_nodes and .ebg_nodes was added
|
||||||
|
- Guidance
|
||||||
|
- #4075 Changed counting of exits on service roundabouts
|
||||||
|
|
||||||
|
|
||||||
# 5.7.1
|
# 5.7.1
|
||||||
- Bugfixes
|
- Bugfixes
|
||||||
|
@ -796,26 +796,23 @@ Feature: Basic Roundabout
|
|||||||
|
|
||||||
@4030 @4075
|
@4030 @4075
|
||||||
Scenario: Service roundabout with service exits
|
Scenario: Service roundabout with service exits
|
||||||
# Counting of service exits must be adjusted in #4075
|
|
||||||
Given the node map
|
Given the node map
|
||||||
"""
|
"""
|
||||||
e
|
g a d f
|
||||||
f a d
|
h b1c e
|
||||||
g b1c
|
|
||||||
h
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
And the ways
|
And the ways
|
||||||
| nodes | highway | junction |
|
| nodes | highway | junction |
|
||||||
| abcda | service | roundabout |
|
| abcda | service | roundabout |
|
||||||
| de | service | |
|
| ce | service | |
|
||||||
| af | service | |
|
| df | service | |
|
||||||
| bg | tertiary | |
|
| ag | tertiary | |
|
||||||
| bh | service | |
|
| bh | service | |
|
||||||
|
|
||||||
When I route I should get
|
When I route I should get
|
||||||
| from | to | route | turns |
|
| from | to | route | turns |
|
||||||
| 1 | e | abcda,de,de | depart,roundabout-exit-1,arrive |
|
| 1 | e | abcda,ce,ce | depart,roundabout-exit-1,arrive |
|
||||||
| 1 | f | abcda,af,af | depart,roundabout-exit-1,arrive |
|
| 1 | f | abcda,df,df | depart,roundabout-exit-2,arrive |
|
||||||
| 1 | g | abcda,bg,bg | depart,roundabout-exit-1,arrive |
|
| 1 | g | abcda,ag,ag | depart,roundabout-exit-3,arrive |
|
||||||
| 1 | h | abcda,bh,bh | depart,roundabout-exit-1,arrive |
|
| 1 | h | abcda,bh,bh | depart,roundabout-exit-4,arrive |
|
||||||
|
@ -478,13 +478,18 @@ Intersection RoundaboutHandler::handleRoundabouts(const RoundaboutType roundabou
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}();
|
};
|
||||||
|
|
||||||
if (has_non_ignorable_exit)
|
if (out_data.road_classification.IsLowPriorityRoadClass() ||
|
||||||
|
has_non_ignorable_exit())
|
||||||
|
{
|
||||||
turn.instruction = TurnInstruction::REMAIN_ROUNDABOUT(
|
turn.instruction = TurnInstruction::REMAIN_ROUNDABOUT(
|
||||||
roundabout_type, getTurnDirection(turn.angle));
|
roundabout_type, getTurnDirection(turn.angle));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{ // Suppress exit instructions from normal roundabouts to service roads
|
||||||
turn.instruction = {TurnType::Suppressed, getTurnDirection(turn.angle)};
|
turn.instruction = {TurnType::Suppressed, getTurnDirection(turn.angle)};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user