qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.59k stars 3.01k forks source link

geometry issues on shp editing #52932

Open mathgil opened 1 year ago

mathgil commented 1 year ago

What is the bug or the crash?

Inconsistent behavior of geometries when editing vertices on shp layers.

Bug do not appear directly on start, but after few operations.

Vertices are snapping on wrong entities. Some distant entities wich are not even directly connected on the modified. (see next into gif images)

Solution to avoid those problems is to move concerned entities with "move" tool, then edit their vertices. Close and reopening projects helps a lot too.

Steps to reproduce the issue

Wrong snap

Varennes1


Wrong entities are involved into vertex modifications

Varennes2


Ghost entities

Varennes3


Steps to manage to move correctly entities : move one by one after selecting them and using move tool.

Varennes4

Versions

3.22.13 3.28.1

Supported QGIS version

New profile

Additional context

No response

jducnuigeen commented 1 year ago

More information on this bug if it helps: Experiencing the same problem with version 3.28.8 while editing vertex on my shp files (most of my shapefiles have >500 features). I have tried saving the features into new shapefiles, but the problems persist in the new shapefiles. This wasn't a problem with versions earlier than 3.22. I can get through about 20-30 features, editing vertex by moving them, before the wrong vertex of another far away feature becomes changed instead. I have tried testing the files using the Check Validity tool, and they have no errors, yet the problem persists.

jducnuigeen commented 1 year ago

Update: I have reset the fid values in my shapefile using the field calculator for the fid field, by selecting Record and Attributes -> id for that field, overwriting what is there. (This means I'm replacing the field with the @id variable in the field calculator.) This reset seems to have solved this issue for me, at least in version 3.28.8. It might be worth trying this if you're having this problem.

mathgil commented 1 year ago

Update: I have reset the fid values in my shapefile using the field calculator for the fid field, by selecting Record and Attributes -> id for that field, overwriting what is there. (This means I'm replacing the field with the @id variable in the field calculator.) This reset seems to have solved this issue for me, at least in version 3.28.8. It might be worth trying this if you're having this problem.

Thanks for the tip ! This solution works, at least temporarily. Although the bug comes back quite quickly. And it needs to reset again id column with @id function.

As far as i know, the fid does not exist in the shapefile (wich anyway is not editable into *.sqlite type files).

So the real effect of this solution is to edit the attribute of all features in the layer, which temporarily fixes the bugs found. The effective solution would be to create for example a date field with $now function on default value, with "apply on each update" checked up, to force the constant update of all entities ?

I will check it up.

JamieS-VPA commented 9 months ago

This issue is causing significant problems for our workflow also. It has been happening for a number of versions including 3.30.2

What we have found is that during editing features, snapping randomly results in duplicate nodes being generated in features. This will not necessarily cause problems immediately, however at some point the 'geometry errors' seem to become too many, and these odd behaviors will be observed. Eventually the only way to resolve is to close and re-open the layer or project or run a 'remove duplicate nodes' processing tool.

The layer does NOT START with geometry errors - they are consistently and regularly created by QGIS while editing!

jducnuigeen commented 9 months ago

I've tested several times now, and it appears this problem only exists with shapefiles. If I convert a shapefile to a geopackage, this problem doesn't occur. Saving a working geopackage back to shapefile, and the problem reappears. I'm currently using QGIS 3.28.15 on Ubuntu 22.04 and the problem with shapefiles still exists.