Opened 6 years ago

Closed 3 months ago

Last modified 3 months ago

#10808 closed defect (fixed)

JOSM breaks "No U-Turn restriction" relations when 'via' is a 'way', and relation isn't fully downloaded

Reported by: rickmastfan67 Owned by: team
Priority: major Milestone: 20.12
Component: Core Version: latest
Keywords: turn_restriction split way via Cc: simon04, JeroenHoek

Description (last modified by rickmastfan67)

Steps to reproduce:

  1. Download the following way way/57375488, and make sure you download the "parent relations" as well
  2. Split the way.

What happens:
The way is split, however, the 'no_u_turn' relation (relation/4247812) now has 4 members because JOSM didn't realize that only one of the newly split ways should have been added. Because of this, the relation now has 2 ways in the 'to' or 2 in the 'from' role depending on which type of way was split.

What should happen:
JOSM should properly give the 'no_u_turn' relations the proper segment of highway after the split like it does for other turn restriction relations.

This doesn't happen if the entire area is downloaded so that the relations are 'complete'. But sometimes this isn't possible if there is a really long segment of highway and you just want to download a small area to split it up to add in a missing/new turn restriction at another intersection.


Now, if you were to try this with a relation that doesn't have a 'way' as the 'via', this problem doesn't happen. If you try downloading Way '79335584' and split it at node '926517941', you will notice that the attached 'straight_only' relation is updated properly even though it's 'incomplete'. Maybe that's because the 'via' node is downloaded.


Now, I don't know if this is possible to be fixed, but I have an idea that could fix it and it could be set aside for only when 'no_u_turn' restrictions are involved. If when a way is being split and it has a 'no_u_turn' restriction relation(s) attached, JOSM should be 'forced' to download that entire relation automatically when the split happens if it's 'incomplete'. This would become a 'fail-safe' for any relations that have the 'via' tag using a 'way'. This would allow the no_u_turn relation to be properly updated like the 'Way 79335584' example I gave above. It would prevent any mass breakage of already added 'no_u_turn' relations in the OSM database.

Or maybe have JOSM download the entire 'no_u_turn' restriction when you are downloading a section of data no matter what so you don't have to worry about it being incomplete and possibly breaking it?

What do you guys think?

Attachments (0)

Change History (9)

comment:1 Changed 6 years ago by rickmastfan67

Another suggestion on how to possibly fix this.

How about a prompt shows up when you're splitting a way that is part of a turn restriction asking you if you want to download the missing parts first? If you hit 'yes' JOSM would then automatically download the rest of the turn restriction relation to make sure it isn't broken when you upload your changes. I think this idea might work the best for turn restrictions as I don't like seeing them get broken easily by new users of JOSM.

comment:2 Changed 5 years ago by rickmastfan67

Description: modified (diff)

comment:3 Changed 5 years ago by rickmastfan67

Cc: simon04 added
Description: modified (diff)
Priority: normalmajor
Summary: JOSM can break some "No U-Turn restriction" relations when they aren't fully downloadedJOSM breaks "No U-Turn restriction" relations when 'via' is a 'way', and relation isn't fully downloaded

Still happening with the latest tested (r9979). :(

I've simplified the way to reproduce this, and it's pretty similar to #12347, except this has a 'way' instead of a 'node'. Pretty much, almost all 'No-U-Turn' relations use a 'way' because of the roads being a dual carriageway are the type that have 'No-U-Turn' restrictions posted in the field.

comment:4 Changed 13 months ago by skyper

See #18596.

Still reproducible with this way and the corresponding relation.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-01-29 23:00:37 +0100 (Wed, 29 Jan 2020)
Build-Date:2020-01-30 02:30:55

comment:5 Changed 12 months ago by skyper

Cc: JeroenHoek added
Keywords: turn_restriction split way via added

As #18569 landed, support for type=turn_restriction with way as via might be added.

Version 0, edited 12 months ago by skyper (next)

comment:6 Changed 3 months ago by GerdP

I tried to reproduce #10808 like this:

  • download w80772289, r2890668 without members
  • split via way in the middle

With my patch in #20163 both parts are added to the relation, without it only one.

Last edited 3 months ago by skyper (previous) (diff)

comment:7 Changed 3 months ago by GerdP

Resolution: fixed
Status: newclosed

Should be fixed with r17375, please reopen if you can still reproduce it.

comment:8 Changed 3 months ago by GerdP

Milestone: 20.12

comment:9 Changed 3 months ago by GerdP

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

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain team.
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.