Confrontare due campi di una tabella attributi in QGIS
Determinare i valori uguali presenti in due campi diversi di una tabella degli attributi usando le espressioni di QGIS.
A cura di
Totò Fiandaca
| issue
#190
| guida/e
Totò Fiandaca
Andrea Borruso
Caso d’uso
Ho una tabella con due campi che raccolgono una lista di numeri di fogli catastali, come confrontarle e estrarre solo i numeri fogli uguali?
Espressioni di QGIS
Importo la tabella in QGIS come testo delimitato, creo una colonna testo output
e la popolo con la seguente espressione:
array_to_string(
array_majority( array_cat(
string_to_array(replace("fogli1",'-',',')),
string_to_array(replace("fogli2",'-',','))
)))
Tradotto in linguaggio umano:
Trasforma i valori dei due campi in array
(string_to_array(replace("fogli1",'|',','))
) e poi concatena (array_cat
), cioè crea unico array
, successivamente estrae l’array dei valori che maggiormente sono presenti (array_majority
), infine converte l’array in stringa.
download
qui file di esempio
Riferimenti utili
Ultima modifica 02/10/2021: update (1bfee0c)