Vào lúc 10:45 2020-09-23, Paul Johnson đã viết:
Can we finally fix two other longstanding problems, then?

1. The wiki being incorrect about not counting bicycle lanes.  That's not reflective of how validators deal with lanes, how data consumers like Osmand or Magic Earth deal with lanes, or how ground truth works. The whole "but you can't fit a motor vehicle down it" argument is facile, that's what access:lanes=* and width:lanes=* is for.

I agree that width is a poor argument for the status quo, especially given the common practice (in California, anyways) of bike lanes that double as right turn lanes for cars.

For what it's worth, the lanes=* documentation has long included a passage recommending that data consumers treat lanes=* as a minimum value rather than a reliable exact lane count. Apparently some mappers only count through lanes but exclude turn lanes.

I'm pretty sure existing routers would have no problem with including bike lanes in lanes=*, as long as bicycle:lanes=* and vehicle:lanes=* are both present. So I think a reasonable migration path would be to use the bicycle:lanes=* and vehicle:lanes=* tags to explicitly mark the non-auto-centric approach you're advocating.

2. Tagging route information on ways.  It's about a decade too long at this point for ref=* on a way to be completely disconnected from the entity the tag applies to:  That's why route relations exist.  Biggest problem child on this at the moment:  OSM's own tilesets.  Let's drop rendering for ref=* on ways and just render the route relations already, this and multipolygons are why relations came to exist in the first place.

I'm as excited about route relations as anyone, especially because route relations are required for more nuanced route shield selection in renderers and routers. But for all the problems route relations solve, there are still some unresolved issues:

* Even once rendered maps display pictioral route shields [2], there will still be situations where plain text is more appropriate, just as on the ground. It isn't always obvious how to transform a particular network=* value into a human-readable ref prefix to display in prose or read aloud during turn-by-turn navigation. Signposted ref prefixes can be pretty idiosyncratic, like "CC" for network=US:NV:Clark. I'm slowly building up Wikidata's coverage of signposted road networks and linking it to OSM Wiki data items, to make it easier for data consumers to look up the human-readable ref prefix on demand [3] or export a lookup table like [4] to hard-code. Incidentally, I've also proposed a road name formatter property at Wikidata [5], so that data consumers can expand network=US:NV:Clark to "Clark County Route", but it hasn't gotten much traction yet.

* A way's ref=* key is an ordered list, whereas there's no explicit ordering of a way's membership in multiple route relations. (A relation explicitly contains its members but not the other way around.) A data consumer either has to hard-code some heuristics that may not always be accurate [3] or infer the order from the way refs, as OSRM does. [6] There's a parallel situation with route numbers associated with a bus stop. The route_ref=* key on the stop node makes the order explicit, since some agencies don't sort the routes numerically on signage.

* The destination:ref=* key uses the same prefixed syntax as way refs. No structured alternative has been formally proposed, but destination:network=* is common in Australia (where network=* is common on ways) and I've begun using destination:ref:wikidata=* in some parts of the U.S. I don't think it's too outlandish to imagine a future where navigation software uses destination:wikidata=* to detect street names that should be prefixed by "onto" instead of "toward" (instead of using destination:street=*, which takes some destinations out of order) and uses destination:ref:wikidata=* to choose the right shield to display and the correct ref prefix to read aloud.

[1] https://wiki.openstreetmap.org/wiki/Key:lanes#Description
[2] https://github.com/gravitystorm/openstreetmap-carto/issues/508
[3] https://wiki.openstreetmap.org/wiki/SPARQL_examples#Human-readable_route_refs
[4] https://tinyurl.com/yxk5ux8h
[5] https://www.wikidata.org/wiki/Wikidata:Property_proposal/road_name_formatter
[6] https://github.com/Project-OSRM/osrm-backend/pull/4524

--
m...@nguyen.cincinnati.oh.us


_______________________________________________
Talk-us mailing list
Talk-us@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-us

Reply via email to