Eliminare geometrie duplicate: possibile bug

Ciao a tutti,
ho un layer geopackage dove tutte le geometrie risultano duplicate (344918 geometrie).
L’algoritmo Elimina geometrie duplicate si comporta in modo stranto a seconda dell’output.

  1. risultato salvato layer temporaneo: 172459 geometrie
  2. risultato salvato come shapefile: 172459 geometrie
  3. risultato salvato in un nuovo geopackage: 172459 geometrie
  4. risultato salvato nel geopackage di origine del layer: 167281 geometrie

Testato con 3.34.14-Prizren

Prima di aprire un issue, qualcuno potrebbe testare? allego anche il Geopacakge.

ciao Ludovico. Uso 3.40.2-Bratislava. Ho appena fatto un test sul tuo gpkg. Facendo girare Vector general → DeleteDuplicateGeometry, e definendo come output un layer temporaneo, ottengo anch’io 172.459 pg; se poi salvo il layer ottenuto nel vettore di origine, le geometrie correttamente rimangono 172.459. Tuttavia, se salvo in gpkg direttamente il risultato dello strumento di processing nel layer di origine, il conteggio delle geometrie effettivamente scende a 167.337 (output leggermente differente dal tuo)… Come controllo incrociato, ho anche provato ad usare dal plugin MMQGIS → DeleteDulicateGeometries , ma il plugin va in loop senza arrivare ad un output (prova anche tu).

d.le

Ciao Ludovico,
confermo il problema usando QGIS LTR 3.34.14 o QGIS 3.40.2 su Windows 10 (OSGeo4W).

Il problema non si presenta usando QGIS 3.22.0 sullo stesso sistema.

Sarebbe molto utile ed auspicabile creare un issue report e ti consiglio di farlo.

1 Like

Buongiorno e Buon Natale,

ho fatto dei rapidi test usando QGIS 3.34.14 e non riesco a replicare, ottengo sempre lo stesso numero di righe, anche se salvo il file temporaneo dentro il geopackage di origine.

Poi ho capito che dovevo salvare direttamente il risultato usando lo stesso algoritmo, solo così sono riuscito a replicare l’errore, ottenendo 167355 righe.

Analizzando i circa 5000 poligoni di differenza, noto:

  1. che hanno tutti fid > 333847
  2. che sono quasi tutti nei centri abitati

saluti

1 Like

Penso che il problema non dipenda dai dati in sé. Infatti:

  • il problema si presenta anche utilizzando un layer con 200000 poligoni generati casualmente e duplicati ( = 400000 poligoni) o 500000 punti generati casualmente e duplicati (= 1000000 punti);

  • anche se la prima volta che l’algoritmo viene eseguito il layer creato ha erroneamente un numero inferiore di feature, ripetendo, subito dopo, l’esecuzione dell’algoritmo, il nuovo layer avrà il numero corretto di feature;

  • il problema non si presenta se viene impostata la variabile d’ambiente OGR_SQLITE_JOURNAL=WAL.

A mio avviso il problema potrebbe essere stato introdotto dalle PR OGR provider: only enable journal_mode = wal when editing. requires GDAL >= 3.4.2 (fixes #23991) by rouault · Pull Request #47098 · qgis/QGIS · GitHub (implementata a partire da QGIS 3.24.0 e 3.22.6) e GPKG: add a NOLOCK=YES option to open a file without any lock (for read-only access by rouault · Pull Request #5207 · OSGeo/gdal · GitHub (implementata a partire da GDAL/OGR 3.5.0 e 3.4.2).

A presto.

Andrea

1 Like

Grazie a tutti. Ho aperto l’issue

2 Likes