domanda posta su gis.stackexchange:
Voglio rimuovere elementi duplicati (da uno shapefile di poligoni) in base a una condizione su un’altra colonna di attributi in QGIS. Ad esempio, se ho la seguente tabella degli attributi di uno shapefile poligonale:
Soluzione tramite GeoProcessing:
Avviare l’algoritmo Aggrega
presente negli strumenti di Processing:
- selezionare il layer;
- selezionare il campo che contiene i duplicati (nel nostro esempio la Column_B);
- selezionare la funzione
minimum
; - selezionare la funzione
first_value
; - eliminare la
Column_C
e aggiungere un nuovo campo calcolato usando l’espressione:
with_variable(
'cucu',
array_agg( "Column_A" , "Column_B" ),
array_agg( "Column_C" , "Column_B" )
[array_find(@cucu,array_min(@cucu))]
)
NOTE FINALI: La soluzione che ho proposto si basa su un algoritmo di GeoProcessing (aggregate) che creerà un nuovo livello; per me è la soluzione migliore in quanto, in questi casi, occorre conservare una copia di sicurezza del layer di partenza.
RIFERIMENTI
- QGIS : https://www.qgis.org/it/site/
- gis.stackexchange.com/ : https://gis.stackexchange.com/questions/419159/removing-duplicate-features-based-on-a-condition-on-another-attribute-column-in