Feature request #7235

Add option to avoid users producing invalid topologies while digitising

Added by Duncan Golicher about 4 years ago. Updated over 3 years ago.

Status:Open Start Date:02/25/2013
Priority:High Due date:
Assigned to:- % Done:

0%

Category:Digitising
Target version:Future Release - High Priority
Platform: Resolution:
Platform version: Pull Request or Patch supplied:No
Status info: Tag:

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

Updated by Giovanni Manghi about 4 years ago

  • Subject changed from Prevent users producing invalid topologies while digitising. to Add option to avoid users producing invalid topologies while digitising
  • Category set to Digitising
  • Priority changed from High to Severe/Regression
  • Target version set to Version 2.0.0

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.

Updated by Giovanni Manghi almost 4 years ago

  • Priority changed from Severe/Regression to High

Updated by Paolo Cavallini over 3 years ago

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

Also available in: Atom