Opened 14 years ago
Last modified 12 years ago
#7295 closed defect
Possible information loss and NPE with Replace Geometry command — at Version 1
| Reported by: | joshdoe | Owned by: | team |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Plugin utilsplugin2 | Version: | |
| Keywords: | replace geometry | Cc: | joshdoe, rickmastfan67 |
Description (last modified by )
I've noticed a few potential issues with the Replace Geometry command, where information can possibly be lost and/or NPEs can be triggered.
- Currently if you use the Replace Geometry command and one or more of the source or target way's nodes are tagged, then it's likely that the tags will either be lost (as the node is replaced by another), or the tagged node will be moved to a location where the tags may no longer be valid (barrier=gate, entrance=building, etc.). I think this command should only be allowed to operate on non-new (uploaded) ways which don't have any tagged nodes, or at least don't have nodes with interesting tags (non source,fixme, etc.). The replacement way could have tagged nodes, but if the nodes are replaced with id>0 nodes, the tags should be transferred.
- I've also noticed that relations can become corrupted when using this command. First we need to decide if relation memberships should transfer; I think it makes sense to do this at least for outer/inner, maybe ask every time? If not, then we should not allow touching objects that are members of relations. I've gotten NPE's when replacing the geometry where the new way is part of a multipolygon.
- If replacement nodes are greater than 3e-4 degrees (hardcoded) from the other nodes, the nodes aren't moved & transferred. I think by default there should be no limit to the distance, but have it settable in the preferences (using meters instead of degrees.
Change History (1)
comment:1 by , 14 years ago
| Description: | modified (diff) |
|---|---|
| Summary: | Replace geometry command shouldn't touch tagged nodes → Possible information loss and NPE with Replace Geometry command |
Note:
See TracTickets
for help on using tickets.


