Skip to content
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

Penalize turns onto ways with restricted access: fees, customers #3745

Closed
daniel-j-h opened this issue Feb 23, 2017 · 9 comments
Closed

Penalize turns onto ways with restricted access: fees, customers #3745

daniel-j-h opened this issue Feb 23, 2017 · 9 comments

Comments

@daniel-j-h
Copy link
Member

In #3721 @karenzshea implemented a penalty for turns onto restricted ways (think destination routing, hov ways, etc.). This makes sure we prefer alternative routes but we can still route you there if you really want to go there.

There is currently a discussion going on about zoos and other areas where customers have acces and / or you have to pay a fee for entry.

http://lists.openstreetmap.org/pipermail/talk-de/2017-February/113797.html

It would be great to support those tags (and maybe more?) in the same way.

cc @karenzshea

@daniel-j-h
Copy link
Member Author

@bhousel just mentioned we should do the same for highway=track.

@daniel-j-h
Copy link
Member Author

Same with the toll=* tag (and related namespaced tags). Note there are "except" tags. Also fee tags.

@TheMarex
Copy link
Member

highway=track

There are some implications on data size that I think are worthwhile for ignoring this road-class for now.

@tyrasd
Copy link
Contributor

tyrasd commented Feb 27, 2017

highway=living_street does imply a no-transit restriction in some countries, e.g. Austria.

@daniel-j-h
Copy link
Member Author

Adding amenity=weighbridge and similar weigh station tags.

@MichalPP
Copy link
Contributor

MichalPP commented Apr 7, 2017

is there a way to make profile.restricted_penalty different for different source and target ways? do I have a complete list of tags on source and target ways?

eg penalize left furn from primary & lanes > 1 to anything is duration+30

(looks like no: https://github.com/Project-OSRM/osrm-backend/blob/master/docs/profiles.md )

@daniel-j-h
Copy link
Member Author

daniel-j-h commented Apr 7, 2017

@MichalPP

  • Here we apply the turn penalty in the turn function
  • Here we bind the C++ turn to the Lua environment
  • Here is the C++ turn type

As you can see the turn object in the turn function does not know about tags anymore.
That said, we played around with passing more information to the turn function:

but this got de-prioritized.

Feel free to pick this up or help out here if it fits your needs.
We need to make the turn function smarter, for sure.

@MichalPP
Copy link
Contributor

MichalPP commented Nov 2, 2017

well, my C skills are really small.

if the turn in process_turn(profile, turn) function had a turn.source (listing all tags on source way), turn.target (listing all tags on target) and turn.node (all tags on the node the turn is on), it would fulfill all my dreams :)

another use case is than in hiking routing, penalize turns from marked route to an unmarked path. or in car profile, add a small penalty when changing to lower class highways so that shortcuts through residential areas are avoided (even though they are not destination only)

Copy link

github-actions bot commented Jul 8, 2024

This issue seems to be stale. It will be closed in 30 days if no further activity occurs.

@github-actions github-actions bot added the Stale label Jul 8, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants