Feature request #7235
Add option to avoid users producing invalid topologies while digitising
|Pull Request or Patch supplied:||No||Resolution:|
|Easy fix?:||No||Copied to github as #:||16263|
Attempts to remove intersections when digitising over invalid topologies lead to unexpected behaviour. See bug #7225 and related issues. The problem also extends to snapping and hole removal (bug #4880).
It would probably be safer overall if users were digitising with an option switched on that rejected all invalid polygons. If they do draw an invalid polygon they could be provided with a warning message, the invalid vertices marked, and the offending polygon would not be added to the layer until all the errors are fixed. This could be a default option as it would probably prevent users from forcing QGIS to run code that may have difficulty finding consistent ways of dealing with errors. The option to deactivate the checks should be provided, along with a clear warning of the possible consequences of doing so.
#1 Updated by Giovanni Manghi over 7 years ago
- Target version set to Version 2.0.0
- Priority changed from High to Severe/Regression
- Category set to Digitising
- Subject changed from Prevent users producing invalid topologies while digitising. to Add option to avoid users producing invalid topologies while digitising
The worst consequence (crash) has been fixed here
but the user is not allowed anymore to digitize an adjacent polygon digitized against an invalid existing one, and the error message ("The feature cannot be added because it contains an emtpy geometry") is misleading.
So this case (new in QGIS master, AFAIK) needs
a) a different error message
b) possibly an option that won't allow to add invalid features in the first place
I'll tag this as blocker because it was introduced a new behavior (not allowing digitize an adjacent polygon against an invalid one, with the "avoid intersection" option) that does not work as expected and it is misleading for users.