Rimozione di elementi duplicati in base a una condizione su un’altra colonna di attributi in QGIS

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:

  1. selezionare il layer;
  2. selezionare il campo che contiene i duplicati (nel nostro esempio la Column_B);
  3. selezionare la funzione minimum;
  4. selezionare la funzione first_value;
  5. 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

Dati di esempio

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.