shared-row
shared-row copied to clipboard
OSM Derived Shared-ROW Data
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:
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.
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.
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.