-
Notifications
You must be signed in to change notification settings - Fork 171
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
refactor crossing presets to use approved "crossing:markings" tag: add field for the new tag, change "Marked Crosswalk" presets to use "crossing=uncontrolled" tag and add preset for "Cycle Crossing With Traffic Signals" #590
Changes from 1 commit
80c5df1
4d12a23
8e895ea
84ddd8e
3f9bebd
417def7
95480a0
2fa3f83
506fe2b
ef116af
a7037f9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,17 @@ | ||
{ | ||
"key": "crossing", | ||
"type": "combo", | ||
"label": "Type" | ||
"label": "Type", | ||
"options": [ | ||
"traffic_signals", | ||
"uncontrolled", | ||
"unmarked" | ||
], | ||
"strings": { | ||
"options": { | ||
"traffic_signals": "Crossing With Traffic Signals", | ||
"uncontrolled": "Only Road Markings", | ||
"unmarked": "No Road Markings or Traffic Lights" | ||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,5 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"key": "crossing:markings", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"type": "combo", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"label": "Crossing Markings" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Some strings would be helpful for this field. In particular, the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, strings would be definitely useful. I haven't included them in this PR already, because I didn't feel very confident choosing labels that are . Maybe you could help me out with these? This was one of my drafts, but several entries don't quite feel right to me (e.g. surface, zebra*, ladder:paired, …).
I think that eventually, it would probably be a better user interface if these options were presented using a pictorial form, like in this graphic on wikipedia: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Paging @andrewharvey for his emoji skills. 😉 Until ideditor/schema-builder#56 is fixed, I tried a few things from the I Ching and box drawing symbols:
Some of these icons look OK in isolation, but I don’t think we’d be able to put together a coherent set for all the options. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar to
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
{ | ||
"icon": "temaki-pedestrian_crosswalk", | ||
"fields": [ | ||
"crossing", | ||
"tactile_paving", | ||
"crossing/island", | ||
"crossing/markings", | ||
"crossing_raised" | ||
], | ||
"geometry": [ | ||
|
@@ -17,6 +17,5 @@ | |
"key": "crossing", | ||
"value": "uncontrolled" | ||
}, | ||
"name": "Marked Crosswalk", | ||
"searchable": false | ||
"name": "Marked Crosswalk" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right, but we also need to keep a balance between keeping the preset names short and including every detail of a preset in its name. I thought that the presence of the dedicated preset for crossings with traffic signals makes it clear enough that the "marked crosswalk" preset is not meant for situations where there is a traffic light. There's also the ℹ️ icon which shows this additional detail for the preset. Last but not least, the name "Marked Crosswalk" worked well in the past for the tag Maybe you have a better name for this preset (I'd rather avoid naming it Uncontrolled Crosswalk 😉 )? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think “Marked Crosswalk” is passable as long as there’s a field that can transform it into |
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
{ | ||
"icon": "temaki-pedestrian", | ||
"fields": [ | ||
"crossing", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This makes it more difficult to clarify that an unmarked crosswalk is in fact signalized, so I disagree that this PR fixes #507. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm… The common design pattern for the presets in this repo is to not repeat the field for "main tag" of a preset, because the intended mechanism to switch between presets is to, well, use the preset switcher UI to choose the better fitting preset. But perhaps we could make an exception in this case, in order to better accommodate the necessities for situations like #507. I'm open to that. //edit: I've now implemented this in the PR I guess an alternative would be to get rid of the "specialized" crossing presets altogether and only work with fields. One downside of that would be that we'd loose the dedicated icons which currently distinguish the different kinds of crossings on the map view. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Yes, I think of this as an exception because of these presets overlapping in meaning from a user standpoint. There’s some precedent for an exception like this, though usually it involves a multicombo field, such as Sports or Cuisine.
I think this would be an obvious approach to take in the long run. Every time there’s a discussion around crossing classification, people clamor for regional presets for the only kinds of crossings that occur in their country. I’m sure UK mappers would appreciate an intuitive Toucan Crossing preset as much as U.S. mappers would appreciate a HAWK Crosswalk preset, not to mention other avian innovations around the world. But currently we don’t have room for regional crossing presets because of the sheer number of presets for each combination of mode-of-transportation and degree-of-traffic-control. Another problem with the existing presets is that iD only remembers the last four presets, but it’s very common to need more than four presets when mapping a typical street due to all the separate crossing presets we have. For me, the MRU list is always thrashing between Marked Crosswalk, Unmarked Crossing, Crossing With Pedestrian Signals, Curb, Sidewalk, Traffic Signals, and Stop Sign. openstreetmap/iD#8895 would add a preference for remembering more presets at a time, but consolidating some of these closely related presets would minimize the thrashing without much inconvenience in my opinion. |
||
"tactile_paving", | ||
"crossing/island", | ||
"crossing_raised" | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
{ | ||
"icon": "temaki-cyclist_crosswalk", | ||
"fields": [ | ||
"crossing", | ||
"surface", | ||
"tactile_paving", | ||
"crossing/island", | ||
"crossing/markings", | ||
"crossing_raised", | ||
"access" | ||
], | ||
"geometry": [ | ||
"line" | ||
], | ||
"tags": { | ||
"highway": "cycleway", | ||
"cycleway": "crossing", | ||
"crossing": "marked" | ||
}, | ||
"reference": { | ||
"key": "crossing", | ||
"value": "marked" | ||
}, | ||
"matchScore": 0.95, | ||
"name": "Marked Cycle Crossing", | ||
"searchable": false | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
{ | ||
"icon": "fas-biking", | ||
"fields": [ | ||
"crossing", | ||
"surface", | ||
"tactile_paving", | ||
"crossing/island", | ||
"crossing_raised", | ||
"button_operated", | ||
"traffic_signals/sound", | ||
"traffic_signals/vibration", | ||
"access" | ||
], | ||
"geometry": [ | ||
"line" | ||
], | ||
"tags": { | ||
"highway": "cycleway", | ||
"cycleway": "crossing", | ||
"crossing": "traffic_signals" | ||
}, | ||
"reference": { | ||
"key": "crossing", | ||
"value": "traffic_signals" | ||
}, | ||
"terms": [ | ||
"cycle path crossing", | ||
"cycleway crossing", | ||
"bicycle crossing", | ||
"bike crossing" | ||
], | ||
"matchScore": 0.95, | ||
"name": "Cycle Crossing With Traffic Signals" | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
{ | ||
"icon": "temaki-pedestrian_crosswalk", | ||
"fields": [ | ||
"crossing", | ||
"surface", | ||
"tactile_paving", | ||
"crossing/island", | ||
"crossing/markings", | ||
"crossing_raised", | ||
"access" | ||
], | ||
"moreFields": [ | ||
"flashing_lights" | ||
], | ||
"geometry": [ | ||
"line" | ||
], | ||
"tags": { | ||
"highway": "footway", | ||
"footway": "crossing", | ||
"crossing": "marked" | ||
}, | ||
"reference": { | ||
"key": "crossing", | ||
"value": "marked" | ||
}, | ||
"name": "Marked Crossing", | ||
"searchable": false | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These three strings are inconsistent with each other. Both “traffic signals” and “traffic lights” are correct in American English, but we should stick to one. “Crossing” is redundant in this field.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should
no
get a string too? It would only make sense on a node. Maybecrossing=no
should be a separate preset?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've fixed the wording.
I haven't included https://wiki.openstreetmap.org/wiki/Tag:crossing%3Dno in this field, as it is intended to specify the type of a crossing, where the
no
option doesn't make sense.crossing=no
would indeed be useful as a standalone preset and as dedicated field to be added to presets like thehighway=traffic_signals
.