a-b-street / osm2streets

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

Start handling highway=crossing nodes #247

Closed dabreegster closed 6 months ago

dabreegster commented 6 months ago

image

This PR starts a fresh attempt to handle pedestrian crossings in osm2streets. Previously, I think @BudgieInWA and I have thought about these as movements/turns across an intersection, having some influence on stop lines, etc. This new approach is much simpler, exploiting the fact that we already have separate Intersection objects that exactly correspond to a highway=crossing node such as https://www.openstreetmap.org/node/2819230451. So all we have to do is plumb along some per-Intersection info and render it as markings.

This approach makes sense only in the context of using separately mapped sidewalks (which is kind of the way things are going anyway). Looking at the image above, the idea of a larger "junction" that groups the big Intersection and all of the things around it starts to look a bit more clear. But going back to an old idea with Ben, let's first get the "one-to-one" OSM representation to be pretty good, then we can think about higher-level "views" on top of it.

This is a simple first step, some next steps are in #246. Comments welcome from anyone, particularly @andrewphilipsmith, @ginnyTheCat, @hungerburg (dredging up https://github.com/a-b-street/abstreet/issues/795 -- no more inferred anything!), @SupaplexOSM. (I might merge quickly so osm2streets.org is updated for convenience, but happy for feedback whenever)

ginnyTheCat commented 6 months ago

Looks amazing. Maybe in the future we could render those details for crossing nodes as well, similar to how Mapbox Streets renders them.