shared-row icon indicating copy to clipboard operation
shared-row copied to clipboard

OSM Derived Shared-ROW Data

Open d-wasserman opened this issue 4 years ago • 3 comments

There is a need to create a series of scripts (open source & closed source) that parse OpenStreetMap data and tags and create both slice & additive versions of the shared-row spec. Anyone taking on such a project can be sure their repo will be linked in this repository under services. Please reply if there is interest or a current project.

Related projects providing a starting place:

d-wasserman avatar Jan 27 '21 05:01 d-wasserman

https://github.com/dabreegster/abstreet/issues/330#issuecomment-767105579 I've had this in mind for a while, and it came up recently. Specifically, it'd be a function that takes a dictionary of the key/values for a single OSM way, then emits the list of lanes from left to right, each lane having a type, width, and direction. This is quite close to the shared-row format.

My code for doing this is https://github.com/dabreegster/abstreet/blob/master/map_model/src/make/initial/lane_specs.rs -- well isolated already, not hard to split out into something that could be callable from C or JS (via WASM). I'm motivated to split it out and get other OSM consumers using it, so that people more familiar with the nuances of tagging (see https://wiki.openstreetmap.org/wiki/Berlin/Verkehrswende/Radwege#Tagging-Beispiele as an example) can contribute to it.

dabreegster avatar Jan 27 '21 06:01 dabreegster

That is a great starting point for us, and you include a lot of useful tag conversion examples to consider. I would like something like this but in python too as that is where many geospatial applications currently are operating. That said, thanks for sharing this and moving forward shared-row ideas on your end.

d-wasserman avatar Jan 27 '21 20:01 d-wasserman

My hope is that the implementation itself is pretty small and not tedious to maintain in multiple languages. We could encode test cases in JSON or a common format and directly share between impls.

I won't have time to drive this split-out code from the abst end soon, but I'll keep following this bug.

dabreegster avatar Jan 27 '21 20:01 dabreegster