Opened 4 years ago
Closed 4 months ago
#20468 closed enhancement (fixed)
Show warning for cycleway:left=opposite* or cycleway:right=opposite*
Reported by: | GerdP | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core validator | Version: | |
Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- Have a way with
cycleway:left=opposite_track
orcycleway:left=opposite_lane
orcycleway:left=opposite
or similar with keycycleway:right
- Run validator
What is the expected result?
A warning that these values are invalid
What happens instead?
No warning
Please provide any additional information below. Attach a screenshot if possible.
The wiki says the tag is invalid:
https://wiki.openstreetmap.org/wiki/Key:cycleway:left
https://wiki.openstreetmap.org/wiki/Key:cycleway#Problems_with_opposite.2A_values
Revision:17488 Is-Local-Build:true Build-Date:2021-02-09 15:57:34 Identification: JOSM/1.5 (17488 SVN en) Windows 10 64-Bit OS Build number: Windows 10 Home 2004 (19041) Memory Usage: 144 MB / 1972 MB (37 MB allocated, but free) Java version: 15.0.1+9, AdoptOpenJDK, OpenJDK 64-Bit Server VM Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel Screen: \Display0 1920×1080 (scaling 1,00×1,00) Maximum Screen Size: 1920×1080 Best cursor sizes: 16×16→32×32, 32×32→32×32 Plugins: + MakeParallel (v1.1.0) + buildings_tools (35669) + o5m (35640) + pbf (35650) + poly (35640) + reltoolbox (35640) + reverter (35688) + undelete (35640) + utilsplugin2 (35691) Validator rules: + c:\josm\core\resources\data\validator\geometry.mapcss Last errors/warnings: - 00000,481 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF' - 00000,483 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
Attachments (0)
Change History (21)
comment:1 by , 4 years ago
comment:3 by , 4 years ago
Because I thought that it was definitely incorrect.
I would say that cycleway:left=needles
is invalid (no usable value), cycleway:left=opposite_lane
is deprecated (info stated in not preferred format).
comment:5 by , 4 years ago
Hahahahaha, well, I guess I should adjust the wiki too then: it was never deprecated as it never had a known meaning in the past either, right? :)
Good catch about the Wiki edit GerdP :D!
Also a suggestion:
way[highway][cycleway:both="opposite"], way[highway][cycleway:left="opposite"], way[highway][cycleway:right="opposite"] { throwWarning: tr("Definition of {0} is unclear", "{1.tag}"); suggestAlternative: "oneway:bicycle=no"; } way[highway][cycleway:both][cycleway:both^="opposite_"], way[highway][cycleway:left][cycleway:left^="opposite_"], way[highway][cycleway:right][cycleway:right^="opposite_"] { throwWarning: tr("Definition of {0} is unclear", "{1.tag}"); suggestAlternative: "oneway:bicycle=no + {1.key}=*"; }
comment:6 by , 4 years ago
Definition of {0} is unclear
is not accurate, meaning of tag is quite clear here. Just specified in format disliked by some.
comment:8 by , 4 years ago
I gave two links to the wiki and you changed the text in the first. IMHO the usage of :left and :right together with the word opposite is very unclear and misleading compared to oneway:bicyle=no presuming that the tags really try to express that bicycle travel is allowed in both directions.
comment:9 by , 4 years ago
If they indeed try to express that, there's also the issue of cycleway:right/left/both=opposite_lane: on which side is the lane? Does cycleway:left=opposite_lane mean there's a lane on the left side (assuming right hand traffic: opposite of the way direction; but why is it on :left then)? Or on the right side (opposite of :left)? Or is it perhaps indicating that on the left side of the road there's a two-way lane? So 100% unclear and IMO (and according to the wiki pages prior to the mkoniecz edit) invalid tags.
follow-up: 11 comment:10 by , 4 years ago
Does cycleway:left=opposite_lane mean there's a lane on the left side (assuming right hand traffic: opposite of the way direction; but why is it on :left then)? Or on the right side (opposite of :left)?
Which side is referred to as left/right side in cycleway:left and cycleway:right tags is well defined, see https://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right and https://wiki.openstreetmap.org/wiki/Key:cycleway:left
comment:11 by , 4 years ago
Exactly, so what's opposite_lane referring to? Where's the lane?
The definition of :left and :right are not in question.
comment:12 by , 4 years ago
what's opposite_lane referring to?
To separate lane fo bicycles travel in opposite direction to general traffic on the road, in exactly the same use as cycleway=opposite_lane (just with defined side where lane is located).
It also seems pretty obvious to me.
comment:13 by , 4 years ago
Looking at CyclOSM, its really useful to tag the side of the street the lane or track is on: if not specified, two lanes get shown, and that is wrong, if specified, only one gets shown, which is true to the ground. That works right now. No need to burden the renderer with looking up country wide rules (left/right-traffic).
That makes a clear case for JOSM to display cycleway:left|right=opposite_lane
. (only "both" would be in error.)
A mere oneway:bicyle=no
says nothing about lanes or tracks. So, where there are none, yet still signs informing cyclists and motorists of the fact, only this applies correctly.
PS: Is there need to duplicate the information oneway:bicyle=no
+ cycleway=opposite_lane
? I find that here often, but I think this is redundant, and that is also how it shows in JOSM, are there routers that do not work without?
comment:14 by , 4 years ago
PS: Is there need to duplicate the information oneway:bicyle=no + cycleway=opposite_lane?
Main benefit here is that contraflow infrastructure may be specified in many, many ways. oneway:bicycle=no
is providing this info in sane usable form for people not interested in extreme detail.
As cycleway:left
cycleway:right
cycleway
... etc tags are neither stabilized nor well documented (is it listed anywhere all the different ways to specify contraflow that are in use) dropping oneway:bicycle=no
would be clearly problematic.
That makes a clear case for JOSM to display cycleway:left|right=opposite_lane. (only "both" would be in error.)
See issue title - this would be for a completely separate ticket.
comment:15 by , 4 years ago
My undestanding is that I can always use oneway:bicycle=no
(for the router) AND cycleway:left=track
or cycleway:left=lane
for the details regarding the renderer. The tag cycleway:left|right=opposite_lane requires much more knowledge and thinking and when I opened this ticket it was documented as invalid. Now we have just another open ticket and I think it will stay like this...
comment:16 by , 4 years ago
@GerdP Sounds reasonable and simplifies things. Perhaps reality is not so complicated either? Will cycleway:left=lane in a country with right side traffic force cyclists going in the direction of the one-way street to use it? I do not think so. On two-way streets it surely doesn't do that neither.
comment:17 by , 4 years ago
I see no special cases with left hand traffic. The suffixes :left and :right refer to the direction of the OSM way, not the traffic.
comment:18 by , 4 years ago
The time when opposite*
was introduced it was already controversial as it was always intended only for opposite direction and it did not clearify how to deal with the bicycle infrastructure in "positive" direction. In these days it also served the purpose for oneway:bicycle=no
as the later and :left/:right/:forward/:backward
did all not exist.
Let's take a look at todays tags. First of all, we talk about highways with oneway=yes
. cycleway
=* is regarded to be on both side but not together with oneway=yes
where it only refers to the "positive" direction. At least, that is the common practice and makes it easier to tag all oneway-highways without oneway:bicycle=no
. If the later is true we might be better off with always using cycleway:left=lane/track/share_bus_way/no
and cycleway:right=lane/track/share_bus_way/no
.
I hoped, we could deprecate opposite*
with the changes to :left/:right
but I does not work.
For the detailed access on the tracks we need an additional tag but that was neither covered by cycleway=opposite_track
comment:19 by , 4 years ago
I do not fully understand Skypers reply, but it appears to me (also based on the wiki pages and talk) that cycleway:*=opposite*
is definitely supposed to disappear, regardless of whether it is invalid or just deprecated.
Replaced by the combination of oneway tags (oneway:bicycle
for just regular oneways where you follow left- or right-handed-traffic or cycleway:(left/right/both):oneway
for two-way cycleways on one side) and structure (i.e. cycleway:left=track
) tags.
comment:21 by , 4 months ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
With the deprecation of cycleway=opposite*
(Proposal:Deprecate_cycleway=opposite_family) which now triggers a warning cycleway:[side] is deprecated
in JOSM (latest), I think this is resolved?
Not invalid, not recommended at most.