-
Notifications
You must be signed in to change notification settings - Fork 665
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement living street avoidance #2788
Conversation
"Place de Thorigny", "Rue de Thorigny", | ||
"Rue Debelleyme", "Rue de Turenne", | ||
"Rue Commines", "Rue Amelot"}; | ||
std::vector<std::string> expected_route{"Rue de la Perle", "Rue des Archives", "Rue Pastourelle", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rue de Thorigny
is a living street, so avoid it now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but this is a bike share route which means its just pedestirans and bike riders, we shouldnt be avoiding living streets for those modes of travel should we?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, but this is the test case for auto costing, as the line 270 says, so I thought this was expected
6a2f4c0
to
a9b11c9
Compare
// 'living_street' edge | ||
validate_path(gurka::route(use_living_streets_map, "1", "2", c), | ||
{"AB", "BC", "CD", "DE", "EF"}); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test is great, easy to read and follow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All credit goes to @genadz and his tests on track avoidance :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, LGTM
c90c359
to
f1998fd
Compare
f1998fd
to
dc450ff
Compare
dc450ff
to
aaa6b13
Compare
@@ -59,7 +59,8 @@ constexpr float kDefaultSideWalkFactor = 1.0f; // Neutral value for sidewalk | |||
constexpr float kDefaultAlleyFactor = 2.0f; // Avoid alleys | |||
constexpr float kDefaultDrivewayFactor = 5.0f; // Avoid driveways | |||
constexpr float kDefaultUseFerry = 1.0f; | |||
constexpr float kDefaultUseTracks = 0.5f; // Factor between 0 and 1 | |||
constexpr float kDefaultUseTracks = 0.5f; // Factor between 0 and 1 | |||
constexpr float kDefaultUseLivingStreets = 0.6f; // Factor between 0 and 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be 1.f? isnt the point of most of these living streets that pedestrians get right of way at or above other modes of travel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with your idea, but in my opinion pedestrians are more sensitive to route distance/duration increase which can happen if we favor living streets more. That's why I didn't want to mess with this costing a lot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, so a customer who would like more scenic and clean routes may want to crank this up at the potential expense of time and distance. Makes sense.
Testing another approach with high penalty for transition into living street and not such a big factor (previously I was betting everything on large factor) in order to avoid situation 2) from my comment above. The idea is to minimize the part of the route that goes through living streets, but not to add to much to the route length if we need to use it as an origin or destination |
aa421f3
to
abc88a1
Compare
Issue
Introduces
use_living_streets
parameter which allows to tune living streets preferences during routing with different costings.The impact on route selection consists of 2 parts:
Tasklist
Requirements / Relations
Link any requirements here. Other pull requests this PR is based on?