New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't recommend "description=... sidewalk" #2
Comments
Hi! Thanks for raising this issue! The As you note, a sidewalk-street association, along with the 'side of street' information, are candidates for being inferred. We are working on algorithms to do this as part of related work, though I'm not aware of any existing algorithms that are particularly reliable. An important case, in particular, is short ways - small subsegments of sidewalk broken up for differing widths, surfaces, etc. But, we may have missed something in our review of others' methods. Do you have any examples of a reliable, proven sidewalk(footway)-street-associating algorithm that uses OpenStreetMap data? I'd be keen to check it out. In lieu of such a system, OSM is limited in the information it can communicate textually to a pedestrian about a sidewalk footway. Mainly, a sidewalk is (of course) semantically associated with a street ("the sidewalks on Main Street", e.g.) and this is how people describe sidewalks when having discussions. The addition of a direction allows for (usually) distinguishing one of two sidewalks. Unfortunately, there is not yet a relational primitive that explicitly associates a sidewalk way with a street way in OSM, an appealing way to infer this information reliably without guesswork. So, my conclusion is currently two-fold, though I'd be interested in your feedback:
|
That is actually what I'm suggesting. What you want to do here is create a semantic, machine-readable connection between a sidewalk and the associated street (which can then be presented to humans in an appropriate way via e.g. audio hints, textual display, coloring on a map, etc...). The
There is, actually: https://wiki.openstreetmap.org/wiki/Relation:street (with an additional proposal that explicitly introduces a role for sidewalks https://wiki.openstreetmap.org/wiki/Proposed_features/Relation:street)
I'm not familiar with the relevant tools, so unfortunately I can't help you there. |
Yes, exactly! We would much prefer to have an in-schema, machine-readable, semantic mapping between sidewalk(s) and street(s). The
I don't think this would create a conserved, maintainable relationship between the sidewalk and street. It would make it possible to surface a street name when referring to a sidewalk (excellent!), but if we wanted to say what side of the street it was on (or ideally, get even more info about the street), we'd need to rely on guesswork again (name matching and spatial searches). Though just to be clear, I'm responding to the idea of an
Thanks for the reminder of this relation! Most of my experience with street relations is the I just did some overpass searches to see how actively it was used (and exactly how it included sidewalks). There are a few thousand uses with a With that said, we are very interested in the idea of using this relation rather than putting the relevant data in the Now we'd want to really dig in and see whether it's copacetic, in general, to add these relations. My interpretation of the existing, accepted
Totally fine, I misunderstood your idea of where unambiguously-associated street info could come from. Please let us know if you have any contacts, resources, or further recommendations for building momentum on (or at least not stepping on toes with) the |
Using
Different people have different opinions. Regardless, both styles (tagging sidewalk information on the main highway or tagging them separate) are valid and in use. Whether those objecting are high-profile community members or not doesn't really matter that much. In OSM fashion, what actually matters most is whether the local communities in the corresponding areas agree with the practice or not. (That is absolutely not to say that the opinions of other mappers, especially more experienced ones, should just be disregarded)
Yes, that's because the
The
See above for why repurposing
The suggested role for sidewalks according to the street relation extension proposal is
Relatively few towns are consistently mapped with sidewalks in general, even fewer with sidewalks as separate ways. Finding one that consistently uses a relation which is not really used by any existing applications on top is not very realistic.
Yes, because there are/were no (or not enough) use cases why mappers would bother to add this increased complexity.
The existing
I'd suggest contacting and working with the authors of the street relation proposal to ensure the semantics are properly defined and useable for sidewalks and working out other kinks by engaging with the community and requesting feedback about it. As for building momentum: good editor support and clear use cases (e.g. via an application or at least a demo that actually uses the tagging scheme for something useful) tend to incentivise mappers to actually use a tagging scheme. Stepping on toes can mostly be avoided by ensuring that those that are actually impacted by this (i.e. the actual local mappers that are going to have to work with it) are on board with this and by providing good documentation for your efforts. |
I don't know a lot of specifics here (having only read this issue), but I'm with @Woazboat here. OSM has a relation type for exactly this, relating other OSM objects together, and I think that's much more robust than freeform use of the |
Please, at least do not claim that it is an OSM convention. https://wiki.openstreetmap.org/wiki/Any_tags_you_like is a thing, technically it can be tagged this way... But such use of description tag is not a standard or OSM convention and has no chance to scale up to millions of sidewalks. |
I guess that you tried "match each part of way of sidewalk to the nearest road, respecting layer/bridge/tunnel info" and it was not good enough? |
At the least, such an algorithm would have to account for connectivity or barriers. Otherwise, you’d get plenty of edge cases, like where a sidewalk happens to run smack-dab in between a freeway and a surface street, but in reality there’s a wall separating the sidewalk from the freeway that takes up the same amount of space as the verge separating it from the surface street. Probably the most robust approach would essentially be a map-matching algorithm taking the sidewalk ways as input to match against the road network. |
This wiki page points out in passing that some mappers prefer to tag the sidewalk with the associated street’s name in |
To @Woazboat: thank you for your feedback, again! Where I've left out some of your responses, it's where I believe we are impicitly in relative agreement.
The current document states this: I would also like to clarify what the OpenSidewalks Schema is, as I can see that our documentation is not be clear on its relationship with OpenStreetMap, particularly when it comes to mapping recommendations. We definitely need to address that in our schema definition and other materials. The OpenSidewalks Schema is intended to be a nominally OpenStreetMap-compatible data schema, where nominally means that one can derive OpenSidewalks Schema data from a subset of OpenStreetMap data and one could generate OpenStreetMap-compatible data from a subset of OpenSidewalks Schema data. But other data producers and consumers are also possible. For example, we transform several open municipal datasets into OpenSidewalks Schema data - datasets that do have unambiguous, machine-readable street-sidewalk relations and direction-from-street data. We do end up putting that in the In other work, where we do have OpenStreetMap mapping recommendations, we do not actually provide a recommendation on what goes in the
The previous feedback we have received highlights some challenges to constructively resolving this question, however - and that's my motivation in bringing it up. Put yourself in our shoes! Statements offered up as objective ("there is already a street-sidewalk relation") contradict similarly vehement opinions from others in the community, including many with long-time investments in it. We're not surprised that there's disagreement in a community-driven effort, especially about data - so much passion is a great thing - but we need more context and specifics in order to provide our own feedback and make decisions.
Of course! I'm just supplying context so that you can see where we are coming from. I am surprised that this relation did not come up in such discussions.
Good to know that
Our groups needs to be able to answer these questions:
To me, the relation being used sporadically and experimentally helps us answer these questions. In order, the answers seem to be, (1) no, (2) probably (after learning more), and (3) we'd need to create a test area.
Can you clarify for us how you know this is the case?
Thank you for the recommendations! |
Hi @matkoniecz!
I am unsure what is meant by "OSM convention". So far as I can tell, the
Can you tell me where I can find more information on what the convention is or help me understand where I'm misinterpreting the wiki?
To clarify, we are not declaring that "this street in this direction" is a standard or OSM convention with
Yes, of course. |
Thanks for that! I admit that I was a bit confused and it looked to me like instructions to people editing OSM right now.
Sadly, sidewalks and especially crossings are part of OSM tagging scheme with many outstanding serious issues in how they are tagged and some deeply held opinions how things should work (separately mapped sidewalks vs sidewalk tags are just the simplest example)
I admit that I have an allergy to relations unless absolutely needed as they complicate editing. I would advise to create some set of example which are not solved by "just match to nearest matching road" and not solvable by using already existing tagging. If you plan to experiment with it I would suggest doing it on some small scale area in place familiar to you (in general "I am local mapper and I map my surroundings" has much better impression that "I edit remotely from another continent")
I interpreted it as "typical use of tag in OSM". Using
Note that You should not be surprised if someone will edit descriptions that you rely on (plan to rely on?) or retags it to say newly invented
OSM Wiki sometimes has some info, tagging mailing list and other https://wiki.openstreetmap.org/wiki/Contact_channels are also a good place if you want to ask people
Do you have somewhere repo with set of cases/locations where such matching fails? Are you familiar with A/B Street? That project had attempts or plans to handle such matching.
Though note that in many places this would be also met with a surprise...
I can confirm this and I base it on my editing experience and involvement in tagging discussions but I am not going to claim that I am 100% neutral and without biases... For example I have above average dislike of relations. |
Thanks for the very helpful response, @matkoniecz! It clarified a lot of things for me and I really appreciate you taking the time to explain these things.
I can definitely see how that's something we (mis)communicated and that our documentation needs fixing! I personally don't map the
Yes, of course! We're not surprised that people will disagree with one another on a community-driven project, and with many valid positions to share with one another. It communicates, among other things, passion! I just want to surface that from our perspective, where we don't want to dismiss or reject perspectives, it means we (people working on OSW) need additional context and dialogue for making decisions on whether we're mapping/interpreting tags appropriately, etc.
Yes, I 100% agree. Anyone advocating for including sidewalks in the
Good recs! I would either do edits in my own neighborhood/city or work with some close collaborators in other cities (local OSM community members) with whom we communicate frequently.
I can see the problem of moving pre-existing machine-readable info into
That might be too many examples, but hopefully what I mean is making sense.
Ah, that may be a miscommunication on our part. We don't rely on any format at all, the idea is to just pass along the
We would be very happy to see people edit + retag any such descriptions that do exist!
My understanding, then, would be that to know whether you are using a tag against convention would be to review the wiki and then how the tag is used "in the wild", which includes talking to the handful of people on the mailing list (which has usually meant parsing several incompatible statements-of-fact, in my experience). But in that case, I'd say that writing something like, "A sidewalk on the Northeast side of 20th Street" matches convention based on the way I've seen
I'm sure there's discussion to be had about how correctly-mapped some of these examples are, but I am... pessimistic that I would come to any different conclusion about
I do not think that I do, my work on that was several years ago during early evaluation stages. I think it would make sense to prepare something like that for contributing to the In the meantime, I can give an example of where it will frequently fail: whenever two streets of different widths meet (let's say they all have sidewalks right at their boundaries and they meet are sharp-ish corners), a nearest-street algorithm will classify sidewalks that should be part of the wider street as part of the narrower street. Another example: sidewalks tend to be mapped as centerline, so they're offset a bit from any parallel curb (so their distance from the street is 1/2 the street width + 1/2 the sidewalk width, roughly). Many people will start/end a sidewalk at the street boundary, however - so the distance from a sidewalk to a neighboring street will be only the 1/2 the street width portion. The sidewalk line is closer to an orthogonal street, all things equal. Algorithms for reliably determining sidewalk associations will need to use more complex analyses. Probably things like this: street buffer searches, splitting/merging of sidewalk edges within a graph interpretation + street and intersection geometries, line similarity, sampling approaches comparing normals between points along a sidewalk and the nearest projection point on a street.
Yep! The A/B street dev was in Seattle for a while and we've met with them before! This is a good suggestion, though - we should check in and see if they have any cool new approaches. |
In general And I guess that [art of my reaction was skepticism that situation would be improved at all if such tagging would start being used (adding attempt to have some form of standardized info there would likely be problematic)
Is it also failing unacceptably often when width of fully tagged road is taken into account? |
Makes sense to me, @matkoniecz! I think we're in agreement that
Well this example is in my head, so whether it fails is currently about whether my logic holds. I think that creating some code + repo for this would be helpful for the discourse in general, so I'll propose that to our group. I'll still make an attempt with logic / rules alone, though! If I'm interpreting you correctly, the idea is that one could buffer street ways based on their properties, such as an actual width value or with heuristics based on lane count / highway class, then run 'nearest street buffer' on all sidewalk lines to infer an association. In terms of the two scenarios I presented:
The example in 1 also reminded me that verges and wide sidewalk surfaces make everything more complicated and introduce even more ways to choose the wrong street. It also reminded me that we can't expect that sidewalks will be split at intersection corners, so any associating algorithm would need to split the sidewalks up near intersections. For a worse-case example, some mappers add a sidewalk as a path extending all the way around a block (a single way!), so a shortest-distance association from raw data in a typical city block would pick 1 street for all 4 sidewalks, guaranteed to be wrong for 3 of them. If the pedestrian network is mapped appropriately (connect to the street by crossings), the data can be represented as a graph and split topologically at degree >= 3 nodes, but intersection corners may still have issues without a more semantic approach to splitting + associating them. Basically, it's complicated. I think it can be done, but it'll take either some fancier algorithms or some (probably janky) heuristics with buffers used in other ways. |
In fact, the San José sidewalk import unfortunately bent over backwards to ensure this was the case. It was one of the larger sidewalk imports in OSM’s history, so this would be a relevant case to consider. Routers are not so affected because there’s a many-to-many relationship between ways and edges in the routing graph anyways. But renderers don’t compute routing graphs, so associating sidewalks to streets would be more challenging.
Some concrete examples from around Cincinnati, by no means exhaustive:
|
I expected that matching would be done not with entire OSM objects (after all, someone can map single (though I suspect that either way it would not always work)
Feel free to ping me if that would be created! |
Hi everyone! And sorry for the delayed response, @matkoniecz! I really appreciate your feedback and help with making our schema better (in communication + content!). I'm proposing two directions that will hopefully resolve this particular GitHub issue!
In terms of timeline, my plan for change 1 is to implement it, add a comment on this issue pinging people, keep this issue open until there's been 1 week of inactivity, then (reversibly) close the issue. Thanks all for the great discussions and feedback! |
Hi, please don't recommend adding
description=... sidewalk
tags to OSM. That information is redundant as the other tags already specify that it's a sidewalk and the corresponding street can be figured out from the geometry (and the description tag isn't the proper place for that anyway).https://www.opensidewalks.com/files/01_OpenSidewalksEditing.pdf
The text was updated successfully, but these errors were encountered: