a-b-street / osm2streets

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

Parse and paint turn arrows #182

Closed BudgieInWA closed 1 year ago

BudgieInWA commented 1 year ago

The implicit arrows (drawn when there are no turn arrows specified) shown at the bottom need tweaking, but otherwise this looks serviceable!

EnumSet is super easy to use and very ergonomic.

image

BudgieInWA commented 1 year ago

We're very close to lane-level turning movements now, right? The big chunk of missing logic is how to handle 3 lanes merging into 2 and things like that.

You're right that we've got (almost) all the data plumbed through that we need. I think they'll get implemented on a case-by-case basis because of complications like mismatched lane counts. Also, classifying which arms of an intersection constitute "slight left" vs "left" and things like that.

The last piece of that puzzle is the connectivity relation, which answers the question for us in complicated situations (and is our escape hatch to avoid inventing inferences that are too clever). But plumbing it through is complicated, just like complex turn restriction relations.