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

Pubblicità

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

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