Modify

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?

  1. Have a way with cycleway:left=opposite_track or cycleway:left=opposite_lane or cycleway:left=opposite or similar with key cycleway:right
  2. 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 mkoniecz, 4 years ago

A warning that these values are invalid

Not invalid, not recommended at most.

comment:2 by GerdP, 4 years ago

Well, you just changed the wiki ;)

comment:3 by mkoniecz, 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:4 by GerdP, 4 years ago

Do you plan to change the other wiki text as well?

comment:5 by Famlam, 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 mkoniecz, 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:7 by mkoniecz, 4 years ago

Do you plan to change the other wiki text as well?

Which one?

comment:8 by GerdP, 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 Famlam, 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.

comment:10 by mkoniecz, 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

in reply to:  10 comment:11 by Famlam, 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 mkoniecz, 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 pch14@…, 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 mkoniecz, 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.

Version 0, edited 4 years ago by mkoniecz (next)

comment:15 by GerdP, 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 pch14@…, 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 GerdP, 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 skyper, 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

Last edited 4 years ago by skyper (previous) (diff)

comment:19 by Famlam, 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:20 by anonymous, 4 years ago

Ticket #20488 has been marked as a duplicate of this ticket.

comment:21 by Famlam, 4 months ago

Resolution: fixed
Status: newclosed

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?

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.