a-b-street / osm2streets

Convert OSM to street networks with detailed geometry
https://a-b-street.github.io/osm2streets
Apache License 2.0
101 stars 9 forks source link

Crossings #246

Open dabreegster opened 8 months ago

dabreegster commented 8 months ago
tordans commented 7 months ago

How to you plan on handling the different taggings from the way segment footway|cycleway|path=crossing vs. the taggings from the node highway=crossing?

Rapid recently added code that helps to sync some of the tagging of those two representations. I still have to try this out, but it sounds promising because right now the crossing system is pretty messy, unfortunately. I thought that usually the nodes are present first and the ways are only added later, which would make the nodes the winner when tags conflict. Hover I heard that in some regions there are only ways, not notes…

PS: During the last iD Editor community meetup we discussed how to improve the presets for crossings which will improve the situation somewhat. But I still have do document what we talked about in that meetup…

dabreegster commented 7 months ago

That example looks like a good one to iterate on: https://a-b-street.github.io/osm2streets/#19.29/52.4737549/13.4406967 image Right now it's mostly looking for tagging on the node. I'll take a shot at interpreting the ways now.

I honestly have a poor understanding of the tagging schema; I've just been working in example places that I know on the ground and that seem to be tagged reasonably

dabreegster commented 7 months ago

Ah, both the missing crosswalks here are because two OSM nodes get consolidated by osm2streets into one polygon. Then the crossing junction connects to three walkable segments, and so it's unclear how to draw the straight line of the crossing. That straight line is erased in the process of building the intersection polygon, but usually it's recovered by looking for the two connecting ends

dabreegster commented 7 months ago

image This shows the problem more clearly maybe. When there are 3 walkable edges, it's picking two arbitrarily to draw the straight line of the crossing. The left side looks good here, but the right picks the wrong pair.

Quick hack would be to find the pair of points farthest from each other. Proper approach would be to preserve the original crossing geometry when building the intersection.