Changes between Initial Version and Version 14 of Ticket #5642


Ignore:
Timestamp:
2011-04-11T22:16:38+02:00 (14 years ago)
Author:
bilbo
Comment:

Attaching fixed patch.

For duplicated relation check, when cheking members, nodes are duplicates if they have same tags and position, regardless of their id's. Same is for ways - ways are same if they have same array of nodes (with same positions) and tags.

This way the duplicated relations resulting from interrupted and retried uploads should be always detected, regardless of at which stage the dupplication occur (if it is just duplicate relation, or there are some duplicated ways (or even nodes) that are duplicated too and that can be easily fixed afterwards), entire tree of objects (nodes and ways in relations and for ways also it's nodes) is examined (note that relations are still compared only by id's, as 1) relations inside relations are rare 2) there is risk of entering an infinite cycle)

I decided to do no automatic fixing for same ways with different tags, as the decision how to fix is often different (sometimes it is to delete first or second way, sometimes merging tags, sometimes they ways are best kept as is.) and I can't think of reliable automated algorithm that would not be insanely complex and will decide what to do.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #5642

    • Property Type defectenhancement
    • Property Component Core validatorCore
    • Property Keywords validator added
    • Property Cc skyper added
  • Ticket #5642 – Description

    initial v14  
    99
    1010Same relations: same as above, but with severity warning and checking only members and their roles, not tags. And no automatic fix for this one (though in the map usually these duplicates differ in relatively uninteresting tags like source, etc ...).
     11
     12For duplicated relation check, nodes are duplicates if they have same tags and position, regardless of their id's. Same is for ways - ways are same if they have same array of nodes (with same positions) and tags