Opened 9 years ago

Last modified 3 years ago

#10808 closed defect

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

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?

Change History (3)

comment:1 by rickmastfan67, 9 years ago

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 by rickmastfan67, 8 years ago

Description: modified (diff)

comment:3 by rickmastfan67, 8 years ago

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.

Note: See TracTickets for help on using tickets.