Feature request #7235

Add option to avoid users producing invalid topologies while digitising

Added by Duncan Golicher about 11 years ago. Updated almost 7 years ago.

Status:Open
Priority:High
Assignee:-
Category:Digitising
Pull Request or Patch supplied:No Resolution:
Easy fix?:No Copied to github as #:16263

Description

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.

History

#1 Updated by Giovanni Manghi about 11 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

#7225

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.

#2 Updated by Giovanni Manghi almost 11 years ago

  • Priority changed from Severe/Regression to High

#3 Updated by Paolo Cavallini over 10 years ago

  • Target version changed from Version 2.0.0 to Future Release - High Priority

#4 Updated by Giovanni Manghi almost 7 years ago

  • Easy fix? set to No

Also available in: Atom PDF