diff --git a/CHANGELOG.md b/CHANGELOG.md index e72cbe0e0..96b6adc51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,9 @@ -# 5.5.2 - - Changes from 5.5.1 +# 5.6.0 + - Changes from 5.5 - Bugfixes - Fix #3475 removed an invalid `exit` field from the `arrive` maneuver + - Guidance + - No longer emitting turns on ferries, if a ferry should use multiple docking locations # 5.5.1 - Changes from 5.5.0 diff --git a/features/guidance/collapse-ferry.feature b/features/guidance/collapse-ferry.feature index 67f1616d5..a17a82048 100644 --- a/features/guidance/collapse-ferry.feature +++ b/features/guidance/collapse-ferry.feature @@ -20,17 +20,17 @@ Feature: Collapse """ And the ways - | nodes | highway | route | name | - | jacbk | primary | | land | - | ad | | ferry | sea | - | bd | | ferry | sea | - | cd | | ferry | sea | - | de | | ferry | sea | - | ef | primary | | land | + | nodes | highway | route | name | + | jacbk | primary | | land | + | ad | | ferry | sea | + | bd | | ferry | sea | + | cd | | ferry | sea | + | de | | ferry | sea | + | ef | primary | | pennydog-island | When I route I should get - | waypoints | route | turns | modes | - | f,j | land,sea,land,land | depart,notification right,end of road left,arrive | driving,ferry,driving,driving | + | waypoints | route | turns | modes | locations | + | f,j | pennydog-island,sea,land,land | depart,notification right,turn left,arrive | driving,ferry,driving,driving | f,e,b,j | Scenario: Switching Ferry in a Harbour Given the node map @@ -49,16 +49,45 @@ Feature: Collapse """ And the ways - | nodes | highway | route | name | - | ea | primary | | melee-island | - | ab | | ferry | melee-island-ferry | - | cf | primary | | pennydog-island | - | bd | primary | | landmass | - | bc | primary | ferry | pennydog-island-ferry | + | nodes | highway | route | name | + | ea | primary | | melee-island | + | ab | | ferry | melee-island-ferry | + | cf | primary | | monkey-island | + | bd | primary | | scabb-island | + | bc | primary | ferry | monkey-island-ferry | When I route I should get - | waypoints | route | turns | modes | - | e,f | melee-island,melee-island-ferry,pennydog-island-ferry,pennydog-island,pennydog-island | depart,notification straight,turn right,notification straight,arrive | driving,ferry,ferry,driving,driving | + | waypoints | route | turns | modes | + | e,f | melee-island,melee-island-ferry,monkey-island-ferry,monkey-island,monkey-island | depart,notification straight,turn right,notification straight,arrive | driving,ferry,ferry,driving,driving | + + + Scenario: End of Road Ferries + Given the node map + """ + a - b ~ ~ ~ ~ c ~ ~ ~ ~ ~ d - e + ~ + ~ + ~ + ~ + ~ + ~ + ~ + f + | + g + """ + + And the ways + | nodes | highway | route | name | + | ab | primary | | land-left | + | de | primary | | land-right | + | gf | primary | | land-bottom | + | bcd | | ferry | ferry | + | fc | | ferry | ferry | + + When I route I should get + | waypoints | route | turns | + | g,e | land-bottom,ferry,land-right,land-right | depart,notification straight,notification straight,arrive | Scenario: Fork Ferries Given the node map @@ -86,6 +115,7 @@ Feature: Collapse | cd | | ferry | ferry | | fc | | ferry | ferry | + When I route I should get | waypoints | route | turns | | g,e | land-bottom,ferry,land-right,land-right | depart,notification straight,notification right,arrive | diff --git a/include/extractor/travel_mode.hpp b/include/extractor/travel_mode.hpp index 93e273e34..fa75c373b 100644 --- a/include/extractor/travel_mode.hpp +++ b/include/extractor/travel_mode.hpp @@ -28,8 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef TRAVEL_MODE_HPP #define TRAVEL_MODE_HPP -#include - namespace osrm { namespace extractor diff --git a/src/extractor/guidance/intersection_handler.cpp b/src/extractor/guidance/intersection_handler.cpp index ae23a4a8d..15d6832b5 100644 --- a/src/extractor/guidance/intersection_handler.cpp +++ b/src/extractor/guidance/intersection_handler.cpp @@ -1,6 +1,5 @@ #include "extractor/guidance/intersection_handler.hpp" #include "extractor/guidance/constants.hpp" -#include "extractor/travel_mode.hpp" #include "util/coordinate_calculation.hpp" #include "util/guidance/name_announcements.hpp" diff --git a/src/extractor/guidance/suppress_mode_handler.cpp b/src/extractor/guidance/suppress_mode_handler.cpp index dd36bdaaf..fe3e44a77 100644 --- a/src/extractor/guidance/suppress_mode_handler.cpp +++ b/src/extractor/guidance/suppress_mode_handler.cpp @@ -57,7 +57,8 @@ operator()(const NodeID, const EdgeID, Intersection intersection) const std::for_each(first, last, [&](auto &road) { const auto modifier = road.instruction.direction_modifier; - const auto type = TurnType::Suppressed; + // use NoTurn, to not even have it as an IntermediateIntersection + const auto type = TurnType::NoTurn; road.instruction = {type, modifier}; });