Opened 14 years ago

Last modified 6 years ago

#6914 closed enhancement

Prevent combining ways where relations are not loaded — at Version 5

Reported by: mdk Owned by: team
Priority: normal Milestone: 19.12
Component: Core Version: tested
Keywords: combine, way, incomplete, public-transport-v1 Cc:

Description (last modified by simon04)

I got a huge problem when I merge two ways where JOSM din not download the ralations. This cause that some other relations has deleted ways as members.

This can happen if you download the members of a relation and combine two ways which are outside the boundig box (which means that their relations are not loadad).

Here is an step by step example:

  1. start JOSM
  2. File->download object...relation 1556696
  3. combine (c) two ways at the lower left beginning of the primary highway (110009332 and 88954933)
  4. download a boundig box including both ways
  5. There is now an error "The was 1 conflict detected"
  6. look at relation 1556773 (residetial with 17 members) which still contains the way 110009332 with 0 nodes!

Change History (5)

comment:1 by mdk, 14 years ago

Description: modified (diff)

comment:2 by skyper, 14 years ago

Keywords: way incomplete added
Summary: Prevent combiding ways where relations are not loadedPrevent combining ways where relations are not loaded
Type: defectenhancement

It is always on user's risk to edit with incomplete data. There for you have to download all references of a way before deleting or splitting.

I do not see any problem within JOSM and the conflict resulting on your edits is shown.

Only thing I can think of is a check weather you are editing on a complete area downloaded as bounding box or on an incomplete area with only some objects downloaded.

comment:3 by mdk, 14 years ago

Because combining ways is an implicit delete, why can't you show the same warning as on try to deleting a way, which is in an incomplete area? Just do the delete check on the ways which are choosen for deleting.

A general thing about usability in this case:
How dose a user should know when he could do such an operation without beeing affraid, to corrupt the data?
When I came into this problem, I saw two ways which belongs to some relations, both ways belongs to the same relations and had the same tags, so I decide to combine them. But I can't see, that one of the ways is also a member of a relation which is not already loaded.

So you mean, the user must know the internal algorithem when JOSM load missing relations of an element and when not? How dose a user should know when all relations are loaded?

I'm not a newbe in using JOSM, but I still have the problem, especially when I (must) work in areas where nearly eveything is a MP!

Last edited 14 years ago by mdk (previous) (diff)

comment:4 by simon04, 14 years ago

It's quite easy to run in such problems:

  1. Download a relation via Download objects, e.g., the boundary 943282.
  2. Note that the members are not part of any other relation, but in fact they are (e.g., download the way 60665540 to see the second relation).

in reply to:  4 comment:5 by simon04, 14 years ago

Description: modified (diff)

Replying to simon04:

It's quite easy to run in such problems:

  1. Download a relation via Download objects, e.g., the boundary 943282.
  2. Note that the members are not part of any other relation, but in fact they are (e.g., download the way 60665540 to see the second relation).

This occurred due to not using "Download referrers"


To display this warning, JOSM must be aware of potentially existing relations. I don't think that JOSM currently knows. To add this, JOSM would need to keep a history of how any object was added to the dataset. I don't think this is reasonable.

Instead, I suggest a simpler solution: Let's remove the "Download referrers" checkbox from the "Download object" dialog for the non-expert mode. What do you think?

Note: See TracTickets for help on using tickets.