Modify

Opened 3 years ago

Closed 3 years ago

Last modified 3 years 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 3 years ago.
example
20013.patch (2.1 KB ) - added by GerdP 3 years ago.
20013.2.patch (4.5 KB ) - added by GerdP 3 years ago.
fix and unit test

Download all attachments as: .zip

Change History (16)

comment:1 by GerdP, 3 years ago

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.

by GerdP, 3 years ago

Attachment: 20013-data.osm added

example

by GerdP, 3 years ago

Attachment: 20013.patch added

by GerdP, 3 years ago

Attachment: 20013.2.patch added

fix and unit test

comment:2 by GerdP, 3 years ago

@team: Commit or wait until 20.10 was released?

comment:3 by GerdP, 3 years ago

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 by skyper, 3 years ago

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.

Version 0, edited 3 years ago by skyper (next)

comment:5 by GerdP, 3 years ago

In my example there are no relation roles involved.

in reply to:  5 comment:6 by skyper, 3 years ago

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 3 years ago by skyper (previous) (diff)

comment:7 by GerdP, 3 years ago

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 by Klumbumbus, 3 years ago

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)

in reply to:  2 comment:9 by Klumbumbus, 3 years ago

Replying to GerdP:

@team: Commit or wait until 20.10 was released?

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

comment:10 by GerdP, 3 years ago

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

in reply to:  8 comment:11 by skyper, 3 years ago

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 by skyper, 3 years ago

Milestone: 20.10

comment:13 by Don-vip, 3 years ago

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. 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.