13.2. Lista delle funzioni
Sono elencate di seguito le funzioni, gli operatori e le variabili disponibili in QGIS , raggruppate per categorie.
13.2.1. Funzioni di Aggregazione
Questo gruppo contiene funzioni che aggregano valori su layer e campi
13.2.1.1. aggregate
Restituisce un valore aggregato calcolato utilizzando elementi da un altro layer.
Sintassi |
aggregate(layer, aggregate, expression, [filter], [concatenator=””], [order_by]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.2. array_agg
Restituisce un array di valori aggregati da un campo o un’espressione.
Sintassi |
array_agg(expression, [group_by], [filter], [order_by]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.3. collect
Restituisce la geometria a parti multiple di geometrie aggregate da una espressione
Sintassi |
collect(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.4. concatenate
Restituisce tutte le stringhe aggregate da un campo o un’espressione unite da un separatore.
Sintassi |
concatenate(expression, [group_by], [filter], [concatenator], [order_by]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.5. concatenate_unique
Restituisce tutte le stringhe univoche di un campo o di un’espressione unite da un delimitatore.
Sintassi |
concatenate_unique(expression, [group_by], [filter], [concatenator], [order_by]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.6. count
Restituisce il conteggio gli elementi che coincidono.
Sintassi |
count(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.7. count_distinct
Restituisce il numero di valori distinti.
Sintassi |
count_distinct(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.8. count_missing
Restituisce il numero di valori nulli (NULL).
Sintassi |
count_missing(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.9. iqr
Restituisce l’intervallo inter quartile calcolato da un campo o un’espressione.
Sintassi |
iqr(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.10. majority
Restituisce la maggioranza aggregata dei valori (il valore più comunemente presente) di un campo o di un’espressione.
Sintassi |
majority(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.11. max_length
Restituisce la lunghezza massima delle stringhe di un campo o di un’espressione.
Sintassi |
max_length(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.12. maximum
Restituisce il valore massimo aggregato di un campo o di un’espressione.
Sintassi |
maximum(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.13. mean
Restituisce il valore medio aggregato di un campo o di un’espressione.
Sintassi |
mean(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.14. median
Restituisce il valore della mediana aggregata di un campo o di un’espressione.
Sintassi |
median(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.15. min_length
Restituisce la lunghezza minima delle stringhe di un campo o di un’espressione.
Sintassi |
min_length(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.16. minimum
Restituisce il valore minimo aggregato di un campo o di un’espressione.
Sintassi |
minimum(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.17. minority
Restituisce la minoranza complessiva dei valori (il valore meno frequente) di un campo o di un’espressione.
Sintassi |
minority(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.18. q1
Restituisce il primo quartile calcolato da un campo o un’espressione.
Sintassi |
q1(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.19. q3
Restituisce il terzo quartile calcolato rispetto a un campo o a un’espressione.
Sintassi |
q3(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.20. range
Restituisce l’intervallo aggregato di valori (massimo - minimo) di un campo o di un’espressione.
Sintassi |
range(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.21. relation_aggregate
Restituisce un valore aggregato calcolato usando tutte gli elementi figli corrispondenti da una relazione di layer.
Sintassi |
relation_aggregate(relation, aggregate, expression, [concatenator=””], [order_by]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Creare una relazione uno a molti o molti a molti
13.2.1.22. stdev
Restituisce il valore della deviazione standard aggregata di un campo o di un’espressione.
Sintassi |
stdev(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.1.23. sum
Restituisce il valore sommato aggregato di un campo o di un’espressione.
Sintassi |
sum(expression, [group_by], [filter]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2. Funzioni Array
Questo gruppo contiene funzioni 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 “map” data structure, in cui l’ordine delle coppie chiave-valore è irrilevante e i valori vengono identificati dalle loro chiavi.
13.2.2.1. array
Restituisce un array contenente tutti i valori passati come parametro.
Sintassi |
array(value1, value2, …) |
Argomenti |
|
Esempi |
|
13.2.2.2. array_all
Restituisce TRUE se un array contiene tutti i valori di un dato array.
Sintassi |
array_all(array_a, array_b) |
Argomenti |
|
Esempi |
|
13.2.2.3. array_append
Restituisce un array con il valore dato aggiunto alla fine.
Sintassi |
array_append(array, value) |
Argomenti |
|
Esempi |
|
13.2.2.4. array_cat
Restituisce un array contenente tutti gli array dati concatenati.
Sintassi |
array_cat(array1, array2, …) |
Argomenti |
|
Esempi |
|
13.2.2.5. array_contains
Restituisce TRUE se un array contiene il valore indicato.
Sintassi |
array_contains(array, value) |
Argomenti |
|
Esempi |
|
13.2.2.6. array_count
Conta il numero di occorrenze di un dato valore in una array.
Sintassi |
array_count(array, value) |
Argomenti |
|
Esempi |
|
13.2.2.7. array_distinct
Restituisce un array contenente valori distinti dell’array dato.
Sintassi |
array_distinct(array) |
Argomenti |
|
Esempi |
|
13.2.2.8. array_filter
Restituisce un array con solo gli elementi per i quali l’espressione valuta true.
Sintassi |
array_filter(array, expression, [limit=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2.9. array_find
Restituisce l’indice più basso (0 per il primo) di un valore all’interno di un array. Restituisce -1 se il valore non viene trovato.
Sintassi |
array_find(array, value) |
Argomenti |
|
Esempi |
|
13.2.2.10. array_first
Restituisce il primo valore di un array.
Sintassi |
array_first(array) |
Argomenti |
|
Esempi |
|
13.2.2.11. array_foreach
Restituisce un array con l’espressione data valutata su ogni elemento.
Sintassi |
array_foreach(array, expression) |
Argomenti |
|
Esempi |
|
13.2.2.12. array_get
Restituisce il valore ennesimo (0 per il primo) o l’ultimo valore -N (-1 per l’ultimo) di una matrice.
Sintassi |
array_get(array, pos) |
Argomenti |
|
Esempi |
|
Suggerimento
You can also use the index operator ([]) to get a value from an array.
13.2.2.13. array_insert
Restituisce un array con il valore dato aggiunto nella posizione data.
Sintassi |
array_insert(array, pos, value) |
Argomenti |
|
Esempi |
|
13.2.2.14. array_intersect
Restituisce TRUE se almeno un elemento dell’array1 esiste nell’array2.
Sintassi |
array_intersect(array1, array2) |
Argomenti |
|
Esempi |
|
13.2.2.15. array_last
Restituisce l’ultimo valore di un array.
Sintassi |
array_last(array) |
Argomenti |
|
Esempi |
|
13.2.2.16. array_length
Restituisce il numero di elementi di un array.
Sintassi |
array_length(array) |
Argomenti |
|
Esempi |
|
13.2.2.17. array_majority
Restituisce i valori più comuni in un array.
Sintassi |
array_majority(array, [option=”all”]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2.18. array_max
Restituisce il valore massimo di un array.
Sintassi |
array_max(array) |
Argomenti |
|
Esempi |
|
13.2.2.19. array_mean
Restituisce la media dei valori aritmetici in una matrice. I valori non numerici nella matrice vengono ignorati.
Sintassi |
array_mean(array) |
Argomenti |
|
Esempi |
|
13.2.2.20. array_median
Restituisce la mediana dei valori aritmetici in una matrice. I valori non aritmetici nella matrice vengono ignorati.
Sintassi |
array_median(array) |
Argomenti |
|
Esempi |
|
13.2.2.21. array_min
Restituisce il valore minimo di un array.
Sintassi |
array_min(array) |
Argomenti |
|
Esempi |
|
13.2.2.22. array_minority
Restituisce i valori meno frequenti in un array.
Sintassi |
array_minority(array, [option=”all”]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2.23. array_prepend
Restituisce un array con il valore dato aggiunto all’inizio.
Sintassi |
array_prepend(array, value) |
Argomenti |
|
Esempi |
|
13.2.2.24. array_prioritize
Restituisce una matrice ordinata utilizzando l’ordinamento specificato in un’altra matrice. I valori che sono presenti nel primo array ma che mancano nel secondo array saranno aggiunti alla fine del risultato.
Sintassi |
array_prioritize(array, array_prioritize) |
Argomenti |
|
Esempi |
|
13.2.2.25. array_remove_all
Restituisce un array con tutte le voci del valore dato rimosse.
Sintassi |
array_remove_all(array, value) |
Argomenti |
|
Esempi |
|
13.2.2.26. array_remove_at
Restituisce un array con la rimozione dell’elemento all’indice dato. Supporta indici positivi (0 per il primo elemento) e negativi (l’ultimo valore -N, -1 per l’ultimo elemento).
Sintassi |
array_remove_at(array, pos) |
Argomenti |
|
Esempi |
|
13.2.2.27. array_replace
Restituisce un array con il valore, l’array o la mappa di valori sostituiti.
Valore & matrice variabile
Restituisce un array con il valore o l’array di valori dato sostituito da un altro valore o da un array di valori.
Sintassi |
array_replace(array, before, after) |
Argomenti |
|
Esempi |
|
Variabile mappa
Restituisce un array con le chiavi fornite della mappa sostituite dai loro valori associati.
Sintassi |
array_replace(array, map) |
Argomenti |
|
Esempi |
|
13.2.2.28. array_reverse
Restituisce l’array dato con i valori dell’array in ordine inverso.
Sintassi |
array_reverse(array) |
Argomenti |
|
Esempi |
|
13.2.2.29. array_slice
Restituisce una porzione dell’array. La parte viene definita dagli argomenti start_pos e end_pos.
Sintassi |
array_slice(array, start_pos, end_pos) |
Argomenti |
|
Esempi |
|
13.2.2.30. array_sort
Restituisce l’array dato con i suoi elementi ordinati.
Sintassi |
array_sort(array, [ascending=true]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2.31. array_sum
Restituisce la somma dei valori aritmetici in una matrice. I valori non numerici nella matrice vengono ignorati.
Sintassi |
array_sum(array) |
Argomenti |
|
Esempi |
|
13.2.2.32. array_to_string
Concatena gli elementi dell’array in una stringa separata da un delimitatore e usando una stringa opzionale per i valori vuoti.
Sintassi |
array_to_string(array, [delimiter=”,”], [empty_value=””]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2.33. generate_series
Crea un array contenente una sequenza di numeri.
Sintassi |
generate_series(start, stop, [step=1]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2.34. geometries_to_array
Suddivide una geometria in geometrie più semplici in un array.
Sintassi |
geometries_to_array(geometry) |
Argomenti |
|
Esempi |
|
13.2.2.35. regexp_matches
Restituisce un array di tutte le stringhe intercettate dai gruppi di intercettazione, nell’ordine in cui i gruppi stessi appaiono nell’espressione regolare fornita rispetto ad una stringa.
Sintassi |
regexp_matches(string, regex, [empty_value=””]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.2.36. string_to_array
Divide la stringa in un array usando il delimitatore fornito e una stringa opzionale per i valori vuoti.
Sintassi |
string_to_array(string, [delimiter=”,”], [empty_value=””]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.3. Funzioni colore
Questo gruppo contiene funzioni per la manipolazione dei colori.
13.2.3.1. color_cmyk
Restituisce una rappresentazione in formato stringa di un colore in base alle componenti ciano, magenta, giallo e nero
Sintassi |
color_cmyk(cyan, magenta, yellow, black) |
Argomenti |
|
Esempi |
|
13.2.3.2. color_cmyka
Restituisce una rappresentazione in formato stringa di un colore in base ai componenti ciano, magenta, giallo, nero e alfa (trasparenza)
Sintassi |
color_cmyka(cyan, magenta, yellow, black, alpha) |
Argomenti |
|
Esempi |
|
13.2.3.3. color_grayscale_average
Applica un filtro in scala di grigi e restituisce una rappresentazione in formato stringa da un dato colore.
Sintassi |
color_grayscale_average(color) |
Argomenti |
|
Esempi |
|
13.2.3.4. color_hsl
Restituisce una rappresentazione in formato stringa di un colore basata sui suoi attributi di tonalità, saturazione e luminosità.
Sintassi |
color_hsl(hue, saturation, lightness) |
Argomenti |
|
Esempi |
|
13.2.3.5. color_hsla
Restituisce una rappresentazione in formato stringa di un colore in base agli attributi di tonalità, saturazione, luminosità e alfa (trasparenza)
Sintassi |
color_hsla(hue, saturation, lightness, alpha) |
Argomenti |
|
Esempi |
|
13.2.3.6. color_hsv
Restituisce una rappresentazione stringa di un colore basato sui suoi attributi di tinta, saturazione e valore.
Sintassi |
color_hsv(hue, saturation, value) |
Argomenti |
|
Esempi |
|
13.2.3.7. color_hsva
Restituisce una rappresentazione stringa di un colore basato sui suoi attributi di tonalità, saturazione, valore e alfa (trasparenza).
Sintassi |
color_hsva(hue, saturation, value, alpha) |
Argomenti |
|
Esempi |
|
13.2.3.8. color_mix_rgb
Restituisce una stringa che rappresenta un colore che mescola i valori di rosso, verde, blu e alfa di due colori forniti sulla base di un dato rapporto.
Sintassi |
color_mix_rgb(color1, color2, ratio) |
Argomenti |
|
Esempi |
|
13.2.3.9. color_part
Restituisce un componente specifico da una stringa colore, ad esempio il componente rosso o il componente alfa.
Sintassi |
color_part(color, component) |
Argomenti |
|
Esempi |
|
13.2.3.10. color_rgb
Restituisce una rappresentazione stringa di un colore basata sui suoi componenti rosso, verde e blu.
Sintassi |
color_rgb(red, green, blue) |
Argomenti |
|
Esempi |
|
13.2.3.11. color_rgba
Restituisce una rappresentazione stringa di un colore basata sui suoi componenti rosso, verde, blu e alfa (trasparenza).
Sintassi |
color_rgba(red, green, blue, alpha) |
Argomenti |
|
Esempi |
|
13.2.3.12. create_ramp
Restituisce una scala a gradiente da una mappa di stringhe di colori e gradini.
Sintassi |
create_ramp(map, [discrete=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.3.13. darker
Restituisce una stringa di colore più scuro (o più chiaro)
Sintassi |
darker(color, factor) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: lighter
13.2.3.14. lighter
Restituisce una stringa di colore più chiara (o più scura)
Sintassi |
lighter(color, factor) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: darker
13.2.3.15. project_color
Restituisce un colore dallo schema di colori del progetto.
Sintassi |
project_color(name) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: setting project colors
13.2.3.16. ramp_color
Restituisce una stringa che rappresenta un colore da una scala di colori.
Variabile scala colori salvata
Restituisce una stringa che rappresenta un colore da una scala salvata
Sintassi |
ramp_color(ramp_name, value) |
Argomenti |
|
Esempi |
|
Nota
Le scale di colori disponibili variano tra le installazioni di QGIS. Questa funzione potrebbe non dare i risultati attesi se si sposta il progetto QGIS tra le installazioni.
Variabile di scala colori creata dall’espressione
Restituisce una stringa che rappresenta un colore da una scala creata con un’espressione
Sintassi |
ramp_color(ramp, value) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Impostazione di una Scala di Colori, Il menu di scelta rapida scala di colori
13.2.3.17. set_color_part
Imposta un componente di colore specifico per una stringa di colore, ad esempio il componente rosso o il componente alfa.
Sintassi |
set_color_part(color, component, value) |
Argomenti |
|
Esempi |
|
13.2.4. Funzioni Condizionali
Questo gruppo contiene funzioni per eseguire controlli condizionali nelle espressioni.
13.2.4.1. CASE
CASE è usato per valutare una serie di condizioni e restituire un risultato per la prima condizione soddisfatta. Le condizioni sono valutate in modo sequenziale, e se una condizione è vera, la valutazione si ferma e viene restituito il risultato corrispondente. Se nessuna delle condizioni è vera, viene restituito il valore della clausola ELSE. Inoltre, se nessuna clausola ELSE è impostata e nessuna delle condizioni è soddisfatta, viene restituito NULL.
CASE
WHEN condition THEN result
[ …n ]
[ ELSE result ]
END
[ ] indica componenti opzionali
Argomenti |
|
Esempi |
|
13.2.4.2. coalesce
Restituisce il primo valore non NULL dalla lista dell’espressione.
Questa funzione può accettare qualsiasi numero di argomenti.
Sintassi |
coalesce(expression1, expression2, …) |
Argomenti |
|
Esempi |
|
13.2.4.3. if
Verifica una condizione e restituisce un risultato diverso a seconda del controllo sulla condizione.
Sintassi |
if(condition, result_when_true, result_when_false) |
Argomenti |
|
Esempi |
|
13.2.4.4. nullif
Restituisce un valore NULL se value1 è uguale a value2; altrimenti restituisce value1. Questo può essere usato per sostituire condizionatamente i valori con NULL.
Sintassi |
nullif(value1, value2) |
Argomenti |
|
Esempi |
|
13.2.4.5. regexp_match
Restituisce la prima posizione corrispondente a un’espressione regolare all’interno di una stringa unicode, o 0 se la sottostringa non viene trovata.
Sintassi |
regexp_match(input_string, regex) |
Argomenti |
|
Esempi |
|
13.2.4.6. try
Prova un’espressione e restituisce il suo valore se privo di errori. Se l’espressione restituisce un errore, verrà restituito un valore alternativo se disponibile, altrimenti la funzione restituirà NULL.
Sintassi |
try(expression, [alternative]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.5. Funzioni di conversione
Questo gruppo contiene funzioni per convertire un tipo di dati in un altro (ad esempio, stringa da/a intero, binario da/a stringa, stringa a data, …).
13.2.5.1. from_base64
Decodifica una stringa nella codifica Base64 in un valore binario.
Sintassi |
from_base64(string) |
Argomenti |
|
Esempi |
|
13.2.5.2. hash
Crea un hash da una stringa con un dato metodo. Un byte (8 bit) è rappresentato con due «cifre» esadecimali, quindi «md4» (16 byte) produce una stringa esadecimale lunga 16 * 2 = 32 caratteri e «keccak_512» (64 byte) produce una stringa esadecimale lunga 64 * 2 = 128 caratteri.
Sintassi |
hash(string, method) |
Argomenti |
|
Esempi |
|
13.2.5.3. md5
Crea un hash md5 da una stringa.
Sintassi |
md5(string) |
Argomenti |
|
Esempi |
|
13.2.5.4. sha256
Crea un hash sha256 da una stringa.
Sintassi |
sha256(string) |
Argomenti |
|
Esempi |
|
13.2.5.5. to_base64
Codifica un valore binario in una stringa, usando la codifica Base64.
Sintassi |
to_base64(value) |
Argomenti |
|
Esempi |
|
13.2.5.6. to_date
Converte una stringa in un oggetto data. Una stringa di formato opzionale può essere fornita per analizzare la stringa; vedi QDate::fromString o la documentazione della funzione format_date per ulteriore documentazione sul formato. Per impostazione predefinita viene usato il formato del paese corrente dell’utente QGIS.
Sintassi |
to_date(string, [format], [language]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.5.7. to_datetime
Converte una stringa in un oggetto datetime. Una stringa di formato opzionale può essere fornita per analizzare la stringa; vedi QDate::fromString, QTime::fromString o la documentazione della funzione format_date per ulteriore documentazione sul formato. Per impostazione predefinita viene usato il formato del paese corrente dell’utente QGIS.
Sintassi |
to_datetime(string, [format], [language]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.5.8. to_decimal
Converte una coordinata in gradi, minuti e secondi nel suo equivalente decimale.
Sintassi |
to_decimal(value) |
Argomenti |
|
Esempi |
|
13.2.5.9. to_dm
Converte una coordinata in gradi, minuti.
Sintassi |
to_dm(coordinate, axis, precision, [formatting=]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.5.10. to_dms
Converte una coordinata in gradi, minuti e secondi.
Sintassi |
to_dms(coordinate, axis, precision, [formatting=]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.5.11. to_int
Converte una stringa in un numero intero. Non viene restituito nulla se un valore non può essere convertito in numero intero (ad esempio “123asd” non è valido).
Sintassi |
to_int(string) |
Argomenti |
|
Esempi |
|
13.2.5.12. to_interval
Converte una stringa in un tipo di intervallo. Può essere usato per ricavare giorni, ore, mesi, ecc. da una data.
Sintassi |
to_interval(string) |
Argomenti |
|
Esempi |
|
13.2.5.13. to_real
Converte una stringa in un numero reale. Non viene restituito nulla se un valore non può essere convertito in reale (ad esempio “123.56asd” non è valido). I numeri vengono arrotondati dopo aver salvato le modifiche se la precisione è inferiore al risultato della conversione.
Sintassi |
to_real(string) |
Argomenti |
|
Esempi |
|
13.2.5.14. to_string
Converte un numero in stringa.
Sintassi |
to_string(number) |
Argomenti |
|
Esempi |
|
13.2.5.15. to_time
Converte una stringa in un oggetto time. Una stringa di formato opzionale può essere fornita per analizzare la stringa; vedi QTime::fromString per ulteriore documentazione sul formato.
Sintassi |
to_time(string, [format], [language]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.6. Funzioni personalizzate
Questo gruppo contiene funzioni create dall’utente. Vedi Editor delle Funzioni per maggiori dettagli.
13.2.7. Funzioni di data e ora
Questo gruppo contiene funzioni per gestire dati di data e time. Questo gruppo condivide diverse funzioni con i gruppi Funzioni di conversione (to_date, to_time, to_datetime, to_interval) e Funzioni Stringa (format_date).
Nota
Memorizzazione di data, datetime e intervalli su campi
La possibilità di memorizzare i valori data, time e datetime direttamente sui campi dipende dal fornitore dell’origine dati (ad esempio, Shapefile accetta il formato data, ma non il formato datetime o time). I seguenti sono alcuni suggerimenti per superare questa limitazione:
date, datetime e time possono essere convertiti e memorizzati in campi di tipo testo usando la funzione format_date().
Intervals possono essere memorizzati in campi di tipo intero o decimale dopo aver usato una delle funzioni di estrazione della data (ad esempio, day() per ottenere l’intervallo espresso in giorni)
13.2.7.1. age
Restituisce la differenza tra due date o datetime.
La differenza viene restituita come Intervallo
e deve essere usata con una delle seguenti funzioni per estrarre informazioni utili:
year
month
week
day
hour
minute
second
Sintassi |
age(datetime1, datetime2) |
Argomenti |
|
Esempi |
|
13.2.7.2. datetime_from_epoch
Restituisce un datetime la cui data e ora sono il numero di millisecondi, msecs, che sono passati dal 1970-01-01T00:00:00.000, Coordinated Universal Time (Qt.UTC), e convertiti in Qt.LocalTime.
Sintassi |
datetime_from_epoch(int) |
Argomenti |
|
Esempi |
|
13.2.7.3. day
Estrae il giorno da una data, o il numero di giorni da un intervallo.
Variabile Data
Estrae il giorno da una data o datetime.
Sintassi |
day(date) |
Argomenti |
|
Esempi |
|
Variabile Intervallo
Calcola la durata in giorni di un intervallo.
Sintassi |
day(interval) |
Argomenti |
|
Esempi |
|
13.2.7.4. day_of_week
Restituisce il giorno della settimana per una data o datetime specificato. Il valore restituito va da 0 a 6, dove 0 corrisponde a una domenica e 6 a un sabato.
Sintassi |
day_of_week(date) |
Argomenti |
|
Esempi |
|
13.2.7.5. epoch
Restituisce l’intervallo in millisecondi tra il tempo di riferimento di unix e un dato valore di data.
Sintassi |
epoch(date) |
Argomenti |
|
Esempi |
|
13.2.7.6. format_date
Formatta un tipo di data o una stringa in un formato personalizzato. Utilizza le stringhe del formato data/ora di Qt. Vedi QDateTime::toString.
Sintassi |
format_date(datetime, format, [language]) [] indica argomenti opzionali |
||||||||||||||||||||||||||||||||||||||||||||||||
Argomenti |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Esempi |
|
13.2.7.7. hour
Estrae la parte di ora da un datetime o da un orario, o il numero di ore da un intervallo.
Variabile Time
Estrae la parte dell’ora da un’ora o da un datetime.
Sintassi |
hour(datetime) |
Argomenti |
|
Esempi |
|
Variabile Intervallo
Calcola la lunghezza in ore di un intervallo.
Sintassi |
hour(interval) |
Argomenti |
|
Esempi |
|
13.2.7.8. make_date
Genera un valore di data dai numeri di anno, mese e giorno.
Sintassi |
make_date(year, month, day) |
Argomenti |
|
Esempi |
|
13.2.7.9. make_datetime
Crea un valore datetime dai numeri di anno, mese, giorno, ora, minuto e secondo.
Sintassi |
make_datetime(year, month, day, hour, minute, second) |
Argomenti |
|
Esempi |
|
13.2.7.10. make_interval
Crea un valore di intervallo dai valori di anno, mese, settimane, giorni, ore, minuti e secondi.
Sintassi |
make_interval([years=0], [months=0], [weeks=0], [days=0], [hours=0], [minutes=0], [seconds=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.7.11. make_time
Crea un valore temporale dai numeri di ore, minuti e secondi.
Sintassi |
make_time(hour, minute, second) |
Argomenti |
|
Esempi |
|
13.2.7.12. minute
Estrae la parte dei minuti da un datetime o da un orario, o il numero di minuti da un intervallo.
Variabile Time
Estrae la parte dei minuti da un tempo o da una data.
Sintassi |
minute(datetime) |
Argomenti |
|
Esempi |
|
Variabile Intervallo
Calcola la lunghezza in minuti di un intervallo.
Sintassi |
minute(interval) |
Argomenti |
|
Esempi |
|
13.2.7.13. month
Estrae la parte di mese da una data, o il numero di mesi da un intervallo.
Variabile Data
Estrae la parte del mese da una data o datetime.
Sintassi |
month(date) |
Argomenti |
|
Esempi |
|
Variabile Intervallo
Calcola la lunghezza in mesi di un intervallo.
Sintassi |
month(interval) |
Argomenti |
|
Esempi |
|
13.2.7.14. now
Restituisce la data e l’ora attuali. La funzione è statica e restituisce risultati validi durante la valutazione. L’ora restituita è quella in cui viene preparata l’espressione.
Sintassi |
now() |
Esempi |
|
13.2.7.15. second
Estrae la parte dei secondi da un datetime o da un orario, o il numero di secondi da un intervallo.
Variabile Time
Estrae la parte dei secondi da un tempo o da un datetime.
Sintassi |
second(datetime) |
Argomenti |
|
Esempi |
|
Variabile Intervallo
Calcola la lunghezza in secondi di un intervallo.
Sintassi |
second(interval) |
Argomenti |
|
Esempi |
|
13.2.7.16. to_date
Converte una stringa in un oggetto data. Una stringa di formato opzionale può essere fornita per analizzare la stringa; vedi QDate::fromString o la documentazione della funzione format_date per ulteriore documentazione sul formato. Per impostazione predefinita viene usato il formato del paese corrente dell’utente QGIS.
Sintassi |
to_date(string, [format], [language]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.7.17. to_datetime
Converte una stringa in un oggetto datetime. Una stringa di formato opzionale può essere fornita per analizzare la stringa; vedi QDate::fromString, QTime::fromString o la documentazione della funzione format_date per ulteriore documentazione sul formato. Per impostazione predefinita viene usato il formato del paese corrente dell’utente QGIS.
Sintassi |
to_datetime(string, [format], [language]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.7.18. to_interval
Converte una stringa in un tipo di intervallo. Può essere usato per ricavare giorni, ore, mesi, ecc. da una data.
Sintassi |
to_interval(string) |
Argomenti |
|
Esempi |
|
13.2.7.19. to_time
Converte una stringa in un oggetto time. Una stringa di formato opzionale può essere fornita per analizzare la stringa; vedi QTime::fromString per ulteriore documentazione sul formato.
Sintassi |
to_time(string, [format], [language]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.7.20. week
Estrae il numero di settimana da una data, o il numero di settimane da un intervallo.
Variabile Data
Estrae il numero delle settimane da una data o datetime.
Sintassi |
week(date) |
Argomenti |
|
Esempi |
|
Variabile Intervallo
Calcola la lunghezza in settimane di un intervallo.
Sintassi |
week(interval) |
Argomenti |
|
Esempi |
|
13.2.7.21. year
Estrae la parte di anno da una data, o il numero di anni da un intervallo.
Variabile Data
Estrae la parte anno da una data o datetime.
Sintassi |
year(date) |
Argomenti |
|
Esempi |
|
Variabile Intervallo
Calcola la lunghezza in anni di un intervallo.
Sintassi |
year(interval) |
Argomenti |
|
Esempi |
|
Alcuni esempi:
Oltre a queste funzioni, le differenze di data, i tempi o le ore che usano l’operatore `` -`` (meno) restituiscono un intervallo.
Aggiungendo o sottraendo un intervallo a date, datetime o tempi, usando gli operatori +
(più) e -
(meno), restituisce un datetime.
Fino alla versione di QGIS 3.0 dà il numero di giorni:
to_date('2017-09-29') - to_date(now()) -- Returns <interval: 203 days>
Lo stesso con time:
to_datetime('2017-09-29 12:00:00') - now() -- Returns <interval: 202.49 days>
Ottieni il tempo di 100 giorni a partire da adesso:
now() + to_interval('100 days') -- Returns <datetime: 2017-06-18 01:00:00>
13.2.8. Campi e Valori
Contiene un elenco di campi del layer attivo e valori speciali. L’elenco dei campi include quelli memorizzati nel dataset, virtual e auxiliary e quelli di joins.
Fai doppio clic sul nome di un campo per aggiungerlo all’espressione. Puoi anche digitare il nome del campo (preferibilmente all’interno di virgolette doppie) o il suo alias.
Per recuperare i valori dei campi da utilizzare in un’espressione, seleziona il campo appropriato e, nel widget mostrato, scegli tra 10 Campioni e Tutti i Valori Univoci. I valori richiesti vengono quindi visualizzati e puoi utilizzare la casella Cerca… nella parte superiore dell’elenco per filtrare il risultato. I valori dei campioni sono accessibili anche facendo clic con il tasto destro del mouse su un campo.
Per aggiungere un valore all’espressione che stai scrivendo, fai doppio clic su di essa nell’elenco. Se il valore è di tipo stringa, dovrebbe essere tra virgolette semplici, altrimenti non è necessaria alcuna virgoletta.
13.2.8.1. NULL
Equivale a un valore NULL.
Sintassi |
NULL |
Esempi |
|
Nota
To test for NULL use an IS NULL or IS NOT NULL expression.
13.2.9. Funzioni per i File e i Percorsi
Questo gruppo contiene funzioni che manipolano i nomi dei file e dei percorsi.
13.2.9.1. base_file_name
Restituisce il nome base del file senza il suffisso della cartella o del file.
Sintassi |
base_file_name(path) |
Argomenti |
|
Esempi |
|
13.2.9.2. exif
Recupera i valori dei tag exif da un file immagine.
Sintassi |
exif(path, [tag]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.9.3. file_exists
Restituisce TRUE se un percorso file esiste.
Sintassi |
file_exists(path) |
Argomenti |
|
Esempi |
|
13.2.9.4. file_name
Restituisce il nome di un file (compresa l’estensione del file), escludendo la cartella.
Sintassi |
file_name(path) |
Argomenti |
|
Esempi |
|
13.2.9.5. file_path
Restituisce il componente cartella di un percorso di file. Non include il nome del file.
Sintassi |
file_path(path) |
Argomenti |
|
Esempi |
|
13.2.9.6. file_size
Restituisce la dimensione (in byte) di un file.
Sintassi |
file_size(path) |
Argomenti |
|
Esempi |
|
13.2.9.7. file_suffix
Restituisce il suffisso del file (estensione) da un percorso di file.
Sintassi |
file_suffix(path) |
Argomenti |
|
Esempi |
|
13.2.9.8. is_directory
Restituisce TRUE se un percorso corrisponde a una cartella.
Sintassi |
is_directory(path) |
Argomenti |
|
Esempi |
|
13.2.9.9. is_file
Restituisce TRUE se un percorso corrisponde a un file.
Sintassi |
is_file(path) |
Argomenti |
|
Esempi |
|
13.2.10. Funzioni modulo
Questo gruppo contiene funzioni che operano esclusivamente nel contesto del modulo della tabella degli attributi. Per esempio, nelle impostazioni di field’s widgets.
13.2.10.1. current_parent_value
Utilizzabile solo in un contesto di modulo incorporato, questa funzione restituisce il valore corrente, non salvato, di un campo nel modulo padre che si sta modificando. Questo differirà dagli effettivi valori degli attributi dell’elemento padre per gli elementi che sono attualmente in fase di modifica o che non sono ancora stati aggiunti ad un layer padre. Quando viene usata in un’espressione di filtro del widget value-relation, questa funzione dovrebbe essere racchiusa in una “coalesce()” che può recuperare l’effettivo elemento padre dal layer quando il modulo non è usato in un contesto incorporato.
Sintassi |
current_parent_value(field_name) |
Argomenti |
|
Esempi |
|
13.2.10.2. current_value
Restituisce il valore corrente, non salvato, di un campo nel modulo o nella riga della tabella che si sta modificando. Questo differirà dai valori effettivi dell’attributo dell’elemento per gli elementi che sono attualmente in fase di modifica o che non sono ancora stati aggiunti ad un layer.
Sintassi |
current_value(field_name) |
Argomenti |
|
Esempi |
|
13.2.11. Funzioni varie di confronto
Questo gruppo contiene funzioni per confronti vari tra valori.
13.2.11.1. hamming_distance
Restituisce la distanza di Hamming tra due stringhe. Questo equivale al numero di caratteri nelle posizioni corrispondenti all’interno delle stringhe in ingresso in cui i caratteri sono diversi. Le stringhe in ingresso devono avere la stessa lunghezza e il confronto è sensibile alle maiuscole e alle minuscole.
Sintassi |
hamming_distance(string1, string2) |
Argomenti |
|
Esempi |
|
13.2.11.2. levenshtein
Restituisce la distanza di modifica Levenshtein tra due stringhe. Questo equivale al numero minimo di modifiche dei caratteri (inserzioni, cancellazioni o sostituzioni) necessarie per cambiare una stringa in un’altra.
La distanza di Levenshtein è una misura della somiglianza tra due stringhe. Distanze minori significano che le stringhe sono più simili, e distanze maggiori indicano stringhe più diverse. La distanza è sensibile alle maiuscole e alle minuscole.
Sintassi |
levenshtein(string1, string2) |
Argomenti |
|
Esempi |
|
13.2.11.3. longest_common_substring
Restituisce la più lunga sottostringa comune tra due stringhe. Questa sottostringa è la stringa più lunga che è in una sottostringa delle due stringhe in ingresso. Per esempio, la più lunga sottostringa comune di «ABABC» e «BABCA» è «BABC». La sottostringa è sensibile alle maiuscole e alle minuscole.
Sintassi |
longest_common_substring(string1, string2) |
Argomenti |
|
Esempi |
|
13.2.11.4. soundex
Restituisce la rappresentazione Soundex di una stringa. Soundex è un algoritmo di corrispondenza fonetica, quindi le stringhe con suoni simili dovrebbero essere rappresentate dallo stesso codice Soundex.
Sintassi |
soundex(string) |
Argomenti |
|
Esempi |
|
13.2.12. Funzioni Generali
Questo gruppo contiene funzioni generali assortite.
13.2.12.1. env
Ottiene una variabile d’ambiente e restituisce il suo contenuto come stringa. Se la variabile non viene trovata, viene restituito NULL. Questo è utile per inserire configurazioni specifiche del sistema come lettere di unità o prefissi di percorso. La definizione delle variabili d’ambiente dipende dal sistema operativo, controlla con il tuo amministratore di sistema o con la documentazione del sistema operativo come questo può essere impostato.
Sintassi |
env(name) |
Argomenti |
|
Esempi |
|
13.2.12.2. eval
Valuta un’espressione passata in una stringa. Utile per espandere i parametri dinamici passati come variabili di contesto o campi.
Sintassi |
eval(expression) |
Argomenti |
|
Esempi |
|
13.2.12.3. eval_template
Valuta un modello passato in una stringa. Utile per espandere i parametri dinamici passati come variabili di contesto o campi.
Sintassi |
eval_template(template) |
Argomenti |
|
Esempi |
|
13.2.12.4. is_layer_visible
Restituisce TRUE se il layer specificato è visibile.
Sintassi |
is_layer_visible(layer) |
Argomenti |
|
Esempi |
|
13.2.12.5. mime_type
Restituisce il tipo mime dei dati binari.
Sintassi |
mime_type(bytes) |
Argomenti |
|
Esempi |
|
13.2.12.6. var
Restituisce il valore memorizzato in una variabile specificata.
Sintassi |
var(name) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Lista delle variables <expression_variables> predefinite
13.2.12.7. with_variable
Questa funzione imposta una variabile per qualsiasi codice di espressione che sarà fornito come 3° parametro. Questo è utile solo per espressioni complicate, dove lo stesso valore calcolato deve essere usato in posti diversi.
Sintassi |
with_variable(name, value, expression) |
Argomenti |
|
Esempi |
|
13.2.13. Funzioni Geometria
Questo gruppo contiene funzioni che operano su oggetti geometrici (per esempio buffer, transform, $area).
13.2.13.1. affine_transform
Restituisce la geometria dopo una trasformazione affine. I calcoli sono nel sistema di riferimento spaziale di questa geometria. Le operazioni vengono eseguite in ordine di scala, rotazione, traslazione. Se c’è un offset Z o M ma la coordinata non è presente nella geometria, verrà aggiunta.
Sintassi |
affine_transform(geometry, delta_x, delta_y, rotation_z, scale_x, scale_y, [delta_z=0], [delta_m=0], [scale_z=1], [scale_m=1]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.2. angle_at_vertex
Restituisce l’angolo bisettrice (angolo medio) alla geometria per un vertice specificato su una geometria lineare. Gli angoli sono in gradi in senso orario dal nord.
Sintassi |
angle_at_vertex(geometry, vertex) |
Argomenti |
|
Esempi |
|
13.2.13.3. apply_dash_pattern
Applica un pattern a trattini a una geometria, restituendo una geometria MultiLineString che è la geometria in ingresso, tracciata lungo ogni linea/anello con il pattern specificato.
Sintassi |
apply_dash_pattern(geometry, pattern, [start_rule=no_rule], [end_rule=no_rule], [adjustment=both], [pattern_offset=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.4. $area
Restituisce l’area dell’elemento corrente. L’area calcolata da questa funzione rispetta sia l’impostazione dell’ellissoide del progetto corrente che le impostazioni dell’unità di area. Per esempio, se un ellissoide è stato impostato per il progetto allora l’area calcolata sarà ellissoidale, e se nessun ellissoide è impostato allora l’area calcolata sarà planimetrica.
Sintassi |
$area |
Esempi |
|
13.2.13.5. area
Restituisce l’area di un oggetto geometrico poligonale. I calcoli sono sempre planimetrici nel Sistema di Riferimento Spaziale (SR) di questa geometria, e le unità dell’area restituita corrisponderanno alle unità del SR. Questo differisce dai calcoli eseguiti dalla funzione $area, che eseguirà calcoli ellissoidali basati sulle impostazioni dell’ellissoide e dell’unità di area del progetto.
Sintassi |
area(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.6. azimuth
Restituisce l’azimut basato sul nord come angolo in radianti misurato in senso orario dalla verticale sul punto_a al punto_b.
Sintassi |
azimuth(point_a, point_b) |
Argomenti |
|
Esempi |
|
13.2.13.7. boundary
Restituisce la chiusura del confine concatenato della geometria (cioè il confine topologico della geometria). Per esempio, una geometria poligonale avrà un confine che consiste linee ogni anello del poligono. Alcuni tipi di geometria non hanno un confine definito, ad esempio punti o collezioni di geometrie, e restituiranno NULL.
Sintassi |
boundary(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Confine algoritmo
13.2.13.8. bounds
Restituisce una geometria che rappresenta il perimetro di delimitazione di una geometria in ingresso. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
bounds(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Perimetri di delimitazione
13.2.13.9. bounds_height
Restituisce l’altezza del perimetro di delimitazione di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
bounds_height(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.10. bounds_width
Restituisce la larghezza del perimetro di delimitazione di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
bounds_width(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.11. buffer
Restituisce una geometria che rappresenta tutti i punti la cui distanza da questa geometria è inferiore o uguale alla distanza data. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
buffer(geometry, distance, [segments=8], [cap=”round”], [join=”round”], [miter_limit=2]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Buffer
13.2.13.12. buffer_by_m
Crea un buffer lungo una linea geometrica dove il diametro del buffer varia in base ai valori m ai vertici della linea.
Sintassi |
buffer_by_m(geometry, [segments=8]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Buffer larghezza variabile (valore M)
13.2.13.13. centroid
Restituisce il centro geometrico di una geometria.
Sintassi |
centroid(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Centroidi
13.2.13.14. close_line
Restituisce una linea chiusa della linea in ingresso aggiungendo il primo punto alla fine della linea, se non è già chiusa. Se la geometria non è una linea o una stringa multi-linea, il risultato sarà NULL.
Sintassi |
close_line(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.15. closest_point
Restituisce il punto della geometria1 che è più vicino alla geometria2.
Sintassi |
closest_point(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
13.2.13.16. collect_geometries
Organizza un insieme di geometrie in una geometria in parti multiple.
Lista di argomenti vari
Le parti della geometria sono specificate come argomenti separati alla funzione.
Sintassi |
collect_geometries(geometry1, geometry2, …) |
Argomenti |
|
Esempi |
|
Variabile Array
Le parti della geometria sono specificate come un array di parti della geometria.
Sintassi |
collect_geometries(array) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Raggruppa geometrie
13.2.13.17. combine
Restituisce la combinazione di due geometrie.
Sintassi |
combine(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
13.2.13.18. concave_hull
Restituisce un poligono possibilmente concavo che contiene tutti i punti della geometria
Sintassi |
concave_hull(geometry, target_percent, [allow_holes=False]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriore lettura: convex_hull
13.2.13.19. contains
Verifica se una geometria ne contiene un’altra. Restituisce TRUE se e solo se nessun punto della geometria2 si trova all’esterno della geometria1 e almeno un punto dell’interno della geometria2 si trova all’interno della geometria1.
Sintassi |
contains(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_contains
13.2.13.20. convex_hull
Restituisce l’inviluppo convesso di una geometria. Rappresenta la minima geometria convessa che racchiude tutte le geometrie dell’insieme.
Sintassi |
convex_hull(geometry) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: concave_hull, Poligono convesso algorithm
13.2.13.21. crosses
Verifica se una geometria ne attraversa un’altra. Restituisce TRUE se le geometrie fornite hanno alcuni, ma non tutti, i punti interni in comune.
Sintassi |
crosses(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: overlay_crosses
13.2.13.22. densify_by_count
Prende una geometria poligonale o lineare e ne genera una nuova in cui le geometrie hanno un numero maggiore di vertici rispetto a quella originale.
Sintassi |
densify_by_count(geometry, vertices) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: Infittisci secondo un conteggio algoritmo
13.2.13.23. densify_by_distance
Prende una geometria poligonale o lineare e ne genera una nuova in cui le geometrie vengono densificate aggiungendo vertici supplementari sui bordi che hanno una distanza massima pari all’intervallo di distanza specificato.
Sintassi |
densify_by_distance(geometry, distance) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: Infittisci secondo un intervallo algoritmo
13.2.13.24. difference
Restituisce una geometria che rappresenta la parte di geometria1 che non si interseca con geometria2.
Sintassi |
difference(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Differenza
13.2.13.25. disjoint
Verifica se le geometrie non si intersecano spazialmente. Restituisce TRUE se le geometrie non condividono alcuno spazio.
Sintassi |
disjoint(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_disjoint
13.2.13.26. distance
Restituisce la distanza minima (basata sul riferimento spaziale) tra due geometrie in unità proiettate.
Sintassi |
distance(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
13.2.13.27. distance_to_vertex
Restituisce la distanza lungo la geometria ad un vertice specificato.
Sintassi |
distance_to_vertex(geometry, vertex) |
Argomenti |
|
Esempi |
|
13.2.13.28. end_point
Restituisce l’ultimo nodo di una geometria.
Sintassi |
end_point(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Estrai vertici specifici
13.2.13.29. exif_geotag
Crea una geometria di punti dai geotag exif di un file immagine.
Sintassi |
exif_geotag(path) |
Argomenti |
|
Esempi |
|
13.2.13.30. extend
Estende l’inizio e la fine della geometria di una linea di una quantità specificata. Le linee sono estese usando il rilevamento del primo e dell’ultimo segmento della linea. Per una multilinea, tutte le parti sono estese. Le distanze sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
extend(geometry, start_distance, end_distance) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Estendi linee algoritmo
13.2.13.31. exterior_ring
Restituisce una linea che rappresenta l’anello esterno di una geometria poligonale. Se la geometria non è un poligono, il risultato sarà NULL.
Sintassi |
exterior_ring(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.32. extrude
Restituisce una versione estrusa della geometria (Multi-)Curve o (Multi-)Linestringa in ingresso con un’estensione specificata da x e y.
Sintassi |
extrude(geometry, x, y) |
Argomenti |
|
Esempi |
|
13.2.13.33. flip_coordinates
Restituisce una copia della geometria con le coordinate x e y scambiate. Utile per riparare le geometrie che hanno avuto i loro valori di latitudine e longitudine invertiti.
Sintassi |
flip_coordinates(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Scambia le coordinate X e Y
13.2.13.34. force_polygon_ccw
Forza una geometria a rispettare la convenzione per cui gli anelli esterni sono in senso antiorario e quelli interni in senso orario.
Sintassi |
force_polygon_ccw(geometry) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: force_polygon_cw, force_rhr
13.2.13.35. force_polygon_cw
Forza una geometria a rispettare la convenzione per cui gli anelli esterni sono in senso orario e quelli interni in senso antiorario.
Sintassi |
force_polygon_cw(geometry) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: force_polygon_ccw, force_rhr
13.2.13.36. force_rhr
Costringe una geometria a rispettare la regola della mano destra, secondo la quale l’area delimitata da un poligono si trova a destra del confine. In particolare, l’anello esterno è orientato in senso orario e gli anelli interni in senso antiorario. A causa dell’incoerenza nella definizione della regola della mano destra, in alcuni contesti si raccomanda di utilizzare la funzione esplicita force_polygon_cw.
Sintassi |
force_rhr(geometry) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: Forza regola della mano destra algorithm, force_polygon_ccw, force_polygon_cw
13.2.13.37. geom_from_gml
Restituisce una geometria da una rappresentazione GML della geometria.
Sintassi |
geom_from_gml(gml) |
Argomenti |
|
Esempi |
|
13.2.13.38. geom_from_wkb
Restituisce una geometria generata da una rappresentazione Well-Known Binary (WKB).
Sintassi |
geom_from_wkb(binary) |
Argomenti |
|
Esempi |
|
13.2.13.39. geom_from_wkt
Restituisce una geometria generata da una rappresentazione Well-Known Text (WKT).
Sintassi |
geom_from_wkt(text) |
Argomenti |
|
Esempi |
|
13.2.13.40. geom_to_wkb
Restituisce la rappresentazione Well-Known Binary (WKB) di una geometria
Sintassi |
geom_to_wkb(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.41. geom_to_wkt
Restituisce la rappresentazione Well-Known Text (WKT) della geometria senza metadati SRID.
Sintassi |
geom_to_wkt(geometry, [precision=8]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.42. $geometry
Restituisce la geometria dell’elemento corrente. Può essere utilizzato per l’elaborazione con altre funzioni. **Attenzione: questa funzione è deprecata. Si raccomanda di utilizzare la variabile sostitutiva @geometria.
Sintassi |
$geometry |
Esempi |
|
13.2.13.43. geometry
Restituisce la geometria di un elemento
Sintassi |
geometry(feature) |
Argomenti |
|
Esempi |
|
13.2.13.44. geometry_n
Restituisce una geometria specifica da una raccolta di geometrie o NULL se la geometria in ingresso non è una raccolta. Restituisce anche una parte di una geometria multi parte.
Sintassi |
geometry_n(geometry, index) |
Argomenti |
|
Esempi |
|
13.2.13.45. geometry_type
Restituisce un valore stringa che descrive il tipo di una geometria (Punto, Linea o Poligono)
Sintassi |
geometry_type(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.46. hausdorff_distance
Restituisce la distanza Hausdorff tra due geometrie. Questa è fondamentalmente una misura di quanto simili o dissimili siano 2 geometrie, con una distanza più bassa che indica geometrie più simili.
La funzione può essere eseguita con un argomento opzionale densify fraction. Se non specificato, viene utilizzata un’approssimazione alla distanza standard di Hausdorff. Questa approssimazione è esatta o abbastanza vicina per un ampio sottoinsieme di casi utili. Esempi di questi sono:
Calcolo della distanza tra Linestrings che sono approssimativamente parallele tra loro e approssimativamente uguali in lunghezza. Questo accade nelle reti lineari appaiate.
Verifica della somiglianza delle geometrie.
Se l’approssimazione predefinita fornita da questo metodo è insufficiente, specifica l’argomento opzionale densify fraction. Specificando questo argomento si esegue una densificazione dei segmenti prima di calcolare la distanza Hausdorff discreta. Il parametro imposta la frazione di cui densificare ogni segmento. Ogni segmento sarà diviso in un numero di sottosegmenti di uguale lunghezza, la cui frazione della lunghezza totale è più vicina alla frazione data. Diminuendo il parametro densify fraction la distanza restituita si avvicinerà alla vera distanza di Hausdorff per le geometrie.
Sintassi |
hausdorff_distance(geometry1, geometry2, [densify_fraction]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.47. inclination
Restituisce l’inclinazione misurata dallo zenit (0) al nadir (180) del punto_a al punto_b.
Sintassi |
inclination(point_a, point_b) |
Argomenti |
|
Esempi |
|
13.2.13.48. interior_ring_n
Restituisce un anello interno specifico da una geometria poligonale, o NULL se la geometria non è un poligono.
Sintassi |
interior_ring_n(geometry, index) |
Argomenti |
|
Esempi |
|
13.2.13.49. intersection
Restituisce una geometria che rappresenta la porzione condivisa di due geometrie.
Sintassi |
intersection(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Intersezione
13.2.13.50. intersects
Verifica se una geometria ne interseca un’altra. Restituisce TRUE se le geometrie si intersecano spazialmente (condividono una qualsiasi porzione di spazio) e false in caso contrario.
Sintassi |
intersects(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_intersects
13.2.13.51. intersects_bbox
Verifica se il rettangolo di selezione di una geometria si sovrappone al rettangolo di selezione di un’altra geometria. Restituisce TRUE se le geometrie intersecano spazialmente il rettangolo di selezione definito e false in caso contrario.
Sintassi |
intersects_bbox(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
13.2.13.52. is_closed
Restituisce TRUE se una stringa di linee è chiusa (i punti iniziali e finali sono coincidenti), o false se una stringa di linee non è chiusa. Se la geometria non è una stringa di linee, il risultato sarà NULL.
Sintassi |
is_closed(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.53. is_empty
Restituisce TRUE se una geometria è vuota (senza coordinate), false se la geometria non è vuota e NULL se non esiste alcuna geometria. Vedere anche is_empty_or_null.
Sintassi |
is_empty(geometry) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: is_empty_or_null
13.2.13.54. is_empty_or_null
Restituisce TRUE se una geometria è NULL o vuota (senza coordinate) o false altrimenti. Questa funzione è simile all’espressione “$geometry IS NULL or is_empty($geometry)”
Sintassi |
is_empty_or_null(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.55. is_multipart
Returns TRUE if the geometry is of Multi type.
Sintassi |
is_multipart(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.56. is_valid
Restituisce TRUE se una geometria è valida; se è formata correttamente in 2D secondo le regole OGC.
Sintassi |
is_valid(geometry) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: make_valid, Controllo validità algorithm
13.2.13.57. $length
Restituisce la lunghezza di una stringa di linee. Se hai bisogno della lunghezza di un bordo di un poligono, usa invece $perimetro. La lunghezza calcolata da questa funzione rispetta sia l’impostazione dell’ellissoide del progetto corrente che le impostazioni dell’unità di distanza. Per esempio, se è stato impostato un ellissoide per il progetto, allora la lunghezza calcolata sarà ellissoidale, e se non è impostato alcun ellissoide, allora la lunghezza calcolata sarà planimetrica.
Sintassi |
$length |
Esempi |
|
13.2.13.58. length
Restituisce il numero di caratteri in una stringa o la lunghezza di una stringa geometrica.
Variabile Operatori stringa
Restituisce il numero di caratteri in una stringa.
Sintassi |
length(string) |
Argomenti |
|
Esempi |
|
Variabile geometria
Calcola la lunghezza di un oggetto geometria linea. I calcoli sono sempre planimetrici nel Sistema di Riferimento Spaziale (SRS) di questa geometria, e le unità della lunghezza restituita corrisponderanno alle unità dell’SR. Questo differisce dai calcoli eseguiti dalla funzione $length, che eseguirà calcoli ellissoidali basati sulle impostazioni di ellissoide e unità di distanza del progetto.
Sintassi |
length(geometry) |
Argomenti |
|
Esempi |
|
Further reading: straight_distance_2d
13.2.13.59. length3D
Calcola la lunghezza 3D di un oggetto linea della geometria. Se la geometria non è un oggetto linea 3D, restituisce la sua lunghezza 2D. I calcoli sono sempre planimetrici nel Sistema di Riferimento Spaziale (SR) di questa geometria, e le unità della lunghezza restituita corrisponderanno alle unità dell’SR. Questo differisce dai calcoli eseguiti dalla funzione $length, che eseguirà calcoli ellissoidali basati sulle impostazioni dell’ellissoide e dell’unità di distanza del progetto.
Sintassi |
length3D(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.60. line_interpolate_angle
Restituisce l’angolo parallelo alla geometria ad una distanza specificata lungo una geometria di tipo linestring. Gli angoli sono in gradi in senso orario da nord.
Sintassi |
line_interpolate_angle(geometry, distance) |
Argomenti |
|
Esempi |
|
13.2.13.61. line_interpolate_point
Restituisce il punto interpolato di una distanza specificata lungo la geometria di una stringa di linee.
Sintassi |
line_interpolate_point(geometry, distance) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Interpola punto sulla linea
13.2.13.62. line_locate_point
Restituisce la distanza lungo una linestring corrispondente alla posizione più vicina alla linestring di una geometria puntuale specificata
Sintassi |
line_locate_point(geometry, point) |
Argomenti |
|
Esempi |
|
13.2.13.63. line_merge
Restituisce una geometria LineString o MultiLineString, dove tutte le LineString collegate dalla geometria di input sono state fuse in una singola stringa di linee. Questa funzione restituisce NULL se viene passata una geometria che non è una LineString/MultiLineString.
Sintassi |
line_merge(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.64. line_substring
Restituisce la porzione della geometria di una linea (o curva) che cade tra le distanze iniziale e finale specificate (misurate dall’inizio della linea). I valori Z e M sono interpolati linearmente dai valori esistenti.
Sintassi |
line_substring(geometry, start_distance, end_distance) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Sottostringa di Linea
13.2.13.65. m
Restituisce il valore m (misura) di una geometria di punti.
Sintassi |
m(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.66. m_max
Restituisce il valore massimo m (misura) di una geometria.
Sintassi |
m_max(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.67. m_min
Restituisce il valore minimo m (misura) di una geometria.
Sintassi |
m_min(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.68. main_angle
Restituisce l’angolo dell’asse lungo (in senso orario, in gradi dal Nord) del rettangolo di delimitazione minimo orientato, che copre completamente la geometria.
Sintassi |
main_angle(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.69. make_circle
Crea un poligono circolare.
Sintassi |
make_circle(center, radius, [segments=36]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.70. make_ellipse
Crea un poligono ellittico.
Sintassi |
make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, [segments=36]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.71. make_line
Crea una geometria lineare da una serie di geometrie punto.
Lista di argomenti vari
I vertici delle linee sono specificati come argomenti separati alla funzione.
Sintassi |
make_line(point1, point2, …) |
Argomenti |
|
Esempi |
|
Variabile Array
I vertici della linea sono specificati come un array di punti.
Sintassi |
make_line(array) |
Argomenti |
|
Esempi |
|
13.2.13.72. make_point
Crea una geometria punto da un valore x e y (e z e m opzionali).
Sintassi |
make_point(x, y, [z], [m]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.73. make_point_m
Crea una geometria punto da una coordinata x, y e un valore m.
Sintassi |
make_point_m(x, y, m) |
Argomenti |
|
Esempi |
|
13.2.13.74. make_polygon
Crea una geometria poligonale da un anello esterno e da una serie opzionale di geometrie di anelli interni.
Sintassi |
make_polygon(outerRing, [innerRing1], [innerRing2], …) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.75. make_rectangle_3points
Crea un rettangolo da 3 punti.
Sintassi |
make_rectangle_3points(point1, point2, point3, [option=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.76. make_regular_polygon
Crea un poligono regolare.
Sintassi |
make_regular_polygon(center, radius, number_sides, [circle=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.77. make_square
Crea un quadrato da una diagonale.
Sintassi |
make_square(point1, point2) |
Argomenti |
|
Esempi |
|
13.2.13.78. make_triangle
Crea un poligono triangolare.
Sintassi |
make_triangle(point1, point2, point3) |
Argomenti |
|
Esempi |
|
13.2.13.79. make_valid
Restituisce una geometria valida o una geometria vuota se non è stato possibile renderla valida.
Sintassi |
make_valid(geometry, [method=structure], [keep_collapsed=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriore lettura: is_valid, Ripara geometrie algoritmo
13.2.13.80. minimal_circle
Restituisce il cerchio minimo che racchiude una geometria. Rappresenta il cerchio minimo che racchiude tutte le geometrie dell’insieme.
Sintassi |
minimal_circle(geometry, [segments=36]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Circonferenza circoscritta minima
13.2.13.81. nodes_to_points
Restituisce una geometria multipunto che comprende ogni nodo della geometria in ingresso.
Sintassi |
nodes_to_points(geometry, [ignore_closing_nodes=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: :algoritmo ref:qgisextractvertices
13.2.13.82. num_geometries
Restituisce il numero di geometrie in un insieme di geometrie o il numero di parti in una geometria a parti multiple. La funzione restituisce NULL se la geometria in ingresso non è un insieme.
Sintassi |
num_geometries(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.83. num_interior_rings
Restituisce il numero di anelli interni in un poligono o in una insieme di geometrie differenti, o NULL se la geometria in ingresso non è un poligono o un insieme di geometrie differenti.
Sintassi |
num_interior_rings(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.84. num_points
Restituisce il numero di vertici di una geometria.
Sintassi |
num_points(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.85. num_rings
Restituisce il numero di anelli (compresi quelli esterni) in un poligono o in un insieme di geometrie differenti, o NULL se la geometria di input non è un poligono o un insieme di geometrie differenti.
Sintassi |
num_rings(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.86. offset_curve
Restituisce una geometria formata dall” offset di una geometria con una stringa di linee a lato. Le distanze sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
offset_curve(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Linee di offset
13.2.13.87. order_parts
Ordina le parti di una MultiGeometry secondo un determinato criterio
Sintassi |
order_parts(geometry, orderby, [ascending=true]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.88. oriented_bbox
Restituisce una geometria che rappresenta il rettangolo di delimitazione orientato minimo di una geometria di input.
Sintassi |
oriented_bbox(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Perimetro di delimitazione minimo orientato
13.2.13.89. overlaps
Verifica se una geometria si sovrappone a un’altra. Restituisce TRUE se le geometrie condividono lo spazio, hanno la stessa dimensione, ma non sono completamente contenute l’una dall’altra.
Sintassi |
overlaps(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
13.2.13.90. overlay_contains
Restituisce se l’elemento corrente ha elementi di un layer di destinazione, o un array di risultati basati su espressioni per gli elementi del layer di destinazione contenuti nell’elemento corrente.
Leggi di più sul sottostante predicato «Contains» di GEOS, come descritto nella funzione PostGIS ST_Contains.
Sintassi |
overlay_contains(layer, [expression], [filter], [limit], [cache=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo contains, array manipulation, Seleziona per posizione
13.2.13.91. overlay_crosses
Restituisce se l’elemento corrente attraversa spazialmente almeno un elemento di un layer di destinazione, o un array di risultati basati sull’espressione per gli elementi nel layer di destinazione attraversato dall’elemento corrente.
Leggi di più sul sottostante predicato GEOS «Crosses», come descritto nella funzione PostGIS ST_Crosses.
Sintassi |
overlay_crosses(layer, [expression], [filter], [limit], [cache=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo crosses, array manipulation, Seleziona per posizione
13.2.13.92. overlay_disjoint
Restituisce se l’elemento corrente è spazialmente disgiunto da tutti gli elementi di un layer di destinazione, o un array di risultati basati sull’espressione per gli elementi nel layer di destinazione che sono disgiunte dall’elemento corrente.
Leggi di più sul sottostante predicato «Disjoint» di GEOS, come descritto nella funzione PostGIS ST_Disjoint.
Sintassi |
overlay_disjoint(layer, [expression], [filter], [limit], [cache=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo disjoint, array manipulation, Seleziona per posizione
13.2.13.93. overlay_equals
Restituisce se l’elemento corrente è spazialmente uguale ad almeno un elemento di un layer di destinazione, o un array di risultati basati su espressioni per gli elementi nel layer di destinazione che sono spazialmente uguali all’elemento corrente.
Leggi di più sul sottostante predicato «Equals» di GEOS, come descritto nella funzione PostGIS ST_Equals.
Sintassi |
overlay_equals(layer, [expression], [filter], [limit], [cache=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo array manipulation, Seleziona per posizione
13.2.13.94. overlay_intersects
Restituisce se l’elemento corrente interseca spazialmente almeno un elemento di un layer di destinazione, o un array di risultati basati sull’espressione per gli elementi nel layer di destinazione intersecate dall’elemento corrente.
Leggi di più sul sottostante predicato «Intersects» di GEOS, come descritto nella funzione PostGIS ST_Intersects.
Sintassi |
overlay_intersects(layer, [expression], [filter], [limit], [cache=false], [min_overlap], [min_inscribed_circle_radius], [return_details], [sort_by_intersection_size]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo intersects, array manipulation, Seleziona per posizione
13.2.13.95. overlay_nearest
Restituisce se l’elemento corrente ha elemento(i) di un layer di destinazione entro una data distanza, o un array di risultati basati su espressioni per gli elementi nel layer di destinazione entro una distanza dall’elemento corrente.
Nota: questa funzione può essere lenta e consumare molta memoria per i layer grandi.
Sintassi |
overlay_nearest(layer, [expression], [filter], [limit=1], [max_distance], [cache=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo array manipulation, Unisci attributi dal vettore più vicino
13.2.13.96. overlay_touches
Restituisce se l’elemento corrente tocca spazialmente almeno un elemento di un layer di destinazione, o un array di risultati basati sull’espressione per gli elementi nel layer di destinazione toccate dall’elemento corrente.
Leggi di più sul sottostante predicato «Touches» di GEOS, come descritto nella funzione PostGIS ST_Touches.
Sintassi |
overlay_touches(layer, [expression], [filter], [limit], [cache=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo touches, array manipulation, Seleziona per posizione
13.2.13.97. overlay_within
Restituisce se l’elemento corrente è spazialmente all’interno di almeno un elemento di un layer di destinazione, o un array di risultati basati sull’espressione per gli elementi nel layer di destinazione che contengono l’elemento corrente.
Leggi di più sul sottostante predicato «Within» di GEOS, come descritto nella funzione PostGIS ST_Within.
Sintassi |
overlay_within(layer, [expression], [filter], [limit], [cache=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo within, array manipulation, Seleziona per posizione
13.2.13.98. $perimeter
Restituisce la lunghezza del perimetro dell’elemento corrente. Il perimetro calcolato da questa funzione rispetta sia l’impostazione dell’ellissoide del progetto corrente che le impostazioni dell’unità di distanza. Per esempio, se un ellissoide è stato impostato per il progetto, allora il perimetro calcolato sarà ellissoidale, e se nessun ellissoide è impostato, allora il perimetro calcolato sarà planimetrico.
Sintassi |
$perimeter |
Esempi |
|
13.2.13.99. perimeter
Restituisce il perimetro di un oggetto geometrico poligono. I calcoli sono sempre planimetrici nel Sistema di Riferimento Spaziale (SR) di questa geometria, e le unità del perimetro restituito corrisponderanno alle unità dell’SR. Questo differisce dai calcoli eseguiti dalla funzione $perimeter, che eseguirà calcoli ellissoidali basati sulle impostazioni dell’ellissoide e dell’unità di distanza del progetto.
Sintassi |
perimeter(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.100. point_n
Restituisce un nodo specifico da una geometria.
Sintassi |
point_n(geometry, index) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Estrai vertici specifici
13.2.13.101. point_on_surface
Restituisce un punto il cui posizionamento è sicuro sulla superficie di una geometria.
Sintassi |
point_on_surface(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Punto sulla superficie
13.2.13.102. pole_of_inaccessibility
Calcola il polo approssimativo di inaccessibilità per una superficie, che è il punto interno più distante dal confine della superficie. Questa funzione utilizza l’algoritmo “polylabel” (Vladimir Agafonkin, 2016), che è un approccio iterativo per trovare il vero polo di inaccessibilità entro una tolleranza specificata. Tolleranze più precise richiedono più iterazioni e richiederanno più tempo per il calcolo.
Sintassi |
pole_of_inaccessibility(geometry, tolerance) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Polo di inaccessibilità
13.2.13.103. project
Restituisce un punto proiettato da un punto di partenza utilizzando una distanza, un rilevamento (azimut) e un’elevazione in radianti.
Sintassi |
project(point, distance, azimuth, [elevation]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo:ref:qgisprojectpointcartesian
13.2.13.104. relate
Verifica la rappresentazione Dimensional Extended 9 Intersection Model (DE-9IM) della relazione tra due geometrie.
Variabile Relazioni
Restituisce la rappresentazione Dimensional Extended 9 Intersection Model (DE-9IM) della relazione tra due geometrie.
Sintassi |
relate(geometry, geometry) |
Argomenti |
|
Esempi |
|
Variabile abbinamento pattern
Verifica se la relazione DE-9IM tra due geometrie corrisponde a un pattern specificato.
Sintassi |
relate(geometry, geometry, pattern) |
Argomenti |
|
Esempi |
|
13.2.13.105. reverse
Inverte la direzione di una linea invertendo l’ordine dei suoi vertici.
Sintassi |
reverse(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Inverti verso linea
13.2.13.106. rotate
Restituisce una versione ruotata di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
rotate(geometry, rotation, [center=NULL], [per_part=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.107. roundness
Calcola quanto una forma poligonale è vicina a un cerchio. La funzione restituisce TRUE quando la forma del poligono è un cerchio perfetto e 0 quando è completamente piatta.
Sintassi |
roundness(geometry) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: Rotondità algoritmo
13.2.13.108. scale
Restituisce una versione in scala di una geometria. I calcoli sono effettuati nel sistema di riferimento spaziale della geometria.
Sintassi |
scale(geometry, x_scale, y_scale, [center]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.109. segments_to_lines
Restituisce una geometria multi-linea che consiste in una linea per ogni segmento nella geometria in ingresso.
Sintassi |
segments_to_lines(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Esplodi linee algoritmo
13.2.13.111. shortest_line
Restituisce la linea più breve che unisce la geometria1 alla geometria2. La linea risultante inizierà alla geometria1 e finirà alla geometria2.
Sintassi |
shortest_line(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
13.2.13.112. simplify
Semplifica una geometria rimuovendo i nodi usando una soglia basata sulla distanza (per esempio l’algoritmo di Douglas Peucker). L’algoritmo preserva le grandi deviazioni nelle geometrie e riduce il numero di vertici in segmenti quasi rettilinei.
Sintassi |
simplify(geometry, tolerance) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Semplifica
13.2.13.113. simplify_vw
Semplifica una geometria rimuovendo i nodi usando una soglia basata sull’area (cioè l’algoritmo Visvalingam-Whyatt). L’algoritmo rimuove i vertici che creano piccole aree nelle geometrie, ad esempio piccoli spicchi o segmenti quasi dritti.
Sintassi |
simplify_vw(geometry, tolerance) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Semplifica
13.2.13.114. single_sided_buffer
Restituisce una geometria formata dal buffering di un solo lato di una geometria lineare. Le distanze sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
single_sided_buffer(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Buffer su un solo lato
13.2.13.115. sinuosity
Restituisce la sinuosità di una curva, che è il rapporto tra la lunghezza della curva e la distanza rettilinea (2D) tra i suoi punti finali.
Sintassi |
sinuosity(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.116. smooth
Smussa una geometria aggiungendo nodi extra che arrotondano gli angoli della geometria. Se le geometrie di input contengono valori Z o M, anche questi saranno smussati e la geometria di output manterrà la stessa dimensionalità della geometria di input.
Sintassi |
smooth(geometry, [iterations=1], [offset=0.25], [min_length=-1], [max_angle=180]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Lisciatura
13.2.13.117. square_wave
Costruisce onde quadrate/rettangolari lungo il confine di una geometria.
Sintassi |
square_wave(geometry, wavelength, amplitude, [strict=False]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.118. square_wave_randomized
Costruisce onde quadrate/rettangolari randomizzate lungo il confine di una geometria.
Sintassi |
square_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.119. start_point
Restituisce il primo nodo di una geometria.
Sintassi |
start_point(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Estrai vertici specifici
13.2.13.120. straight_distance_2d
Restituisce la distanza diretta/euclidea tra il primo e l’ultimo vertice di una geometria. La geometria deve essere una curva (circularstring, linestring).
Sintassi |
straight_distance_2d(geometry) |
Argomenti |
|
Esempi |
|
Further reading: length
13.2.13.121. sym_difference
Restituisce una geometria che rappresenta le porzioni di due geometrie che non si intersecano.
Sintassi |
sym_difference(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Differenza simmetrica
13.2.13.122. tapered_buffer
Crea un buffer lungo la geometria lineare dove il diametro del buffer varia uniformemente sulla lunghezza della linea.
Sintassi |
tapered_buffer(geometry, start_width, end_width, [segments=8]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Buffer arrotondati algoritmo
13.2.13.123. touches
Verifica se una geometria ne tocca un’altra. Restituisce TRUE se le geometrie hanno almeno un punto in comune, ma i loro interni non si intersecano.
Sintassi |
touches(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_touches
13.2.13.124. transform
Restituisce la geometria trasformata da un SR di origine a un SR di destinazione.
Sintassi |
transform(geometry, source_auth_id, dest_auth_id) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: :algoritmo ref:qgisreprojectlayer
13.2.13.125. translate
Restituisce una versione traslata di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
translate(geometry, dx, dy) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Trasla
13.2.13.126. triangular_wave
Costruisce onde triangolari lungo il confine di una geometria.
Sintassi |
triangular_wave(geometry, wavelength, amplitude, [strict=False]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.127. triangular_wave_randomized
Costruisce onde triangolari randomizzate lungo il confine di una geometria.
Sintassi |
triangular_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.128. union
Restituisce una geometria che rappresenta l’unione dell’insieme di punti delle geometrie.
Sintassi |
union(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
13.2.13.129. wave
Costruisce onde tondeggianti (sinusoidali) lungo i confini di una geometria.
Sintassi |
wave(geometry, wavelength, amplitude, [strict=False]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.130. wave_randomized
Costruisce onde curve (sinusoidali) randomizzate lungo il confine di una geometria.
Sintassi |
wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.13.131. wedge_buffer
Restituisce un buffer a forma di cuneo originato da una geometria di punti.
Sintassi |
wedge_buffer(center, azimuth, width, outer_radius, [inner_radius=0.0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: algoritmo Crea buffer a spicchi
13.2.13.132. within
Verifica se una geometria è all’interno di un’altra. Restituisce VERO se la geometria1 è completamente all’interno della geometria2.
Sintassi |
within(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_within
13.2.13.133. $x
Restituisce la coordinata x dell’elemento del punto corrente. Se l’elemento è una elemento multipunto, allora verrà restituita la coordinata x del primo punto.
Sintassi |
$x |
Esempi |
|
13.2.13.134. x
Restituisce la coordinata x di una geometria puntiforme, o la coordinata x del centroide per una geometria non puntiforme.
Sintassi |
x(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.135. $x_at
Restituisce una coordinata x della geometria dell’elemento corrente.
Sintassi |
$x_at(i) |
Argomenti |
|
Esempi |
|
13.2.13.136. x_max
Restituisce la coordinata x massima di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
x_max(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.137. x_min
Restituisce la coordinata x minima di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
x_min(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.138. $y
Restituisce la coordinata y dell’elemento puntuale corrente. Se l’elemento è un elemento multipunto, allora verrà restituita la coordinata y del primo punto.
Sintassi |
$y |
Esempi |
|
13.2.13.139. y
Restituisce la coordinata y di una geometria punto, o la coordinata y del centroide per una geometria non puntuale.
Sintassi |
y(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.140. $y_at
Recupera una coordinata y della geometria dall’elemento corrente.
Sintassi |
$y_at(i) |
Argomenti |
|
Esempi |
|
13.2.13.141. y_max
Restituisce la coordinata y massima di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
y_max(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.142. y_min
Restituisce la coordinata y minima di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
y_min(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.143. $z
Restituisce il valore z dell’elemento puntuale corrente se è 3D. Se l’elemento è multipunto verrà restituito il valore z del primo punto.
Sintassi |
$z |
Esempi |
|
13.2.13.144. z
Restituisce la coordinata z di una geometria puntuale, o NULL se la geometria non ha un valore z.
Sintassi |
z(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.145. z_max
Restituisce la coordinata z massima di una geometria, o NULL se la geometria non ha un valore z.
Sintassi |
z_max(geometry) |
Argomenti |
|
Esempi |
|
13.2.13.146. z_min
Restituisce la coordinata z minima di una geometria, o NULL se la geometria non ha un valore z.
Sintassi |
z_min(geometry) |
Argomenti |
|
Esempi |
|
13.2.14. Funzioni per il Layout
Questo gruppo contiene funzioni per manipolare le proprietà degli oggetti del layout di stampa.
13.2.14.1. item_variables
Restituisce una mappa di variabili da un oggetto di layout all’interno di questo layout di stampa.
Sintassi |
item_variables(id) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Lista delle variables <expression_variables> predefinite
13.2.14.2. map_credits
Restituisce un elenco di stringhe di crediti (diritti d’uso) per i livelli mostrati in un elemento della mappa di layout.
Sintassi |
map_credits(id, [include_layer_names=false], [layer_name_separator=”: “]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Questa funzione richiede le proprietà dei metadati :ref:”Access <metadatamenu>” dei layer da compilare.
13.2.15. Layer della Mappa
Questo gruppo contiene un elenco dei layer disponibili nel progetto corrente e, per ogni layer, i relativi campi (memorizzati nel dataset, virtuali o ausiliari e provenienti da join). I campi possono essere interagiti nello stesso modo indicato in Campi e Valori, tranne per il fatto che un doppio clic aggiungerà il nome come stringa (con virgolette singole) all’espressione invece che come riferimento al campo, dato che non appartengono al layer attivo. Questo offre un modo pratico per scrivere espressioni che si riferiscono a diversi layer, come quando si eseguono le query aggregates, attribute o spatial.
Fornisce anche alcune comode funzioni per manipolare i layer.
13.2.15.1. decode_uri
Prende un layer e decodifica l’uri del fornitore di dati sottostante. Dipende dal dataprovider, quali dati sono disponibili.
Sintassi |
decode_uri(layer, [part]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.15.2. layer_property
Restituisce una proprietà del layer o un valore di metadati corrispondente.
Sintassi |
layer_property(layer, property) |
Argomenti |
|
Esempi |
|
13.2.16. Funzioni mappa
Questo gruppo contiene funzioni per creare o manipolare chiavi e valori di strutture di dati cartografici (noti anche come oggetti dizionario, coppie chiave-valore o array associativi). A differenza di :ref:`list data structure ` dove l’ordine dei valori è importante, l’ordine delle coppie chiave-valore nell’oggetto mappa non è rilevante e i valori sono identificati dalle loro chiavi.
13.2.16.1. from_json
Carica una stringa formattata in JSON.
Sintassi |
from_json(string) |
Argomenti |
|
Esempi |
|
13.2.16.2. hstore_to_map
Crea una mappa da una stringa formattata hstore.
Sintassi |
hstore_to_map(string) |
Argomenti |
|
Esempi |
|
13.2.16.3. map
Restituisce una mappa contenente tutte le chiavi e i valori passati come coppia di parametri.
Sintassi |
map(key1, value1, key2, value2, …) |
Argomenti |
|
Esempi |
|
13.2.16.4. map_akeys
Restituisce tutte le chiavi di una mappa come array.
Sintassi |
map_akeys(map) |
Argomenti |
|
Esempi |
|
13.2.16.5. map_avals
Restituisce tutti i valori di una mappa come array.
Sintassi |
map_avals(map) |
Argomenti |
|
Esempi |
|
13.2.16.6. map_concat
Restituisce una mappa con tutte le entità delle mappe fornite. Se due mappe contengono la stessa chiave, viene restituito il valore della seconda mappa.
Sintassi |
map_concat(map1, map2, …) |
Argomenti |
|
Esempi |
|
13.2.16.7. map_delete
Restituisce una mappa con la chiave data e il suo valore corrispondente eliminato.
Sintassi |
map_delete(map, key) |
Argomenti |
|
Esempi |
|
13.2.16.8. map_exist
Restituisce TRUE se la chiave indicata esiste nella mappa.
Sintassi |
map_exist(map, key) |
Argomenti |
|
Esempi |
|
13.2.16.9. map_get
Restituisce il valore di una mappa, data la sua chiave. Restituisce NULL se la chiave non esiste.
Sintassi |
map_get(map, key) |
Argomenti |
|
Esempi |
|
Suggerimento
Puoi anche usare l’operatore index operator ([]) per ottenere un valore da una mappa.
13.2.16.10. map_insert
Restituisce una mappa con una chiave/valore aggiunto. Se la chiave esiste già, il suo valore viene sovrascritto.
Sintassi |
map_insert(map, key, value) |
Argomenti |
|
Esempi |
|
13.2.16.11. map_prefix_keys
Restituisce una mappa con tutte le chiavi precedute da una determinata stringa.
Sintassi |
map_prefix_keys(map, prefix) |
Argomenti |
|
Esempi |
|
13.2.16.12. map_to_hstore
Fondere gli elementi della mappa in una stringa formattata hstore.
Sintassi |
map_to_hstore(map) |
Argomenti |
|
Esempi |
|
13.2.16.13. to_json
Creare una stringa formattata JSON da una mappa, un array o un altro valore.
Sintassi |
to_json(value) |
Argomenti |
|
Esempi |
|
13.2.16.14. url_encode
Restituisce una stringa codificata in URL da una mappa. Trasforma tutti i caratteri nella loro forma correttamente codificata, producendo una stringa di query completamente conforme.
Da notare che il segno più «+» non viene convertito.
Sintassi |
url_encode(map) |
Argomenti |
|
Esempi |
|
13.2.17. Funzioni Matematiche
Questo gruppo contiene funzioni matematiche (ad es. Radice quadrata, seno e coseno).
13.2.17.1. abs
Restituisce il valore assoluto di un numero.
Sintassi |
abs(value) |
Argomenti |
|
Esempi |
|
13.2.17.2. acos
Restituisce l’inverso del coseno di un valore in radianti.
Sintassi |
acos(value) |
Argomenti |
|
Esempi |
|
13.2.17.3. asin
Restituisce il seno inverso di un valore in radianti.
Sintassi |
asin(value) |
Argomenti |
|
Esempi |
|
13.2.17.4. atan
Restituisce l’inverso dalla tangente di un valore in radianti.
Sintassi |
atan(value) |
Argomenti |
|
Esempi |
|
13.2.17.5. atan2
Restituisce l’inverso della tangente di dy/dx utilizzando i segni dei due argomenti per determinare il quadrante del risultato.
Sintassi |
atan2(dy, dx) |
Argomenti |
|
Esempi |
|
13.2.17.6. ceil
Arrotonda un numero per eccesso
Sintassi |
ceil(value) |
Argomenti |
|
Esempi |
|
13.2.17.7. clamp
Limita un valore in ingresso in un intervallo specificato.
Sintassi |
clamp(minimum, input, maximum) |
Argomenti |
|
Esempi |
|
13.2.17.8. cos
Restituisce il coseno di un angolo.
Sintassi |
cos(angle) |
Argomenti |
|
Esempi |
|
13.2.17.9. degrees
Converte da radianti a gradi.
Sintassi |
degrees(radians) |
Argomenti |
|
Esempi |
|
13.2.17.10. exp
Restituisce l’esponenziale di un valore.
Sintassi |
exp(value) |
Argomenti |
|
Esempi |
|
13.2.17.11. floor
Arrotonda un numero per difetto.
Sintassi |
floor(value) |
Argomenti |
|
Esempi |
|
13.2.17.12. ln
Restituisce il logaritmo naturale di un valore.
Sintassi |
ln(value) |
Argomenti |
|
Esempi |
|
13.2.17.13. log
Restituisce il valore del logaritmo del valore e della base indicati.
Sintassi |
log(base, value) |
Argomenti |
|
Esempi |
|
13.2.17.14. log10
Restituisce il valore del logaritmo in base 10 dell’espressione passata.
Sintassi |
log10(value) |
Argomenti |
|
Esempi |
|
13.2.17.15. max
Restituisce il valore più grande in un insieme di valori.
Sintassi |
max(value1, value2, …) |
Argomenti |
|
Esempi |
|
13.2.17.16. min
Restituisce il valore più piccolo in un insieme di valori.
Sintassi |
min(value1, value2, …) |
Argomenti |
|
Esempi |
|
13.2.17.17. pi
Restituisce il valore di pi greco per i calcoli.
Sintassi |
pi() |
Esempi |
|
13.2.17.18. radians
Converte da gradi a radianti
Sintassi |
radians(degrees) |
Argomenti |
|
Esempi |
|
13.2.17.19. rand
Restituisce un numero intero casuale all’interno dell’intervallo specificato dal parametro minimo e massimo (incluso). Se viene fornito un valore di riferimento, il valore restituito sarà sempre lo stesso, a seconda del valore di riferimento.
Sintassi |
rand(min, max, [seed=NULL]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.17.20. randf
Restituisce un numero reale casuale all’interno dell’intervallo specificato dal parametro minimo e massimo (incluso). Se viene fornito un valore di riferimento, il valore restituito sarà sempre lo stesso, a seconda del valore di riferimento.
Sintassi |
randf([min=0.0], [max=1.0], [seed=NULL]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.17.21. round
Arrotonda un numero al numero di cifre decimali.
Sintassi |
round(value, [places=0]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.17.22. scale_exp
Trasforma un dato valore da un dominio in ingresso a un intervallo in uscita utilizzando una curva esponenziale. Questa funzione può essere usata per semplificare i valori all’interno o all’esterno dell’intervallo in uscita specificato.
Sintassi |
scale_exp(value, domain_min, domain_max, range_min, range_max, exponent) |
Argomenti |
|
Esempi |
|
13.2.17.23. scale_linear
Trasforma un dato valore da un dominio in ingresso a un intervallo in uscita usando l’interpolazione lineare.
Sintassi |
scale_linear(value, domain_min, domain_max, range_min, range_max) |
Argomenti |
|
Esempi |
|
13.2.17.24. sin
Restituisce il seno di un angolo.
Sintassi |
sin(angle) |
Argomenti |
|
Esempi |
|
13.2.17.25. sqrt
Restituisce la radice quadrata di un valore.
Sintassi |
sqrt(value) |
Argomenti |
|
Esempi |
|
13.2.17.26. tan
Restituisce la tangente di un angolo.
Sintassi |
tan(angle) |
Argomenti |
|
Esempi |
|
13.2.18. Funzioni Mesh
Questo gruppo contiene funzioni che calcolano o restituiscono valori relativi alla mesh.
13.2.18.1. $face_area
Restituisce l’area della faccia corrente della mesh. L’area calcolata da questa funzione rispetta sia l’impostazione dell’ellissoide del progetto corrente che le impostazioni dell’unità di area. Per esempio, se è stato impostato un ellissoide per il progetto, allora l’area calcolata sarà ellissoidale, e se non è impostato alcun ellissoide, allora l’area calcolata sarà planimetrica.
Sintassi |
$face_area |
Esempi |
|
13.2.18.2. $face_index
Restituisce l’indice della faccia corrente della mesh.
Sintassi |
$face_index |
Esempi |
|
13.2.18.3. $vertex_as_point
Restituisce il vertice corrente come una geometria punto.
Sintassi |
$vertex_as_point |
Esempi |
|
13.2.18.4. $vertex_index
Restituisce l’indice del vertice corrente della mesh.
Sintassi |
$vertex_index |
Esempi |
|
13.2.18.5. $vertex_x
Restituisce la coordinata X del vertice corrente della mesh.
Sintassi |
$vertex_x |
Esempi |
|
13.2.18.6. $vertex_y
Restituisce la coordinata Y del vertice corrente della mesh.
Sintassi |
$vertex_y |
Esempi |
|
13.2.18.7. $vertex_z
Restituisce il valore Z del vertice corrente della mesh.
Sintassi |
$vertex_z |
Esempi |
|
13.2.19. Operatori
Questo gruppo contiene operatori (e.g., +, -, *). Si noti che per la maggior parte delle funzioni matematiche di seguito se uno dei input è NULL il risultato è NULL.
13.2.19.1. %
Resto della divisione. Prende il segno del dividendo.
Sintassi |
a % b |
Argomenti |
|
Esempi |
|
13.2.19.2. *
Multiplicazione di due valori
Sintassi |
a * b |
Argomenti |
|
Esempi |
|
13.2.19.3. +
Addizione di due valori. Se uno dei valori è NULL il risultato sarà NULL.
Sintassi |
a + b |
Argomenti |
|
Esempi |
|
13.2.19.4. -
Sottrazione di due valori. Se uno dei valori è NULL il risultato sarà NULL.
Sintassi |
a - b |
Argomenti |
|
Esempi |
|
13.2.19.5. /
Divisione di due valori
Sintassi |
a / b |
Argomenti |
|
Esempi |
|
13.2.19.6. <
Confronta due valori e valuta 1 se il valore di sinistra è inferiore a quello di destra.
Sintassi |
a < b |
Argomenti |
|
Esempi |
|
13.2.19.7. <=
Confronta due valori e valuta 1 se il valore di sinistra è minore o uguale al valore di destra.
Sintassi |
a <= b |
Argomenti |
|
Esempi |
|
13.2.19.8. <>
Confronta due valori e valuta 1 se non sono uguali.
Sintassi |
a <> b |
Argomenti |
|
Esempi |
|
13.2.19.9. =
Confronta due valori e valuta 1 se sono uguali.
Sintassi |
a = b |
Argomenti |
|
Esempi |
|
13.2.19.10. >
Confronta due valori e valuta 1 se il valore di sinistra è maggiore di quello di destra.
Sintassi |
a > b |
Argomenti |
|
Esempi |
|
13.2.19.11. >=
Confronta due valori e valuta 1 se il valore di sinistra è maggiore o uguale al valore di destra.
Sintassi |
a >= b |
Argomenti |
|
Esempi |
|
13.2.19.12. AND
Restituisce TRUE quando le condizioni a e b sono vere.
Sintassi |
a AND b |
Argomenti |
|
Esempi |
|
13.2.19.13. BETWEEN
Restituisce TRUE se il valore è compreso nell’intervallo specificato. L’intervallo è considerato comprensivo dei limiti. Per controllare l’esclusione si può usare NOT BETWEEN.
Sintassi |
valore COMPRESO tra lower_bound E higher_bound |
Argomenti |
|
Esempi |
|
Nota
value BETWEEN lower_bound AND higher_bound is the same as «value >= lower_bound AND value <= higher_bound».
Ulterior letture: NOT BETWEEN
13.2.19.14. ILIKE
Restituisce TRUE se il primo parametro corrisponde senza distinzione tra maiuscole e minuscole al pattern fornito. È possibile utilizzare LIKE al posto di ILIKE per rendere la corrispondenza sensibile alle maiuscole e alle minuscole. Funziona anche con i numeri.
Sintassi |
stringa/numero ILIKE criterio |
Argomenti |
|
Esempi |
|
13.2.19.15. IN
Restituisce TRUE se il valore viene trovato all’interno di un elenco di valori.
Sintassi |
a IN b |
Argomenti |
|
Esempi |
|
13.2.19.16. IS
Restituisce TRUE se a è uguale a b.
Sintassi |
a IS b |
Argomenti |
|
Esempi |
|
13.2.19.17. IS NOT
Restituisce TRUE se a non è uguale a b.
Sintassi |
a IS NOT b |
Argomenti |
|
Esempi |
|
13.2.19.18. LIKE
Restituisce TRUE se il primo parametro corrisponde al criterio fornito. Funziona anche con i numeri.
Sintassi |
stringa/numero LIKE criterio |
Argomenti |
|
Esempi |
|
13.2.19.19. NOT
Negare una condizione.
Sintassi |
NOT a |
Argomenti |
|
Esempi |
|
13.2.19.20. NOT BETWEEN
Restituisce TRUE se il valore non rientra nell’intervallo specificato. L’intervallo è considerato comprensivo dei limiti.
Sintassi |
valore NOT BETWEEN lower_bound AND higher_bound |
Argomenti |
|
Esempi |
|
Nota
value NOT BETWEEN lower_bound AND higher_bound è uguale a «value < lower_bound OR value > higher_bound».
Ulteriori letture: BETWEEN
13.2.19.21. OR
Restituisce TRUE quando la condizione a o b è vera.
Sintassi |
a OR b |
Argomenti |
|
Esempi |
|
13.2.19.22. []
Operatore indice. Restituisce un elemento da un array o un valore di mappa.
Sintassi |
[index] |
Argomenti |
|
Esempi |
|
13.2.19.23. ^
Potenza di due valori.
Sintassi |
a ^ b |
Argomenti |
|
Esempi |
|
13.2.19.24. ||
Unire due valori in una stringa.
Se uno dei valori è NULL il risultato sarà NULL. Vedere la funzione CONCAT per un comportamento diverso.
Sintassi |
a || b |
Argomenti |
|
Esempi |
|
13.2.19.25. ~
Esegue una corrispondenza dell’espressione regolare su un valore di stringa. I caratteri di backslash devono essere preceduti da un doppio escape (ad esempio, «\\s» per corrispondere a un carattere di spazio bianco).
Sintassi |
stringa ~ regex |
Argomenti |
|
Esempi |
|
Ulteriori letture: regexp_match
13.2.20. Funzioni di Processing
Questo gruppo contiene funzioni che operano su algoritmi di processing.
13.2.20.1. parameter
Restituisce il valore di un parametro in ingresso dell’algoritmo di processing.
Sintassi |
parameter(name) |
Argomenti |
|
Esempi |
|
13.2.21. Funzioni Raster
Questo gruppo contiene funzioni che operano sui layer raster.
13.2.21.1. raster_statistic
Restituisce statistiche da un layer raster.
Sintassi |
raster_statistic(layer, band, property) |
Argomenti |
|
Esempi |
|
13.2.21.2. raster_value
Restituisce il valore raster trovato nel punto specificato.
Sintassi |
raster_value(layer, band, point) |
Argomenti |
|
Esempi |
|
13.2.22. Funzioni relative ai record e agli attributi
Questo gruppo contiene funzioni che operano sugli identificativi dei record.
13.2.22.1. attribute
Restituisce un attributo da un elemento.
Variabile 1
Restituisce il valore di un attributo dell” elemento corrente.
Sintassi |
attribute(attribute_name) |
Argomenti |
|
Esempi |
|
Variabile 2
Permette di specificare il nome dell’elemento e dell’attributo di destinazione.
Sintassi |
attribute(feature, attribute_name) |
Argomenti |
|
Esempi |
|
13.2.22.2. attributes
Restituisce una mappa contenente tutti gli attributi di un’elemento, con i nomi del campo come chiavi della mappa.
Variabile 1
Restituisce una mappa di tutti gli attributi dell’elemento corrente.
Sintassi |
attributes() |
Esempi |
|
Variabile 2
Permette di specificare l’elemento di destinazione.
Sintassi |
attributes(feature) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Funzioni mappa
13.2.22.3. $currentfeature
Restituisce l’elemento correntemente esaminato. Può essere usata con la funzione “attribute” per valutare i valori degli attributi dell’elemento corrente. **Questa funzione è deprecata. Si raccomanda di utilizzare la variabile sostitutiva @feature.
Sintassi |
$currentfeature |
Esempi |
|
13.2.22.4. display_expression
Restituisce l’espressione di visualizzazione per un data elemento in un layer. L’espressione viene valutata per impostazione predefinita. Può essere usata con zero, uno o più argomenti, vedi sotto per i dettagli.
Nessun parametro
Se chiamata senza parametri, la funzione valuterà l’espressione di visualizzazione dell’elemento corrente nel layer corrente.
Sintassi |
display_expression() |
Esempi |
|
“feature” come parametro
Se chiamato solo con un parametro “feature”, la funzione valuterà la caratteristica specificata dal layer corrente.
Sintassi |
display_expression(feature) |
Argomenti |
|
Esempi |
|
Parametri layer e feature
Se la funzione viene chiamata sia con un layer che con una feature, valuterà l’elemento specificato dal layer specificato.
Sintassi |
display_expression(layer, feature, [evaluate=true]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.22.5. get_feature
Restituisce il primo elemento di un layer che corrisponde ad un dato valore di attributo.
Variante valore singolo
Oltre all’ID del layer, vengono specificati una singola colonna e un valore.
Sintassi |
get_feature(layer, attribute, value) |
Argomenti |
|
Esempi |
|
Variabile mappa
Insieme all’ID del layer, una mappa contenente le colonne (chiave) e il rispettivo valore da utilizzare.
Sintassi |
get_feature(layer, attribute) |
Argomenti |
|
Esempi |
|
13.2.22.6. get_feature_by_id
Restituisce l’elemento con un id su un layer.
Sintassi |
get_feature_by_id(layer, feature_id) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: $id
13.2.22.7. $id
Restituisce l’id dell’elemento della riga corrente. **Attenzione: questa funzione è deprecata. Si raccomanda di utilizzare la variabile sostitutiva @id.
Sintassi |
$id |
Esempi |
|
13.2.22.8. is_selected
Restituisce TRUE se un elemento è selezionato. Può essere usato con zero, uno o due argomenti; per i dettagli, vedere di seguito.
Nessun parametro
Se richiamata senza parametri, la funzione restituisce TRUE se l’elemento corrente nel layer corrente è selezionato.
Sintassi |
is_selected() |
Esempi |
|
“feature” come parametro
Se richiamata con il solo parametro “feature”, la funzione restituisce TRUE se l’elemento specificato del layer corrente è selezionato.
Sintassi |
is_selected(feature) |
Argomenti |
|
Esempi |
|
Due parametri
Se la funzione viene richiamata con un layer e un elemento, restituirà TRUE se viene selezionato l’elemento specificato dal layer specificato.
Sintassi |
is_selected(layer, feature) |
Argomenti |
|
Esempi |
|
13.2.22.9. maptip
Restituisce il suggerimento per un dato elemento in un layer. L’espressione viene valutata di default. Può essere usata con zero, uno o più argomenti, vedi sotto per i dettagli.
Nessun parametro
Se chiamata senza parametri, la funzione elaborerà il suggerimento dell’elemento corrente nel layer corrente.
Sintassi |
maptip() |
Esempi |
|
“feature” come parametro
Se chiamato solo con un parametro “feature”, la funzione valuterà la caratteristica specificata dal layer corrente.
Sintassi |
maptip(feature) |
Argomenti |
|
Esempi |
|
Parametri layer e feature
Se la funzione viene chiamata sia con un layer che con una feature, valuterà l’elemento specificato dal layer specificato.
Sintassi |
maptip(layer, feature, [evaluate=true]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.22.10. num_selected
Restituisce il numero di elemento selezionati su un dato layer. Per impostazione predefinita lavora sul layer su cui viene valutata l’espressione.
Sintassi |
num_selected([layer=current layer]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.22.11. represent_attributes
Restituisce una mappa con i nomi degli attributi come chiavi e i valori di rappresentazione configurati come valori. Il valore di rappresentazione degli attributi dipende dal tipo di widget configurato per ciascun attributo. Può essere usato con zero, uno o più argomenti, vedere di seguito per i dettagli.
Nessun parametro
Se chiamata senza parametri, la funzione restituisce la rappresentazione degli attributi dell’elemento corrente nel layer corrente.
Sintassi |
represent_attributes() |
Esempi |
|
“feature” come parametro
Se richiamata con il solo parametro «feature», la funzione restituirà la rappresentazione degli attributi dell’elemento specificato dal layer corrente.
Sintassi |
represent_attributes(feature) |
Argomenti |
|
Esempi |
|
Parametri layer e feature
Se chiamata con un parametro “layer” e un parametro “feature”, la funzione restituisce la rappresentazione degli attributi dell’elemento specificato dal layer specificato.
Sintassi |
represent_attributes(layer, feature) |
Argomenti |
|
Esempi |
|
Ulteriori letture: represent_value
13.2.22.12. represent_value
Restituisce il valore di rappresentazione configurato per un valore di campo. Dipende dal tipo di widget configurato. Spesso è utile per i widget “Value Map”.
Sintassi |
represent_value(value, [fieldName]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori letture: widget types, represent_attributes
13.2.22.13. sqlite_fetch_and_increment
Gestire i valori autoincrementanti nei database sqlite.
I valori predefiniti di SQlite possono essere applicati solo per l’inserimento e non preimpostati.
Questo rende impossibile acquisire una chiave primaria incrementata tramite AUTO_INCREMENT prima di creare la riga nel database. Nota a margine: con postgres, questo funziona tramite l’opzione evaluate default values.
Quando si aggiungono nuovi elementi con le relazioni, è davvero bello poter già aggiungere figli per un genitore, mentre il modulo dei genitori è ancora aperto e quindi la funzione genitore non è impegnata.
Per aggirare questa limitazione, questa funzione può essere usata per gestire i valori di sequenza in una tabella separata sui formati basati su sqlite come gpkg.
La tabella delle sequenze sarà filtrata per un id di sequenza (filter_attribute e filter_value) e il valore corrente del campo id_ sarà incrementato di 1 e il valore incrementato restituito.
Se le colonne aggiuntive richiedono di specificare dei valori, la mappa default_values può essere usata per questo scopo.
Nota
Questa funzione modifica la tabella sqlite di destinazione. È concepita per l’uso con configurazioni di valori predefiniti per gli attributi.
Quando il parametro del database è un layer e il layer è in modalità transazione, il valore sarà recuperato solo una volta durante la durata di una transazione e messo in cache e incrementato. Questo rende insicuro lavorare sullo stesso database da diversi processi in parallelo.
Sintassi |
sqlite_fetch_and_increment(database, table, id_field, filter_attribute, filter_value, [default_values]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Proprietà Progetto - Sorgenti Dati, Creare una relazione uno a molti o molti a molti
13.2.22.14. uuid
Genera un UUID (Universally Unique Identifier) per ogni riga usando il metodo Qt QUuid::createUuid.
Sintassi |
uuid([format=”WithBraces”]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.23. Relazioni
Questo gruppo contiene la lista delle relations disponibili nel progetto corrente, con la loro descrizione. Fornisce un accesso rapido all’ID della relazione per scrivere un’espressione (ad esempio con la funzione relation_aggregate) o per personalizzare un modulo.
13.2.24. Funzioni Stringa
Questo gruppo contiene le funzioni che operano sulle stringhe (ad esempio sostituisci, converti in maiuscolo).
13.2.24.1. ascii
Restituisce il codice unicode associato al primo carattere di una stringa.
Sintassi |
ascii(string) |
Argomenti |
|
Esempi |
|
13.2.24.2. char
Restituisce il carattere associato a un codice unicode.
Sintassi |
char(code) |
Argomenti |
|
Esempi |
|
13.2.24.3. concat
Concatena diverse stringhe in una sola. I valori NULL sono convertiti in stringhe vuote. Altri valori (come i numeri) sono convertiti in stringhe.
Sintassi |
concat(string1, string2, …) |
Argomenti |
|
Esempi |
|
Informazioni sulla concatenazione dei campi
Puoi anche concatenare stringhe o valori di campo usando gli operatori ||
o +`
, con alcune caratteristiche speciali:
L’operatore
+
significa anche sommare l’espressione, quindi se avete un operando intero (campo o valore numerico), questo può essere soggetto a errori ed è meglio usare gli altri:'My feature id is: ' + "gid" => triggers an error as gid returns an integer
Quando uno degli argomenti è un valore NULL, sia
||
che+
restituiranno un valore NULL. Per restituire gli altri argomenti indipendentemente dal valore NULL, potete usare la funzioneconcat
:'My feature id is: ' + NULL ==> NULL 'My feature id is: ' || NULL => NULL concat('My feature id is: ', NULL) => 'My feature id is: '
13.2.24.4. format
Formatta una stringa usando gli argomenti forniti.
Sintassi |
format(string, arg1, arg2, …) |
Argomenti |
|
Esempi |
|
13.2.24.5. format_date
Formatta un tipo di data o una stringa in un formato personalizzato. Utilizza le stringhe del formato data/ora di Qt. Vedi QDateTime::toString.
Sintassi |
format_date(datetime, format, [language]) [] indica argomenti opzionali |
||||||||||||||||||||||||||||||||||||||||||||||||
Argomenti |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Esempi |
|
13.2.24.6. format_number
Restituisce un numero formattato con il separatore nel formato del paese per le migliaia. Per impostazione predefinita viene utilizzato il locale utente corrente di QGIS. Inoltre tronca le cifre decimali al numero di posizioni fornite.
Sintassi |
format_number(number, [places=0], [language], [omit_group_separators=false], [trim_trailing_zeroes=false]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.24.7. left
Restituisce una sottostringa che contiene gli n caratteri più a sinistra della stringa.
Sintassi |
left(string, length) |
Argomenti |
|
Esempi |
|
13.2.24.8. length
Restituisce il numero di caratteri in una stringa o la lunghezza di una stringa geometrica.
Variabile Operatori stringa
Restituisce il numero di caratteri in una stringa.
Sintassi |
length(string) |
Argomenti |
|
Esempi |
|
Variabile geometria
Calcola la lunghezza di un oggetto geometria linea. I calcoli sono sempre planimetrici nel Sistema di Riferimento Spaziale (SRS) di questa geometria, e le unità della lunghezza restituita corrisponderanno alle unità dell’SR. Questo differisce dai calcoli eseguiti dalla funzione $length, che eseguirà calcoli ellissoidali basati sulle impostazioni di ellissoide e unità di distanza del progetto.
Sintassi |
length(geometry) |
Argomenti |
|
Esempi |
|
13.2.24.9. lower
Converte una stringa in lettere minuscole.
Sintassi |
lower(string) |
Argomenti |
|
Esempi |
|
13.2.24.10. lpad
Restituisce una stringa riempita a sinistra alla larghezza specificata, usando un carattere di riempimento. Se la larghezza di destinazione è inferiore alla lunghezza della stringa, la stringa viene troncata.
Sintassi |
lpad(string, width, fill) |
Argomenti |
|
Esempi |
|
13.2.24.11. regexp_match
Restituisce la prima posizione corrispondente a un’espressione regolare all’interno di una stringa unicode, o 0 se la sottostringa non viene trovata.
Sintassi |
regexp_match(input_string, regex) |
Argomenti |
|
Esempi |
|
13.2.24.12. regexp_replace
Restituisce una stringa con l’espressione regolare fornita sostituita.
Sintassi |
regexp_replace(input_string, regex, replacement) |
Argomenti |
|
Esempi |
|
13.2.24.13. regexp_substr
Restituisce la porzione di una stringa che corrisponde a un’espressione regolare fornita.
Sintassi |
regexp_substr(input_string, regex) |
Argomenti |
|
Esempi |
|
13.2.24.14. replace
Restituisce una stringa con la stringa, l’array o la mappa di stringhe fornita sostituita.
Variabile di stringa e array
Restituisce una stringa con la stringa o l’array di stringhe fornito sostituito da una stringa o un array di stringhe.
Sintassi |
replace(string, before, after) |
Argomenti |
|
Esempi |
|
Variabile mappa
Restituisce una stringa con le chiavi mappa fornite sostituite da valori accoppiati. Le chiavi di mappa più lunghe vengono elaborate per prime.
Sintassi |
replace(string, map) |
Argomenti |
|
Esempi |
|
13.2.24.15. right
Restituisce una sottostringa che contiene gli n caratteri più a destra della stringa.
Sintassi |
right(string, length) |
Argomenti |
|
Esempi |
|
13.2.24.16. rpad
Restituisce una stringa con un riempimento a destra alla larghezza specificata, usando un carattere di riempimento. Se la larghezza di destinazione è inferiore alla lunghezza della stringa, la stringa viene troncata.
Sintassi |
rpad(string, width, fill) |
Argomenti |
|
Esempi |
|
13.2.24.17. strpos
Restituisce la prima posizione corrispondente di una sottostringa all’interno di un’altra stringa, o 0 se la sottostringa non viene trovata.
Sintassi |
strpos(haystack, needle) |
Argomenti |
|
Esempi |
|
13.2.24.18. substr
Restituisce una parte di una stringa.
Sintassi |
substr(string, start, [length]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.24.19. title
Converte tutte le parole di una stringa titolo (tutte le parole minuscole con lettera maiuscola iniziale).
Sintassi |
title(string) |
Argomenti |
|
Esempi |
|
13.2.24.20. to_string
Converte un numero in stringa.
Sintassi |
to_string(number) |
Argomenti |
|
Esempi |
|
13.2.24.21. trim
Rimuove tutti gli spazi bianchi iniziali e finali (spazi, tabulazioni, ecc.) da una stringa.
Sintassi |
trim(string) |
Argomenti |
|
Esempi |
|
13.2.24.22. upper
string - la stringa da convertire in minuscolo.
Sintassi |
upper(string) |
Argomenti |
|
Esempi |
|
13.2.24.23. wordwrap
Restituisce una stringa con andata a capo in un numero massimo/minimo di caratteri.
Sintassi |
wordwrap(string, wrap_length, [delimiter_string]) [] indica argomenti opzionali |
Argomenti |
|
Esempi |
|
13.2.25. Espressioni utente
Questo gruppo contiene le espressioni salvate come user expressions.
13.2.26. Variabili
Questo gruppo contiene variabili dinamiche relative all’applicazione, al file di progetto e ad altre impostazioni. La disponibilità delle variabili dipende dal contesto:
dalla finestra di dialogo Proprietà layer
dal layout di stampa
Per usare queste variabili in un’espressione, dovrebbero essere precedute dal carattere @
(ad esempio, @row_number
).
Variabile |
Descrizione |
---|---|
algorithm_id |
L’ID univoco di un algoritmo |
animation_end_time |
Fine dell’intervallo temporale complessivo dell’animazione (come valore datetime) |
animation_interval |
Durata temporale complessiva dell’animazione (come valore di intervallo) |
animation_start_time |
Inizio dell’intervallo temporale complessivo dell’animazione (come valore datetime) |
atlas_feature |
L’elemento corrente dell’atlante (come oggetto) |
atlas_featureid |
L’ID dell’elemento corrente dell’atlante |
atlas_featurenumber |
Il numero dell’elemento corrente nel layout dell’atlante |
atlas_filename |
Il nome del file dell’atlante corrente |
atlas_geometry |
La geometria dell” elemento corrente dell’atlante |
atlas_layerid |
L’ID del layer corrente di copertura dell’atlante |
atlas_layername |
Il nome del layer corrente di copertura dell’atlante |
atlas_pagename |
Il nome della pagina corrente dell’atlante |
atlas_totalfeatures |
Il numero totale di elementi nell’atlante |
canvas_cursor_point |
L’ultima posizione del cursore sulla mappa nelle coordinate geografiche del progetto |
cluster_color |
Il colore dei simboli all’interno di un cluster, o NULL se i simboli hanno colori misti |
cluster_size |
Il numero di simboli contenuti in un cluster |
current_feature |
L’elemento che si sta modificando nel modulo degli attributi o nella riga della tabella |
current_geometry |
La geometria dell’elemento che si sta modificando nel modulo o nella riga della tabella |
current_parent_feature |
rappresenta l’elemento correntemente in fase di modifica nel modulo padre. Utilizzabile solo in un contesto di modulo incorporato. |
current_parent_geometry |
rappresenta la geometria dell’elemento correntemente in fase di modifica nel modulo padre. Utilizzabile solo in un contesto di modulo incorporato. |
form_mode |
Per cosa è usato il modulo, come AddFeatureMode, SingleEditMode, MultiEditMode, SearchMode, AggregateSearchMode o IdentifyMode come stringa. |
feature |
L’elemento corrente che viene valutato. Può essere usata con la funzione “attribute” per valutare i valori degli attributi dell’elemento corrente. |
frame_duration |
Durata temporale di ogni fotogramma dell’animazione (come valore di intervallo) |
frame_number |
Numero di fotogramma corrente durante la riproduzione dell’animazione |
frame_rate |
Numero di fotogrammi al secondo durante la riproduzione dell’animazione |
fullextent_maxx |
Valore x massimo dall’intera estensione della mappa (compresi tutti i layer) |
fullextent_maxy |
Valore y massimo dall’intera estensione della mappa (compresi tutti i layer) |
fullextent_minx |
Valore x minimo dall’intera estensione della mappa (compresi tutti i layer) |
fullextent_miny |
Valore y minimo dall’intera estensione della mappa (compresi tutti i layer) |
geometry |
La geometria dell’elemento in corso di valutazione |
geometry_part_count |
Il numero di parti nella geometria dell’elemento visualizzato |
geometry_part_num |
Il numero di parte della geometria corrente per l’elemento in corso di rappresentazione |
geometry_point_count |
Il numero di punti nella parte della geometria visualizzata |
geometry_point_num |
Il punto corrente nella parte della geometria visualizzata |
geometry_ring_num |
Numero di anello della geometria corrente per l’elemento in fase di visualizzazione (solo per elementi poligonali). L’anello esterno ha un valore di 0. |
grid_axis |
L’asse corrente di annotazione della griglia (per esempio, “x” per la longitudine, “y” per la latitudine) |
grid_number |
Il valore corrente di annotazione della griglia |
id |
L’ID dell’elemento in corso di valutazione |
item_id |
L’ID utente dell’oggetto layout (non necessariamente univoco) |
item_uuid |
L’ID univoco dell’oggetto layout |
layer |
Il layer corrente |
layer_crs |
L’ID dell’autorità del sistema di riferimento delle coordinate del layer corrente |
layer_id |
L” ID del layer corrente |
layer_ids |
Gli ID di tutti i layer della mappa nel progetto corrente come elenco |
layer_name |
Il nome del layer corrente |
layers |
Tutti i layer della mappa nel progetto corrente come elenco |
layout_dpi |
La risoluzione della composizione (DPI) |
layout_name |
Il nome del layer |
layout_numpages |
Il numero di pagine nel layout |
layout_page |
Il numero di pagina dell’oggetto corrente nel layout |
layout_pageheight |
L’altezza della pagina attiva nel layout (in mm per i formati carta standard, o qualsiasi unità usata per i formati carta personalizzati) |
layout_pageoffsets |
Array della coordinata Y della parte superiore di ogni pagina. Permette di posizionare dinamicamente gli elementi sulle pagine in un contesto in cui le dimensioni della pagina possono cambiare |
layout_pagewidth |
La larghezza della pagina attiva nel layout (in mm per i formati carta standard, o qualsiasi unità usata per i formati carta personalizzati) |
legend_column_count |
Il numero di colonne nella legenda |
legend_filter_by_map |
Indica se il contenuto della legenda è filtrato dalla mappa |
legend_filter_out_atlas |
Indica se l’atlante è filtrato dalla legenda |
legend_split_layers |
Indica se i layer possono essere divisi nella legenda |
legend_title |
Il titolo della legenda |
legend_wrap_string |
Il carattere(i) usato per comporre il testo della legenda |
map_crs |
Il sistema di riferimento delle coordinate della mappa corrente |
map_crs_acronym |
L’acronimo del sistema di riferimento delle coordinate della mappa corrente |
map_crs_definition |
La definizione completa del sistema di riferimento delle coordinate della mappa corrente |
map_crs_description |
Il nome del sistema di riferimento delle coordinate della mappa corrente |
map_crs_ellipsoid |
L’acronimo dell’ellissoide del sistema di riferimento delle coordinate della mappa corrente |
map_crs_proj4 |
La definizione Proj4 del sistema di riferimento delle coordinate della mappa corrente |
map_crs_projection |
Il nome descrittivo del metodo di proiezione usato dal sistema di riferimento delle coordinate della mappa (ad esempio “Albers Equal Area”) |
map_crs_wkt |
La definizione WKT del sistema di riferimento delle coordinate della mappa corrente |
map_end_time |
La fine dell’intervallo temporale della mappa (come valore datetime) |
map_extent |
La geometria che rappresenta l’estensione della mappa corrente |
map_extent_center |
Il punto al centro della mappa |
map_extent_height |
L’altezza della mappa corrente |
map_extent_width |
La larghezza della mappa corrente |
map_id |
L’ID della destinazione corrente della mappa. Questo sarà “canvas” per la rappresentazione sull’area grafica, e l’ID dell’oggetto per la rappresentazione della mappa nel layout |
map_interval |
La durata dell’intervallo temporale della mappa (come valore di intervallo) |
map_layer_ids |
L’elenco degli ID dei layer di mappa visibili nella mappa |
map_layers |
L’elenco dei layer della mappa visibili nella mappa |
map_rotation |
La rotazione corrente della mappa |
map_scale |
La scala corrente della mappa |
map_start_time |
L’inizio dell’intervallo temporale della mappa (come valore datetime) |
map_units |
Le unità di misura della mappa |
model_path |
Percorso completo (incluso il nome del file) del modello corrente (o percorso del progetto se il modello è incorporato in un progetto). |
model_folder |
Cartella contenente il modello corrente (o la cartella del progetto se il modello è incorporato in un progetto). |
model_name |
Nome del modello corrente |
model_group |
Gruppo per modello corrente |
notification_message |
Contenuto del messaggio di notifica spedito dalla sorgente (disponibile solo per azioni provenienti da notifiche dal sorgente). |
parent |
Si riferisce alla geometria del layer padre, fornendo accesso ai suoi attributi e alla sua geometria quando si filtra una funzione aggregate. |
project_abstract |
L’abstract del progetto, preso dai metadati del progetto |
project_area_units |
L’unità di area per il progetto corrente, usata quando si calcolano le aree delle geometrie |
project_author |
L’autore del progetto, preso dai metadati del progetto |
project_basename |
Il nome base del nome del file del progetto corrente (senza percorso ed estensione) |
project_creation_date |
La data di creazione del progetto, presa dai metadati del progetto |
project_crs |
Il sistema di riferimento delle coordinate del progetto |
project_crs_arconym |
L’acronimo del sistema di riferimento delle coordinate del progetto |
project_crs_definition |
La definizione completa del sistema di riferimento delle coordinate del progetto |
project_crs_description |
La descrizione del sistema di riferimento delle coordinate del progetto |
project_crs_ellipsoid |
L’ellissoide del sistema di riferimento delle coordinate del progetto |
project_crs_proj4 |
La rappresentazione Proj4 del sistema di riferimento delle coordinate del progetto |
project_crs_wkt |
La rappresentazione WKT (well known text) del sistema di riferimento delle coordinate del progetto |
project_distance_units |
L’unità di distanza per il progetto corrente, usata quando si calcolano le lunghezze delle geometrie e le distanze |
project_ellipsoid |
Il nome dell’ellissoide del progetto corrente, usato quando si calcolano aree geodetiche o lunghezze di geometrie |
project_filename |
Il nome del file del progetto corrente |
project_folder |
La cartella del progetto corrente |
project_home |
Il percorso iniziale del progetto corrente |
project_identifier |
L’identificatore del progetto, preso dai metadati del progetto |
project_keywords |
Le parole chiave del progetto, prese dai metadati del progetto |
project_last_saved |
Data/ora dell’ultimo salvataggio del progetto. |
project_path |
Il percorso completo (incluso il nome del file) del progetto corrente |
project_title |
Il titolo del progetto corrente |
project_units |
Le unità SR del progetto |
qgis_locale |
Il linguaggio corrente di QGIS |
qgis_os_name |
Il nome del sistema operativo corrente, ad esempio “windows”, “linux” o “osx”. |
qgis_platform |
La piattaforma QGIS, ad esempio “desktop” o “server”. |
qgis_release_name |
Il nome della versione corrente di QGIS |
qgis_short_version |
La stringa breve della versione corrente di QGIS |
qgis_version |
La stringa della versione corrente di QGIS |
qgis_version_no |
L’attuale numero di versione QGIS |
row_number |
Memorizza il numero della riga corrente |
snapping_results |
Dà accesso ai risultati dell’aggancio durante la digitalizzazione di una geometria (disponibile solo nella funzionalità di aggiunta) |
scale_value |
Il valore corrente della distanza della barra della scala |
selected_file_path |
Percorso del file selezionato dal widget di selezione dei file quando si carica un file con un sistema di archiviazione esterno |
symbol_angle |
L’angolo del simbolo usato per rappresentare l’elemento (valido solo per i simboli di marcatori) |
symbol_color |
Il colore del simbolo usato per rappresentare l’elemento |
symbol_count |
Il numero di elementi rappresentati dal simbolo (nella legenda del layout) |
symbol_id |
L’ID interno del simbolo (nella legenda del layout) |
symbol_label |
L’etichetta per il simbolo (un’etichetta definita dall’utente o l’etichetta predefinita generata automaticamente - nella legenda del layout) |
symbol_layer_count |
Numero totale di livelli di simboli nel simbolo |
symbol_layer_index |
Indice del layer del simbolo corrente |
symbol_marker_column |
Numero di colonna per il simbolo (valido solo per i pattern puntiformi). |
symbol_marker_row |
Numero di riga per il simbolo (valido solo per i pattern puntiformii). |
user_account_name |
Il nome utente corrente dell’account nel sistema operativo |
user_full_name |
Il nome utente dell’utente corrente nel sistema operativo |
value |
Il valore corrente |
vector_tile_zoom |
Livello esatto di zoom del tassello vettoriale della mappa che viene visualizzato (derivato dalla scala corrente della mappa). Normalmente nell’intervallo [0, 20]. A differenza di @zoom_level, questa variabile è un valore in virgola mobile che può essere usato per interpolare valori tra due livelli di zoom interi. |
with_variable |
Consente di impostare una variabile da utilizzare all’interno di un’espressione ed evitare di ricalcolare ripetutamente lo stesso valore |
zoom_level |
Livello di zoom del tassello vettoriali della mappa in fase di visualizzazione (derivato dalla scala corrente della mappa). Normalmente nell’intervallo [0, 20]. |
Alcuni esempi:
Restituire la coordinata X del centro di un oggetto della mappa nel layout:
x( map_get( item_variables( 'map1'), 'map_extent_center' ) )
Restituire, per ogni elemento nel layer corrente, il numero di aeroporti sovrapposti:
aggregate( layer:='airport', aggregate:='count', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
Ottenere l’object_id del primo punto agganciato di una linea:
with_variable( 'first_snapped_point', array_first( @snapping_results ), attribute( get_feature_by_id( map_get( @first_snapped_point, 'layer' ), map_get( @first_snapped_point, 'feature_id' ) ), 'object_id' ) )
13.2.27. Funzioni recenti
Questo gruppo contiene le funzioni usate di recente. A seconda del contesto di utilizzo (selezione di elementi, calcolatore di campi, generica), le espressioni applicate di recente vengono aggiunte alla lista corrispondente (fino a dieci espressioni), ordinate dalla più alla meno recente. Questo rende facile recuperare e riapplicare rapidamente le espressioni usate in precedenza.