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

relation:connectivity? #265

Closed
ryancasburn-KAI opened this issue Apr 14, 2024 · 5 comments
Closed

relation:connectivity? #265

ryancasburn-KAI opened this issue Apr 14, 2024 · 5 comments

Comments

@ryancasburn-KAI
Copy link

Hi, great package. I've been exploring it recently.

I don't see any reference to relation:connectivity in the code, but not sure if I'm missing anything. Is this (or is it planned) to be handled?

The image below is an example I think this would help. I added the connectivity relationship (Relation: 17470143) today, but it didn't change anything in Streets Explorer.

image

@dabreegster
Copy link
Contributor

Hi, thanks for trying things out. We have movements between road segments started today, but no lane-to-lane turning movements yet. When that's started, we'll mostly use heuristics to figure out which lanes lead to which others, but when connectivity is mapped, definitely use it.

I also noticed there's a crash in rendering intersection markings nearby at https://a-b-street.github.io/osm2streets/#17.62/27.941355/-82.458842. I'll fix that, then maybe look into why the 3-way junction at the start of the bridge looks so bad. That's just a case of intersection geometry with the slip lane and crossing interacting badly; lane-level turns probably wouldn't have much to do with that.

@ryancasburn-KAI
Copy link
Author

Thanks! I realized this morning that placement would help, and it kind of did. I split it such that there was a clear transition way where it moves from the middle of the two lanes to the left, then specified the placement on the left for the segment that actually touches the bridge. This kind of made it better, but not sure how the placement:transition gets handled, seems like it should be aligned such that the placement matches on both the start and the end.

I noticed a few crashes in the surrounding area, but wasn’t sure what was causing it. If you pan east to show the roundabout (Cumberland & Channelside), nothing renders there either.

Thanks for looking into it!

I’m in no way good at Rust (still learning), but if I can help somehow on the lane destination heuristics somehow, let me know.

@dabreegster
Copy link
Contributor

The placement did help, but I see the problem you're hitting:
image
I'm not very familiar with the placement implementation, but I don't think we handle transition yet:

// We haven't calculated the transition yet. At early stages of understanding the

The crash should be fixed; let me know if you hit others. Something funny happened near https://www.openstreetmap.org/way/906374669, and I'm not too surprised with a tiny disconnected segment of stairs.

The hard part for lane connectivity heuristics is probably coming up with the logic and understanding edge cases. When there's time to revive the work on turns/movements, I can ping you once the scaffolding is kind of set up, if you're interested in helping with that piece!

@ryancasburn-KAI
Copy link
Author

Thank so much. I'll close this for now. I may have a use case in the near future for understanding lane connectivity, so I'd be happy to assist to get it there.

@BudgieInWA
Copy link
Collaborator

Thanks for the interest @ryancasburn-KAI. The lane connectivity is very bare-bones and using the lane connectivity relation is definitely desired. I have only really started implementing lane connectivity across intersections, which is needed to calculate the meaning of placement=transition.

I didn't get to implementing the geometry transformations yet for supporting roads with a different position offset at the start and end.

I'll tag you for advice when I get back into the lane connectivity code.

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

3 participants