Modify

Opened 4 weeks ago

Closed 4 weeks ago

Last modified 8 days ago

#20013 closed defect (fixed)

When combining two ways and one of them needs to have the direction changed then JOSM doesn't consider effects on stop and give way signs

Reported by: anonymous Owned by: GerdP
Priority: normal Milestone: 20.11
Component: Core Version: tested
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Combine two ways that have opposite direction
  2. A dialog will appear to confirm that you want to reverse and combine
  3. If the way that was reversed had a stop or give way on it, that signs direction will now be wrong

What is the expected result?

What happens instead?

Please provide any additional information below. Attach a screenshot if possible.

Build-Date:2020-02-02 23:31:57
Build-Name:Fedora
Revision:15806
Is-Local-Build:false

Identification: JOSM/1.5 (15806 Fedora en_GB) Linux Fedora release 32 (Thirty Two)
Memory Usage: 2186 MB / 3529 MB (871 MB allocated, but free)
Java version: 1.8.0_265-b01, Red Hat, Inc, OpenJDK 64-Bit Server VM
Screen: :0.0 3440x1440
Maximum Screen Size: 3440x1440
VM arguments: [-agentpath:/usr/lib/abrt-java-connector/libabrt-java-connector.so=abrt=on,]
Dataset consistency test: No problems found

Plugins:
+ Mapillary (1.5.20)
+ apache-commons (35362)
+ apache-http (35092)
+ jna (35092)
+ reverter (35382)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1

Last errors/warnings:
- W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>
- E: Bad Request - org.openstreetmap.josm.gui.widgets.HtmlPanel[,0,0,0x0,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>
- E: Bad Request - org.openstreetmap.josm.gui.widgets.HtmlPanel[,0,0,0x0,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

Attachments (3)

20013-data.osm (1.8 KB) - added by GerdP 4 weeks ago.
example
20013.patch (2.1 KB) - added by GerdP 4 weeks ago.
20013.2.patch (4.5 KB) - added by GerdP 4 weeks ago.
fix and unit test

Download all attachments as: .zip

Change History (16)

comment:1 Changed 4 weeks ago by GerdP

Owner: changed from team to GerdP
Status: newassigned
Version: tested

I can reproduce this with r17084 and the attached file. When I use revert first on the way with the stop node a dialog pops up and asks what to do with the node.

Changed 4 weeks ago by GerdP

Attachment: 20013-data.osm added

example

Changed 4 weeks ago by GerdP

Attachment: 20013.patch added

Changed 4 weeks ago by GerdP

Attachment: 20013.2.patch added

fix and unit test

comment:2 Changed 4 weeks ago by GerdP

@team: Commit or wait until 20.10 was released?

comment:3 Changed 4 weeks ago by GerdP

I wonder what should happen when two ways highway=residential with different directions are connected with a highway=stop + direction=forward node. Validator produces no warnings for such a case.

comment:4 Changed 4 weeks ago by skyper

There This is a general problem with direction depending roles, see #8968.

direction=forward is invalid or at least controversial on nodes. For *:direction=* see #18988. At least on end nodes and/or nodes with more than one parent way these tags are invalid.

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

comment:5 Changed 4 weeks ago by GerdP

In my example there are no relation roles involved.

comment:6 in reply to:  5 Changed 4 weeks ago by skyper

Replying to GerdP:

In my example there are no relation roles involved.

Right, you example is invalid as direction=* needs cardinal values if used on end nodes. forward/backward are no valid values on end nodes and if the node has more than one parent way, e.g. a simply crossing of highways with one common middle child node.

See Key:direction#Forward_and_backward

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

comment:7 Changed 4 weeks ago by GerdP

I thought so. I just wanted to point out that JOSM doesn't complain and - with my -patch - will ask twice about changing the direction tag. Seems this is just a theoretical problem?

comment:8 Changed 4 weeks ago by Klumbumbus

I think the validator should warn if a node with direction=* is

  • on a ways first/last node (possible in mapcss)
  • belongs to two different highway=* ways (not possible in mapcss)

comment:9 in reply to:  2 Changed 4 weeks ago by Klumbumbus

Replying to GerdP:

@team: Commit or wait until 20.10 was released?

Commit. The curent state of #7548 blocks a release imho.

comment:10 Changed 4 weeks ago by GerdP

Resolution: fixed
Status: assignedclosed

In 17289/josm:

fix #20013: When combining two ways and one of them needs to have the direction changed then JOSM doesn't consider effects on stop and give way signs

comment:11 in reply to:  8 Changed 4 weeks ago by skyper

Replying to Klumbumbus:

I think the validator should warn if a node with direction=* is

  • on a ways first/last node (possible in mapcss)
  • belongs to two different highway=* ways (not possible in mapcss)

See #20019

comment:12 Changed 4 weeks ago by skyper

Milestone: 20.10

comment:13 Changed 8 days ago by Don-vip

Milestone: 20.1020.11

Milestone renamed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain GerdP.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.