Gruppo Array↵
Abstract
Questo gruppo contiene funzioni espressione per la creazione e la manipolazione di array (noti anche come strutture dati ad elenco). L'ordine dei valori all'interno dell'array è importante, al contrario della struttura dati 'a mappa', in cui l'ordine delle coppie chiave-valore è irrilevante e i valori vengono identificati dalle loro chiavi.
array↵
Restituisce un array contenente tutti i valori passati come parametro.
Sintassi:
- array(_value1, value2, …)
Argomenti:
- value un valore
Esempi:
array_all↵
Restituisce true se un array contiene tutti i valori di un determinato array.
Sintassi:
- array_all(array_a, array_b, …_)
Argomenti:
- array_a un array
- array_b un array di valori da cercare
Esempi:
array_append↵
Restituisce un array con il valore passato aggiunto alla fine.
Sintassi:
- array_append(array, value)
Argomenti:
- array un array
- value il valore da aggiungere
Esempi:
array_cat↵
Restituisce un array contenente tutti gli arrays passati concatenati.
Sintassi:
- array_cat(array1, array2, …)
Argomenti:
- array un array
Esempi:
array_contains↵
Restituisce true se un array contiene il valore specificato.
Sintassi:
- array_contains(array, value)
Argomenti:
- array un array
- value il valore da cercare
Esempi:
array_count↵
Conta il numero di occorrenze di un dato valore in un array.
Sintassi:
- array_count(array,value)
Argomenti:
- array un array
- value un valore da contare
Esempi:
array_distinct↵
Restituisce un array contenente valori distinti dell'array dato.
Sintassi:
- array_distinct(array)
Argomenti:
- array un array
Esempi:
array_filter↵
Restituisce un array con solo gli elementi per i quali l'espressione restituisce true (vero).
Sintassi:
- array_filter(array,expression[,limit=0])
Argomenti:
- array un array
- expression un'espressione da valutare su ogni oggetto. La variabile
@ element
sarà sostituita dal valore corrente. - limit numero massimo di elementi da restituire. Usa 0 per restituire tutti i valori.
Esempi:
array_find↵
Restituisce l'indice (0 per il primo elemento) di un valore all'interno di un array. Restiuisce -1 se il valore non viene trovato
Sintassi:
- array_find(array, value)
Argomenti:
- array un array
- value il valore da cercare
Esempi:
array_first↵
Restituisce il primo valore di un array.
Sintassi:
- array_first(array)
Argomenti:
- array un array
Esempi:
array_foreach↵
Aggiornata a QGIS 3.34 Prizren
Restituisce una matrice con l'espressione data valutata su ciascun elemento.
Sintassi:
- array_foreach(array,expression)
Argomenti:
- array un array
- expression un'espressione da valutare su ciascun elemento. La variabile
@element
verrà sostituita dal valore corrente e la variabile@counter
dall'indice corrente (iniziando con 0).
Esempi:
array_foreach(array('a','b','c'),upper(@element)) → [ 'A', 'B', 'C' ]
array_foreach(array(1,2,3),@element + 10) → [ 11, 12, 13 ]
array_foreach(array(1,2,3),@elemento + @counter) → [ 1, 3, 5 ]
Osservazioni
Funzione utile, assieme ad altre, nel compositore di stampe o nella decorazione copyright.
array_get↵
Restituisce l'ennesimo valore (0 per il primo) o l'ultimo -Nesimo valore (-1 per l'ultimo) di un array. Aggiornato a QGIS 3.18
Sintassi:
- array_get(array, index)
Argomenti:
- array un array
- index l'indice da estrarre (partendo da 0)
Esempi:
array_insert↵
Restituisce un array con il valore passato aggiunto nella posizione indicata.
Sintassi:
- array_insert(array, pos, value)
Argomenti:
- array un array
- pos la posizione in cui aggiungere (partendo da 0)
- value il valore da aggiungere
Esempi:
array_intersect↵
Restituisce true (vero) se almeno un elemento dell'array1 esiste in array2.
Sintassi:
- array_intersect(array1, array2)
Argomenti:
- array1 un array
- array2 un altro array
Esempi:
array_last↵
Restituisce l'ultimo valore di un array.
Sintassi:
- array_last(array)
Argomenti:
- array un array
Esempi:
array_length↵
Restituisce il numero di elementi di un array.
Sintassi:
- array_length(array)
Argomenti:
- array un array
Esempi:
array_majority↵
Restituisce i valori più comuni in un array.
Sintassi:
- array_majority(array[,option='all'])
Argomenti:
- array un array
-
option='all' una stringa che specifica la gestione dei valori restituiti. Le opzioni valide sono:
-
all: Predefinito, tutti i valori più comuni vengono restituiti in un array.
- any: Restituisce uno dei valori più comuni.
- median: Restituisce la mediana dei valori più comuni. I valori non aritmetici sono ignorati.
- real_majority: Restituisce il valore che si verifica più della metà delle volte rispetto alla dimensione dell'array.
Esempi:
array_majority(array(0,1,42,42,43), 'all') → [ 42 ]
array_majority(array(0,1,42,42,43,1), 'all') → [ 42, 1 ]
array_majority(array(0,1,42,42,43,1), 'any') → 1 or 42
array_majority(array(0,1,1,2,2), 'median') → 1.5
array_majority(array(0,1,42,42,43), 'real_majority') → NULL
array_majority(array(0,1,42,42,43,42), 'real_majority') → NULL
array_majority(array(0,1,42,42,43,42,42), 'real_majority') → 42
array_max↵
Restituisce il valore massimo di un array.
Sintassi:
- array_max(array)
Argomenti:
- array un array o stringa (valori separati da virgola)
Esempi:
array_mean↵
Restituisce la media dei valori aritmetici in un array. I valori non-numerici nell'array vengono ignorati.
Sintassi:
- array_mean(array)
Argomenti:
- array un array
Esempi:
array_median↵
Restituisce la mediana dei valori aritmetici in un array. I valori non-numerici nell'array vengono ignorati.
Sintassi:
- array_median(array)
Argomenti:
- array un array
Esempi:
array_min↵
Restituisce il valore minimo di un array.
Sintassi:
- array_min(array)
Argomenti:
- array_ un array o stringa (valori separati da virgola)
Esempi:
array_minority↵
Restituisce i valori meno comuni in un array.
Sintassi:
- array_minority(array[,option='all'])
Argomenti:
- array un array
-
option='all' una stringa che specifica la gestione dei valori restituiti. Le opzioni valide sono:
-
all: Predefinito, tutti i valori meno comuni vengono restituiti in un array.
- any: Restituisce uno dei valori meno comuni.
- median: Restituisce la mediana dei valori meno comuni. I valori non aritmetici sono ignorati.
- real_minority: Restituisce valori che si verificano meno della metà delle volte rispetto alla dimensione dell'array.
Esempi:
array_minority(array(0,42,42), 'all') → [ 0 ]
array_minority(array(0,1,42,42), 'all') → [ 0, 1 ]
array_minority(array(0,1,42,42,43,1), 'any') → 0 or 43
array_minority(array(1,2,3,3), 'median') → 1.5
array_minority(array(0,1,42,42,43), 'real_minority') → [ 42, 43, 0, 1 ]
array_minority(array(0,1,42,42,43,42), 'real_minority') → [ 42, 43, 0, 1 ]
array_minority(array(0,1,42,42,43,42,42), 'real_minority') → [ 43, 0, 1 ]
array_prepend↵
Restituisce un array con il valore dato aggiunto all'inizio.
Sintassi:
- array_prepend(array, value)
Argomenti:
- array un array
- value il valore da aggiungere
Esempi:
array_prioritize↵
Restituisce un array ordinato usando l'ordine specificato in un altro array. I valori che sono presenti nel primo array ma assenti nel secondo array saranno aggiunti alla fine del risultato.
Sintassi:
- array_prioritize(array,array_prioritize)
Argomenti:
- array un array o stringa (valori separati da virgola)
- array_prioritize array o stringa (valori separati da virgola) contenenti i valori ordinati
Esempi:
array_prioritize(array(1, 8, 2, 5), array(5, 4, 2, 1, 3, 8)) → [ 5, 2, 1, 8 ]
array_prioritize(array(5, 4, 2, 1, 3, 8), array(1, 8, 6, 5)) → [ 1, 8, 5, 4, 2, 3 ]
array_remove_all↵
Restituisce un array con tutti gli elementi del valore passato rimossi.
Sintassi:
- array_remove_all(array, value)
Argomenti:
- array un array
- value i valori da rimuovere
Esempi:
array_remove_at↵
Restituisce un array con l'elemento in corrispondenza dell'indice dato rimosso. Supporta indice positivo (0 per il primo elemento) e negativo (l'ultimo -Nesimo valore, -1 per l'ultimo elemento) da >= QGIS 3.24.
Sintassi:
- array_remove_at(array, pos)
Argomenti:
- array un array
- pos la posizione da rimuovere (partendo da 0)
Esempi:
array_replace↵
Restituisce un array con il valore, l'array o la mappa dei valori forniti sostituiti.
Valore & variante dell'array↵
Restituisce un array con il valore o con un array di valori forniti sostituito da un altro valore o da un altro array di valori.
Sintassi:
- array_replace(array,before,after)
Argomenti:
- array l'array in ingresso
- before il valore o l'array di valori da sostituire
- after il valore o l'array di valori da utilizzare come sostituzione
Esempi:
array_replace(array('QGIS','SHOULD','ROCK'),'SHOULD','DOES') → [ 'QGIS', 'DOES', 'ROCK' ]
array_replace(array(3,2,1),array(1,2,3),array(7,8,9)) → [ 9, 8, 7 ]
array_replace(array('Q','G','I','S'),array('Q','S'),'-') → [ '-', 'G', 'I', '-' ]
Variabile mappa↵
Restituisce un array con le chiavi della mappa fornite sostituite dai loro valori abbinati.
Sintassi:
- array_replace(array,map)
Argomenti:
- array l'array in ingresso
- map la mappa che contiene le chiavi e i valori
Esempi:
array_replace(array('APP', 'SHOULD', 'ROCK'),map('APP','QGIS','SHOULD','DOES')) → [ 'QGIS', 'DOES', 'ROCK' ]
array_reverse↵
Restituisce l'array dato con valori dell'array in ordine inverso.
Sintassi:
- array_reverse(array)
Argomenti:
- array un array
Esempi:
array_slice↵
Restituisce una porzione dell'array. Il taglio è definito dagli argomenti start_pos e end_pos.
Sintassi:
- array_slice(array, start_pos, end_pos)
Argomenti:
- array un array
- start_pos l'indice della posizione iniziale della fetta (a partire da 0). L'indice start_pos è incluso nella fetta. Se si utilizza un valore negativo di start_pos, l'indice è contato dalla fine della lista (a partire da -1).
- end_pos l'indice della posizione finale della fetta (a partire da 0). L'indice end_pos è incluso nella fetta. Se si utilizza un valore negativo di start_pos, l'indice è contato dalla fine della lista (a partire da -1).
Esempi:
array_slice(array(1,2,3,4,5),0,3) → [ 1, 2, 3, 4 ]
array_slice(array(1,2,3,4,5),0,-1) → [ 1, 2, 3, 4, 5 ]
array_slice(array(1,2,3,4,5),-5,-1) → [ 1, 2, 3, 4, 5 ]
array_slice(array(1,2,3,4,5),0,0) → [ 1 ]
array_slice(array(1,2,3,4,5),-2,-1) → [ 4, 5 ]
array_slice(array(1,2,3,4,5),-1,-1) → [ 5 ]
array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),1,2) → [ 'Valmiera', 'Chugiak' ]
array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),-2,-1) → [ 'Chugiak', 'Brighton' ]
array_sort↵
Ordina i valori in ordine crescente (usa array_reverse per desc).
Sintassi:
- array_sort(array[,ascending=true])
Argomenti:
- array un array o stringa (valori separati da virgola)
- ascending imposta questo parametro a false per ordinare l'array in modo decrescente
Esempi:
array_sum↵
Restituisce la somma dei valori aritmetici in un array. I valori non-numerici nell'array vengono ignorati.
Sintassi:
- array_sum(array)
Argomenti:
- array un array
Esempi:
array_to_string↵
Concatena gli elementi di un array in una stringa separata da un delimitatore usando una stringa opzionale per valori mancanti.
Sintassi:
- array_to_string(array[,delimiter][,empty_value])
[ ] indica componenti opzionali
Argomenti:
- array l'array in ingresso
- delimiter il delimitatore stringa usato per separare gli elementi array concatenati
- empty_value la stringa opzionale da usare come sostituzione per le corrispondenze (lunghezza nulla) mancanti
Esempi:
array_to_string(array('1','2','3')) → '1,2,3'
array_to_string(array(1,2,3),'-') → '1-2-3'
array_to_string(array('1','','3'),',','0') → '1,0,3'
generate_series↵
La funzione crea una matrice contenente una sequenza di numeri, segue le stesse regole della funzione generate_series () di PostgreSQL.
Sintassi:
- generate_series(start,stop[,step=1])
[ ] contrassegna componenti opzionali
Argomenti:
- start primo valore della sequenza
- stop valore che termina la sequenza una volta raggiunta
- step passo usato come incremento tra i valori
Esempi:
geometries_to_array↵
Divide una geometria in geometrie più semplici in un array.
Sintassi:
- geometries_to_array(geometry)
Argomenti:
- geometry la geometria in ingresso
Esempi:
- geometries_to_array(geom_from_wkt('GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))')) → un array di geometrie di poligoni e linee
- geom_to_wkt(geometries_to_array(geom_from_wkt('GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))'))[0]) → 'Polygon ((3 2, 3 4, 1 4, 1 2, 3 2))'
- geometries_to_array(geom_from_wkt('MULTIPOLYGON(((5 5,0 0,0 10,5 5)),((5 5,10 10,10 0,5 5))')) → un array di due geometrie poligonali
regexp_matches↵
Restituisce un array di tutte le stringhe catturate dai gruppo, nell'ordine che i gruppi stessi compaiono con l'espressione regolare fornita con una stringa.
Sintassi:
- regexp_matches(string, regex[,empty_value=''])
[ ] indica componenti opzionali
Argomenti:
- string la stringa con cui catturare i gruppi da un'espressione regolare
- regex l'espressione regolare usata per catturare gruppi
- empty_value la stringa opzionale da usare come sostituzione per le corrispondenze (lunghezza nulla) mancanti
Esempi:
regexp_matches('QGIS=>rocks','(.*)=>(.*)') → [ 'QGIS', 'rocks' ]
regexp_matches('key=>','(.*)=>(.*)','empty value') → [ 'key', 'empty value' ]
string_to_array↵
Divide la stringa in un array usando il delimitatore fornito e la stringa opzionale per valori mancanti.
Sintassi:
- string_to_array(string[,delimiter][,empty_value=''])
[ ] indica componenti opzionali
Argomenti:
- string la stringa in ingresso
- delimiter il delimitatore stringa usato per dividere la stringa in ingresso
- empty_value la stringa opzionale da usare come sostituzione per le corrispondenze (lunghezza nulla) mancanti
Esempi:
string_to_array('1,2,3',',') → [ '1', '2', '3' ]
string_to_array('1,,3',',','0') → [ '1', '0', '3' ]