Opened 11 years ago
Last modified 5 years ago
#10808 closed defect
JOSM can break some "No U-Turn restriction" relations when they aren't fully downloaded — at Initial Version
| 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
Steps to reproduce:
- Download the following bounding box: https://www.openstreetmap.org/#map=18/40.655219/-80.087001
- Open up the 'Relations' panel on the right.
- Notice that 2 'no_u_turn' relations have been partially downloaded. Both have 3 members, with the 'via' being a way instead of a node.
- Now, select either of the traffic light nodes and the associated section of 'Perry Highway'.
- Now, split the way at the traffic light.
What happens:
The ways are split, but the 'no_u_turn' relations now have 4 members because JOSM didn't realize that only one of the newly split ways should have been added. Because of this, either relation now has 2 ways in the 'to' or 2 in the 'from' role foe each of the relations.
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?


