Modify

Opened 4 years ago

Last modified 13 months ago

#13740 new enhancement

Should reverse highways by default, instead setting oneway=-1

Reported by: naoliv Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: reverse Cc: muzirian

Description

Since we already deal with most (all, maybe?) objects in highways (like #10260), shouldn't we revert highway ways (revert the nodes positions) instead, by default, offer to make it oneway=-1?

For example:
https://i.imgur.com/shZ756i.png

JOSM:

Build-Date:2016-10-01 18:02:53
Revision:11068
Is-Local-Build:true

Identification: JOSM/1.5 (11068 SVN pt_BR) Linux Debian GNU/Linux unstable (sid)
Memory Usage: 678 MB / 4029 MB (327 MB allocated, but free)
Java version: 1.8.0_102-8u102-b14.1-2-b14, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java package: openjdk-8-jre:amd64-8u102-b14.1-2
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-9
VM arguments: [-Dawt.useSystemAAFontSettings=on]
Dataset consistency test: No problems found

Plugins:
+ AddrInterpolation (32699)
+ Create_grid_of_ways (32699)
+ FastDraw (32938)
+ FixAddresses (32796)
+ ImportImagePlugin (32699)
+ OpeningHoursEditor (32699)
+ PicLayer (32796)
+ SimplifyArea (32796)
+ apache-commons (32699)
+ buildings_tools (32944)
+ download_along (32946)
+ editgpx (32699)
+ ejml (32680)
+ geotools (32813)
+ graphview (32796)
+ jogl (1.0.46)
+ jts (32699)
+ kendzi3d (1.0.191)
+ kendzi3d-resources (0.0.1)
+ log4j (32699)
+ measurement (32936)
+ merge-overlap (32699)
+ opendata (32898)
+ pdfimport (32796)
+ photo_geotagging (32699)
+ poly (32699)
+ reverter (32796)
+ tageditor (33021)
+ tagging-preset-tester (32869)
+ todo (30000)
+ turnlanes-tagging (252)
+ turnrestrictions (32796)
+ undelete (32699)
+ utilsplugin2 (32815)

Attachments (0)

Change History (9)

comment:1 in reply to:  description Changed 4 years ago by Klumbumbus

Replying to naoliv:

shouldn't we revert highway ways (revert the nodes positions) instead, by default, offer to make it oneway=-1?

I don't understand this part, even after reading 10 times :) What do you want to revert in which situation?

comment:2 Changed 4 years ago by naoliv

Sorry :-)

Have this highway:

  <way id='1' version='1' visible='true'>
    <nd ref='1' />
    <nd ref='2' />
    <nd ref='3' />
    <tag k='highway' v='residential' />
    <tag k='oneway' v='yes' />
  </way>

If we press r to revert it, by default ("default" here I consider Apply selected changes in the screenshot), it offers to change oneway=yes to oneway=-1, like this (ie, the nodes order is changed, but the direction doesn't actually change since we have oneway=-1):

  <way id='1' action='modify' visible='true' version='1'>
    <nd ref='3' />
    <nd ref='2' />
    <nd ref='1' />
    <tag k='highway' v='residential' />
    <tag k='oneway' v='-1' />
  </way>

Shouldn't the default action change the nodes order and keep oneway=yes, like this?

  <way id='1' action='modify' visible='true' version='1'>
    <nd ref='3' />
    <nd ref='2' />
    <nd ref='1' />
    <tag k='highway' v='residential' />
    <tag k='oneway' v='yes' />
  </way>

Trying to make it clearer, shouldn't JOSM always use the highway was as oneway=yes and just revert the nodes order?
Or there are still some cases related with the direction, where JOSM can't properly handle yet?

And I was thinking another thing:
If it's considered that JOSM can handle all the objects that depends on the highway direction, couldn't it just simply revert the way (the nodes order), always keeping oneway=yes, without asking what we want to do?

If the way is already oneway=yes, revert the nodes and keep oneway=yes
If the way is oneway=-1, just change it to oneway=yes, keeping the nodes order.

comment:3 Changed 4 years ago by Klumbumbus

That doesn't sound like a good idea to me since this will completely change the behavior of the reverse function. Now the direction of a oneway e.g. from east to west stays when you use the function. With your proposed change it will change from east->west to west->east.

comment:4 Changed 4 years ago by simon04

There are use-cases for both cases (reversing a way to correct the oneway direction, reversing a way to merge it with another way, …) Since the current behaviour has been around for several years, I vote to keep the current. All in all (IMO) reversing a way isn't a too common operation such that it would require highest efficiency …

comment:5 in reply to:  4 Changed 4 years ago by Klumbumbus

Replying to simon04:

reversing a way to correct the oneway direction

For this use case you need to check all the tags manually anyway, because it is not clear if other direction depended tags need to be changed too or if they need to stay.

comment:6 Changed 4 years ago by naoliv

But do we still have cases where we need oneway=-1 in highways (note that it's specific for highways here) and that JOSM can't fix the direction if needed?

I am asking this because:

  • this week it was the second time I saw an user asking "Why JOSM is making the way oneway=-1 and keeping the direction?" (ie, he was wanting to see the "arrow" direction reverted); I had to agree with him that it's not actually easy nor simple to understand how changing the direction works here (specially for new users)
  • with #10260 I guess that most objects are properly updated when the direction is changed
  • JOSM already discourages oneway=-1 highways with the validador message oneway=-1 is not recommended. Use the Reverse Ways function from the Tools menu
  • most of the time, users want to have the logical (the "arrow") direction reversed, and not the way itself (I can include myself here: I don't remember one time where I needed to use oneway=-1 or wanted to revert the nodes order but keep the logical direction the same); since a "logical" revert is use oneway=-1 (but it's discouraged), a possible fix would be the logic at the end of comment:2

Or better, could we have another tool to apply the logic from comment:2 (a Ctrl+R, for example)?
The current behavior from R won't be touched then and it will be easier (and with less messages, interruptions, clicks, etc) to revert the direction.

A simple Ctrl+R and the user will see the way changing the direction (as he expects), without any messages.
If this is considered too harmful, it could display something similar to reverting other types of ways, like this:

https://i.imgur.com/EJBiMop.png

comment:7 Changed 13 months ago by simon04

Keywords: reverse added
Summary: Should revert highways by default, instead setting oneway=-1Should reverse highways by default, instead setting oneway=-1

comment:8 Changed 13 months ago by simon04

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

comment:9 Changed 13 months ago by simon04

Cc: muzirian added

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set.
to The owner will be changed from team to the specified user.
The owner will change to naoliv
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from team to anonymous.

Add Comment


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

 
Note: See TracTickets for help on using tickets.