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.
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).
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:
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.