This is an open data specification for describing the right-of-way (ROW) for street centerline networks. It is intended to establish a common set of attributes (schema) to describe how space is allocated along a streets right of way from sidewalk edge to sidewalk edge.
This is really interesting. Some initial thoughts:
I assume the sliced representation is given for a particular point (e.g. SSR201...3s4 @ 20 meters)? It doesn't seem like this could work for ranges (e.g. @ 20 meters to 40 meters) since as soon as one feature changes width, this method seems to break down. Not necessarily a flaw, just an observation.
Biggest question: how do you envision storing the input data features (e.g. sidewalks, bike lanes, motor vehicle lanes)? To be able to query the width at any given point along the street, you need the equivalent of polygons as an input layer. Maybe this is polygon-based spatial data, like you can sometimes get in OSM for sidewalks. But there would be some advantages to keeping everything in an LR model and avoiding spatial representations entirely. I'm thinking of a unit square. That approach would enable you to store the width of a feature at any given location from 0 meters to 100 meters (or whatever the length of the road is), without using spatial coordinates.
How will you get the input data? It's rare to find a polygon-based bike lane or sidewalk dataset. Even in OSM, it's rare to see sidewalks mapped as areas rather than lines. I can understand wanting people to start collecting this data... but do you have a plan for where you'd find enough good data to create examples and build tools with? There's considerable effort involved in creating this type of data so it will be hard to get cities to use this if there is not a clear benefit to them.
Interoperability. If we assume that cities, companies, etc are going to keep using their core tools (databases, GIS, etc), then users must be able to convert data back and forth from additive to slides data representations. As you develop the spec, it's worth keeping this in mind. So far it seems like you could do this in the additive data model by creating an index for every existing column, which would store its position in the left-to-right order of street features (e.g. bike Lane = 2.4, bikeLaneIndex=2).
Who creates the sliced data representation from input layers? This is pretty specialized/technical, which means it may be beyond reach of a lot of folks. But users may want to customize the input features included in their slice (either features they care about, or data sources they prefer or trust, like city centerlines instead of OSM). I'm not sure which audience is the data creator.
Problem statement and examples. It might help to clarify upfront the problem the industry currently has and how this would help (use cases, basically).
I work on an application that parses streetmix "segments" (analogous to "slices") json and I notice that the Slice Type table matches almost all of the Streetmix type names however this repo uses underscores instead of hyphens
One area of need beyond visualization potential from StreetMix, AB Street, or CityEngine there is a need for some examples of people developing open metrics on the shared-row specification in GIS or within a web context. I think back to a multimodal plan I worked on a while ago that might provide some inspiration, but there are many others. I think some important metrics to think about create open examples on include:
FHWA has developed a model road way inventory that includes many of the variables discussed in this specification. I think thinking about how to build upon their work and using the same classifications and field names would be a benefit modification.
Report: FHWA-SA-17-048
Link: MIRE 2.0 Documentation
It would basically modify how we represent elements of the Additive Spec (which this is similar too). I was curious what others think about this?
It is also possible MIRE is just something this specification plans to integrate with. They are not duplicating all aspects of the street discussed in the spec.
The spec appears to be using the term "crosswalk" to refer to a way of representing slices in the flattened additive format:
A share-row-crosswalk consists of each row representing a slice of a shared-street id. Intended to allow the conversion between Additive and Sliced based specifications in an editable GIS/SQL database.
The word "crosswalk" is synonymous with pedestrian crossings. I'm very confused by the crosswalk tab in the schema, because it doesn't seem to have anything to do with pedestrian crossings. Should this be renamed?
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.
"Dedicated" means "primarily intended for." In each of these cases mixed traffic may be permitted and a meta tag will indicate what kind of mixing is allowed.
drive_lane: This denotes a through-lane intended for automobile traffic.
sharrow (optional boolean): Describes whether a drive_lane slice has a sharrow stamp located within it.
turn_lane: A lane where automobiles are taken out of traffic flow in order to queue for turning. These lanes are considered to be center-running and can be bidirectional if they represent a block to block segment with end and begin depths for symmetrical intersection end points (no additional turn lanes on either end of the segment). Segments should be split if one block has varying turn lanes counts.
sharrow (optional boolean): A turn_lane may have a sharrow stamp
end_depth (conditionally required number): This specifies the turn lane depth for the end point of the existing segment. If blank, it is assumed the turn lane is the depth of the entire length of the represented segment. For block to block representations, this parameter is required, and only works for symmetrical end points of intersections.
I am starting to think about whether or not we should have a specific set of optional specifications for intersection points and their relationships to the "segments" we are describing in the specification. What attributes would be useful here? Would we move the crosswalks to this schema? How do we handle multiple legs?
@drewda and myself reconnected to discuss this specification. He pointed out that often more important to adoption than a specification is being able to articulate the problem we are solving between producers (cities/DOTs/OSM), and consumers (Remix, StreetMix, CityEngine, Scenario Planning Software).
We need to answer a few questions based on this discussion:
Are going to represent scenarios or focus on just the existing condition? Orient around one or the other?
Who are the players that would be interested in adoption?