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

Support direction = both ways #91

Open
dabreegster opened this issue Sep 15, 2022 · 2 comments
Open

Support direction = both ways #91

dabreegster opened this issue Sep 15, 2022 · 2 comments

Comments

@dabreegster
Copy link
Contributor

There are many cases where bidirectional travel is allowed on one "lane." We should add that to the Direction enum, then make all caller code handle it properly. In osm2streets itself, the impact isn't huge. But many places downstream in A/B Street will be affected: rendering, routing, traffic simulation, and even blockfinding. Just starting this issue to start tracking notes on how to fix things there

@BudgieInWA
Copy link
Collaborator

An "alternates" case too. I called it TravelDirection in my types.

Most reads of the value will boil down to "is travel supported in this direction", right? Routing could implement "alternating" and use that for "both ways" too.

@dabreegster
Copy link
Contributor Author

An "alternates" case too. I called it TravelDirection in my types.

Ah right. I guess this fits signalized one lane "under construction" cases, or super narrow tunnels. And maybe even reversible / contraflow highways.

Most reads of the value will boil down to "is travel supported in this direction", right?

I think so, but there are a few abuses of direction in A/B Street that I need to sort out. They started before I knew when to reason in terms of left/right or inside/outside. For example, sidewalks have a forwards/backwards direction that has to be set a certain way, or a bunch of things break (people walking on the wrong side, tracing the geometry of curbs, people transferring between a bus or car and the sidewalk).

A funny in-between example is parking lanes. Are they directional or not? In many places, legally you're supposed to park with the direction of traffic, even if it's not enforced much. But I've seen things like center parking lanes separating the two directions of traffic. Or center turn lanes (ref a-b-street/osm2lanes#184).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants