14.3. Lista delle funzioni
Sono elencate di seguito le funzioni, gli operatori e le variabili disponibili in QGIS , raggruppate per categorie.
14.3.1. Funzioni di Aggregazione
Questo gruppo contiene funzioni che aggregano valori su layer e campi
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.3. collect
Restituisce la geometria a parti multiple di geometrie aggregate da una espressione
Sintassi |
collect(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.6. count
Restituisce il conteggio gli elementi che coincidono.
Sintassi |
count(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.7. count_distinct
Restituisce il numero di valori distinti.
Sintassi |
count_distinct(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.8. count_missing
Restituisce il numero di valori nulli (NULL).
Sintassi |
count_missing(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.9. iqr
Restituisce l’intervallo inter quartile calcolato da un campo o un’espressione.
Sintassi |
iqr(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.12. maximum
Restituisce il valore massimo aggregato di un campo o di un’espressione.
Sintassi |
maximum(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.13. mean
Restituisce il valore medio aggregato di un campo o di un’espressione.
Sintassi |
mean(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.14. median
Restituisce il valore della mediana aggregata di un campo o di un’espressione.
Sintassi |
median(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.16. minimum
Restituisce il valore minimo aggregato di un campo o di un’espressione.
Sintassi |
minimum(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.18. q1
Restituisce il primo quartile calcolato da un campo o un’espressione.
Sintassi |
q1(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.19. q3
Restituisce il terzo quartile calcolato rispetto a un campo o a un’espressione.
Sintassi |
q3(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Creare una relazione uno a molti o molti a molti
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.1.23. sum
Restituisce il valore sommato aggregato di un campo o di un’espressione.
Sintassi |
sum(expression, [group_by], [filter]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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.
14.3.2.1. array
Restituisce un array contenente tutti i valori passati come parametro.
Sintassi |
array(value1, value2, …) |
Argomenti |
|
Esempi |
|
14.3.2.2. array_all
Restituisce vero se un array contiene tutti i valori di un dato array.
Sintassi |
array_all(array_a, array_b) |
Argomenti |
|
Esempi |
|
14.3.2.3. array_append
Restituisce un array con il valore dato aggiunto alla fine.
Sintassi |
array_append(array, value) |
Argomenti |
|
Esempi |
|
14.3.2.4. array_cat
Restituisce un array contenente tutti gli array dati concatenati.
Sintassi |
array_cat(array1, array2, …) |
Argomenti |
|
Esempi |
|
14.3.2.5. array_contains
Restituisce vero se un array contiene il valore dato.
Sintassi |
array_contains(array, value) |
Argomenti |
|
Esempi |
|
14.3.2.6. array_distinct
Restituisce un array contenente valori distinti dell’array dato.
Sintassi |
array_distinct(array) |
Argomenti |
|
Esempi |
|
14.3.2.7. array_filter
Restituisce un array con solo gli elementi per i quali l’espressione valuta true.
Sintassi |
array_filter(array, expression) |
Argomenti |
|
Esempi |
|
14.3.2.8. array_find
Restituisce l’indice (0 per il primo elemento) di un valore all’interno di un array. Restituisce -1 se il valore non viene trovato
Sintassi |
array_find(array, value) |
Argomenti |
|
Esempi |
|
14.3.2.9. array_first
Restituisce il primo valore di un array.
Sintassi |
array_first(array) |
Argomenti |
|
Esempi |
|
14.3.2.10. array_foreach
Restituisce un array con l’espressione data valutata su ogni elemento.
Sintassi |
array_foreach(array, expression) |
Argomenti |
|
Esempi |
|
14.3.2.11. array_get
Restituisce l’ennesimo valore (partendo da 0 per il primo) di una matrice.
Sintassi |
array_get(array, index) |
Argomenti |
|
Esempi |
|
14.3.2.12. array_insert
Restituisce un array con il valore dato aggiunto nella posizione data.
Sintassi |
array_insert(array, pos, value) |
Argomenti |
|
Esempi |
|
14.3.2.13. array_intersect
Restituisce true se almeno un elemento di array1 esiste in array2.
Sintassi |
array_intersect(array1, array2) |
Argomenti |
|
Esempi |
|
14.3.2.14. array_last
Restituisce l’ultimo valore di un array.
Sintassi |
array_last(array) |
Argomenti |
|
Esempi |
|
14.3.2.15. array_length
Restituisce il numero di elementi di un array.
Sintassi |
array_length(array) |
Argomenti |
|
Esempi |
|
14.3.2.16. array_prepend
Restituisce un array con il valore dato aggiunto all’inizio.
Sintassi |
array_prepend(array, value) |
Argomenti |
|
Esempi |
|
14.3.2.17. array_remove_all
Restituisce un array con tutte le voci del valore dato rimosse.
Sintassi |
array_remove_all(array, value) |
Argomenti |
|
Esempi |
|
14.3.2.18. array_remove_at
Restituisce un array con l’indice dato rimosso.
Sintassi |
array_remove_at(array, pos) |
Argomenti |
|
Esempi |
|
14.3.2.19. array_reverse
Restituisce l’array dato con i valori dell’array in ordine inverso.
Sintassi |
array_reverse(array) |
Argomenti |
|
Esempi |
|
14.3.2.20. 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 |
|
14.3.2.21. array_sort
Restituisce l’array dato con i suoi elementi ordinati.
Sintassi |
array_sort(array, [ascending=true]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.2.22. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.2.23. generate_series
Crea un array contenente una sequenza di numeri.
Sintassi |
generate_series(start, stop, [step=1]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.2.24. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.2.25. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.3. Funzioni colore
Questo gruppo contiene funzioni per la manipolazione dei colori.
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.3.13. darker
Restituisce una stringa di colore più scuro (o più chiaro)
Sintassi |
darker(color, factor) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: lighter
14.3.3.14. lighter
Restituisce una stringa di colore più chiara (o più scura)
Sintassi |
lighter(color, factor) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: darker
14.3.3.15. project_color
Restituisce un colore dallo schema di colori del progetto.
Sintassi |
project_color(name) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: setting project colors
14.3.3.16. ramp_color
Restituisce una stringa che rappresenta un colore da una scala di colori.
Variabile rampa 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 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
14.3.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 |
|
14.3.4. Funzioni Condizionali
Questo gruppo contiene funzioni per eseguire controlli condizionali nelle espressioni.
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.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, …).
14.3.5.1. from_base64
Decodifica una stringa nella codifica Base64 in un valore binario.
Sintassi |
from_base64(string) |
Argomenti |
|
Esempi |
|
14.3.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 |
|
14.3.5.3. md5
Crea un hash md5 da una stringa.
Sintassi |
md5(string) |
Argomenti |
|
Esempi |
|
14.3.5.4. sha256
Crea un hash sha256 da una stringa.
Sintassi |
sha256(string) |
Argomenti |
|
Esempi |
|
14.3.5.5. to_base64
Codifica un valore binario in una stringa, usando la codifica Base64.
Sintassi |
to_base64(value) |
Argomenti |
|
Esempi |
|
14.3.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 per ulteriore documentazione sul formato.
Sintassi |
to_date(string, [format], [language]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 e QTime::fromString per ulteriore documentazione sul formato.
Sintassi |
to_datetime(string, [format], [language]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.5.8. to_decimal
Converte una coordinata in gradi, minuti e secondi nel suo equivalente decimale.
Sintassi |
to_decimal(value) |
Argomenti |
|
Esempi |
|
14.3.5.9. to_dm
Converte una coordinata in gradi, minuti.
Sintassi |
to_dm(coordinate, axis, precision, [formatting=]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.5.10. to_dms
Converte una coordinata in gradi, minuti e secondi.
Sintassi |
to_dms(coordinate, axis, precision, [formatting=]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.5.14. to_string
Converte un numero in stringa.
Sintassi |
to_string(number) |
Argomenti |
|
Esempi |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.6. Funzioni personalizzate
Questo gruppo contiene funzioni create dall’utente. Vedi Editor delle Funzioni per maggiori dettagli.
14.3.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)
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 facoltativi |
||||||||||||||||||||||||||||||||||||||||||||||||
Argomenti |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Esempi |
|
14.3.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 |
|
14.3.7.8. make_date
Genera un valore di data dai numeri di anno, mese e giorno.
Sintassi |
make_date(year, month, day) |
Argomenti |
|
Esempi |
|
14.3.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 |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.7.11. make_time
Crea un valore temporale dai numeri di ore, minuti e secondi.
Sintassi |
make_time(hour, minute, second) |
Argomenti |
|
Esempi |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 per ulteriore documentazione sul formato.
Sintassi |
to_date(string, [format], [language]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 e QTime::fromString per ulteriore documentazione sul formato.
Sintassi |
to_datetime(string, [format], [language]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 |
|
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.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 |
|
14.3.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>
14.3.8. Campi e Valori
Contiene la lista dei campi di un layer.
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.
14.3.9. Funzioni per i File e i Percorsi
Questo gruppo contiene funzioni che manipolano i nomi dei file e dei percorsi.
14.3.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 |
|
14.3.9.2. file_exists
Restituisce true se un percorso di file esiste.
Sintassi |
file_exists(path) |
Argomenti |
|
Esempi |
|
14.3.9.3. file_name
Restituisce il nome di un file (compresa l’estensione del file), escludendo la cartella.
Sintassi |
file_name(path) |
Argomenti |
|
Esempi |
|
14.3.9.4. file_path
Restituisce il componente cartella di un percorso di file. Non include il nome del file.
Sintassi |
file_path(path) |
Argomenti |
|
Esempi |
|
14.3.9.5. file_size
Restituisce la dimensione (in byte) di un file.
Sintassi |
file_size(path) |
Argomenti |
|
Esempi |
|
14.3.9.6. file_suffix
Restituisce il suffisso del file (estensione) da un percorso di file.
Sintassi |
file_suffix(path) |
Argomenti |
|
Esempi |
|
14.3.9.7. is_directory
Restituisce true se un percorso corrisponde a una cartella.
Sintassi |
is_directory(path) |
Argomenti |
|
Esempi |
|
14.3.9.8. is_file
Restituisce true se un percorso corrisponde a un file.
Sintassi |
is_file(path) |
Argomenti |
|
Esempi |
|
14.3.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.
14.3.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 |
|
14.3.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 |
|
14.3.11. Funzioni varie di confronto
Questo gruppo contiene funzioni per confronti vari tra valori.
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.12. Funzioni Generali
Questo gruppo contiene funzioni generali assortite.
14.3.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 |
|
14.3.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 |
|
14.3.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 |
|
14.3.12.4. is_layer_visible
Restituisce true se il layer specificato è visibile.
Sintassi |
is_layer_visible(layer) |
Argomenti |
|
Esempi |
|
14.3.12.5. layer_property
Restituisce una proprietà del layer o un valore di metadati corrispondente.
Sintassi |
layer_property(layer, property) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: vector, raster e mesh proprietà layer
14.3.12.6. var
Restituisce il valore memorizzato in una variabile specificata.
Sintassi |
var(name) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: List of default variables
14.3.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 |
|
14.3.13. Funzioni Geometria
Questo gruppo contiene funzioni che operano su oggetti geometrici (per esempio buffer, transform, $area).
14.3.13.1. 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 |
|
14.3.13.2. $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 |
|
14.3.13.3. 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 |
|
14.3.13.4. 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 |
|
14.3.13.5. 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
14.3.13.6. 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: Perimetri di delimitazione algoritmo
14.3.13.7. 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 |
|
14.3.13.8. 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 |
|
14.3.13.9. 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]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Buffer algoritmo
14.3.13.10. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Buffer larghezza variabile (valore M) algoritmo
14.3.13.11. centroid
Restituisce il centro geometrico di una geometria.
Sintassi |
centroid(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Centroidi algoritmo
14.3.13.12. 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 |
|
14.3.13.13. closest_point
Restituisce il punto della geometria1 che è più vicino alla geometria2.
Sintassi |
closest_point(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
14.3.13.14. 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: Raggruppa geometrie algoritmo
14.3.13.15. combine
Restituisce la combinazione di due geometrie.
Sintassi |
combine(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
14.3.13.16. contains
Verifica se una geometria ne contiene un’altra. Restituisce vero se e solo se nessun punto della geometria2 giace nell’esterno della geometria1, e almeno un punto dell’interno della geometria2 giace nell’interno della geometria1.
Sintassi |
contains(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_contains
14.3.13.17. 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 |
|
Ulteriori informazioni: Poligono convesso algoritmo
14.3.13.18. crosses
Verifica se una geometria ne attraversa un’altra. Restituisce true se le geometrie fornite hanno alcuni punti interni in comune, ma non tutti.
Sintassi |
crosses(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriore lettura: overlay_crosses
14.3.13.19. difference
Restituisce una geometria che rappresenta la parte di geometria1 che non si interseca con geometria2.
Sintassi |
difference(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Differenza algoritmo
14.3.13.20. disjoint
Verifica se le geometrie non si intersecano spazialmente. Restituisce true se le geometrie non condividono alcuno spazio insieme.
Sintassi |
disjoint(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_disjoint
14.3.13.21. distance
Restituisce la distanza minima (basata sul riferimento spaziale) tra due geometrie in unità proiettate.
Sintassi |
distance(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
14.3.13.22. distance_to_vertex
Restituisce la distanza lungo la geometria ad un vertice specificato.
Sintassi |
distance_to_vertex(geometry, vertex) |
Argomenti |
|
Esempi |
|
14.3.13.23. end_point
Restituisce l’ultimo nodo di una geometria.
Sintassi |
end_point(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Estrai vertici specifici algoritmo
14.3.13.24. 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
14.3.13.25. 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 |
|
14.3.13.26. 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 |
|
14.3.13.27. 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: Scambia le coordinate X e Y algoritmo
14.3.13.28. force_rhr
Forza una geometria a rispettare la Regola-Mano-Destra, in cui l’area che è delimitata da un poligono è a destra del confine. In particolare, l’anello esterno è orientato in senso orario e gli anelli interni in senso antiorario.
Sintassi |
force_rhr(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Forza regola della mano destra algoritmo
14.3.13.29. geom_from_gml
Restituisce una geometria da una rappresentazione GML della geometria.
Sintassi |
geom_from_gml(gml) |
Argomenti |
|
Esempi |
|
14.3.13.30. geom_from_wkb
Restituisce una geometria generata da una rappresentazione Well-Known Binary (WKB).
Sintassi |
geom_from_wkb(binary) |
Argomenti |
|
Esempi |
|
14.3.13.31. geom_from_wkt
Restituisce una geometria generata da una rappresentazione Well-Known Text (WKT).
Sintassi |
geom_from_wkt(text) |
Argomenti |
|
Esempi |
|
14.3.13.32. geom_to_wkb
Restituisce la rappresentazione Well-Known Binary (WKB) di una geometria
Sintassi |
geom_to_wkb(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.33. geom_to_wkt
Restituisce la rappresentazione Well-Known Text (WKT) della geometria senza metadati SRID.
Sintassi |
geom_to_wkt(geometry, [precision=8]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.34. $geometry
Restituisce la geometria dell’elemento corrente. Può essere usato nel processing con altre funzioni.
Sintassi |
$geometry |
Esempi |
|
14.3.13.35. geometry
Restituisce la geometria di un elemento
Sintassi |
geometry(feature) |
Argomenti |
|
Esempi |
|
14.3.13.36. geometry_n
Restituisce una geometria specifica da una geometry collection, o NULL se la geometria in ingresso non è geometry collection.
Sintassi |
geometry_n(geometry, index) |
Argomenti |
|
Esempi |
|
14.3.13.37. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.38. 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 |
|
14.3.13.39. 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 |
|
14.3.13.40. intersection
Restituisce una geometria che rappresenta la porzione condivisa di due geometrie.
Sintassi |
intersection(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Intersezione algoritmo
14.3.13.41. intersects
Verifica se una geometria ne interseca un’altra. Restituisce true se le geometrie si intersecano spazialmente (condividono qualsiasi porzione di spazio) e false se non lo fanno.
Sintassi |
intersects(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_intersects
14.3.13.42. 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 bounding box definito e false se non lo fanno.
Sintassi |
intersects_bbox(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
14.3.13.43. is_closed
Restituisce true se una stringa di linea è chiusa (i punti di inizio e fine sono coincidenti), o false se una stringa di linea non è chiusa. Se la geometria non è una stringa di linea, il risultato sarà NULL.
Sintassi |
is_closed(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.44. is_empty
Restituisce true se una geometria è vuota (senza coordinate), false se la geometria non è vuota e NULL se non c’è nessuna geometria. Vedi anche is_empty_or_null.
Sintassi |
is_empty(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.45. is_empty_or_null
Restituisce true se una geometria è NULLA o vuota (senza coordinate) o false in caso contrario. Questa funzione è come l’espressione “$geometry IS NULL o is_empty($geometry)”.
Sintassi |
is_empty_or_null(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.46. is_multipart
Restituisce true se la geometria è di tipo Parti multiple.
Sintassi |
is_multipart(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.47. is_valid
Restituisce true se una geometria è valida; se è ben formata in 2D secondo le regole dell’OGC.
Sintassi |
is_valid(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.48. $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 |
|
14.3.13.49. 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 |
|
14.3.13.50. 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 |
|
14.3.13.51. 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: Interpola punto sulla linea algoritmo
14.3.13.52. 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 |
|
14.3.13.53. 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 |
|
14.3.13.54. 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: Sottostringa di Linea algoritmo
14.3.13.55. m
Restituisce il valore m di una geometria di punti.
Sintassi |
m(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.56. m_max
Restituisce il valore massimo m (misura) di una geometria.
Sintassi |
m_max(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.57. m_min
Restituisce il valore minimo m (misura) di una geometria.
Sintassi |
m_min(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.58. main_angle
Restituisce l’angolo principale di una geometria (in senso orario, in gradi dal Nord), che rappresenta l’angolo del rettangolo di delimitazione minimo orientato che copre completamente la geometria.
Sintassi |
main_angle(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.59. make_circle
Crea un poligono circolare.
Sintassi |
make_circle(center, radius, [segments=36]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.60. make_ellipse
Crea un poligono ellittico.
Sintassi |
make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, [segments=36]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.61. 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 |
|
14.3.13.62. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.63. 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 |
|
14.3.13.64. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.65. make_rectangle_3points
Crea un rettangolo da 3 punti.
Sintassi |
make_rectangle_3points(point1, point2, point3, [option=0]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.66. make_regular_polygon
Crea un poligono regolare.
Sintassi |
make_regular_polygon(center, radius, number_sides, [circle=0]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.67. make_square
Crea un quadrato da una diagonale.
Sintassi |
make_square(point1, point2) |
Argomenti |
|
Esempi |
|
14.3.13.68. make_triangle
Crea un poligono triangolare.
Sintassi |
make_triangle(point1, point2, point3) |
Argomenti |
|
Esempi |
|
14.3.13.69. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Circonferenza circoscritta minima algoritmo
14.3.13.70. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Estrai vertici algoritmo
14.3.13.71. num_geometries
Restituisce il numero di geometrie in un insieme di geometrie differenti, o NULL se la geometria in ingresso non è un insieme di geometrie differenti.
Sintassi |
num_geometries(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.72. 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 |
|
14.3.13.73. num_points
Restituisce il numero di vertici di una geometria.
Sintassi |
num_points(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.74. 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 |
|
14.3.13.75. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Linee di offset algoritmo
14.3.13.76. order_parts
Ordina le parti di una MultiGeometry secondo un determinato criterio
Sintassi |
order_parts(geometry, orderby, ascending) |
Argomenti |
|
Esempi |
|
14.3.13.77. 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: Perimetro di delimitazione minimo orientato algoritmo
14.3.13.78. overlaps
Verifica se una geometria si sovrappone ad un’altra. Restituisce true se le geometrie condividono lo spazio, sono della stessa dimensione, ma non sono completamente contenute l’una dall’altra.
Sintassi |
overlaps(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
14.3.13.79. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: contains, array manipulation, Seleziona per posizione algoritmo
14.3.13.80. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: crosses, array manipulation, Seleziona per posizione algoritmo
14.3.13.81. overlay_disjoint
Restituisce se l’elemento corrente è spazialmente disgiunta 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: disjoint, array manipulation, Seleziona per posizione algoritmo
14.3.13.82. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: array manipulation, Seleziona per posizione algoritmo
14.3.13.83. 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]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: intersects, array manipulation, Seleziona per posizione algoritmo
14.3.13.84. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: array manipulation, Unisci attributi dal vettore più vicino algoritmo
14.3.13.85. overlay_touches
Restituisce se la caratteristica 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: touches, array manipulation, Seleziona per posizione algoritmo
14.3.13.86. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: within, array manipulation, Seleziona per posizione algoritmo
14.3.13.87. $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 |
|
14.3.13.88. 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 |
|
14.3.13.89. point_n
Restituisce un nodo specifico da una geometria.
Sintassi |
point_n(geometry, index) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Estrai vertici specifici algoritmo
14.3.13.90. point_on_surface
Restituisce un punto il cui posizionamento è sicuro sulla superficie di una geometria.
Sintassi |
point_on_surface(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Punto sulla superficie algoritmo
14.3.13.91. 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: Polo di inaccessibilità algoritmo
14.3.13.92. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Proietta punti (Cartesiano) algoritmo
14.3.13.93. 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 |
|
14.3.13.94. reverse
Inverte la direzione di una linea invertendo l’ordine dei suoi vertici.
Sintassi |
reverse(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Inverti verso linea algoritmo
14.3.13.95. rotate
Restituisce una versione ruotata di una geometria. I calcoli sono nel sistema di riferimento spaziale di questa geometria.
Sintassi |
rotate(geometry, rotation, [center]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.13.96. 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
14.3.13.97. 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 |
|
14.3.13.98. 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: Semplifica algoritmo
14.3.13.99. 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: Semplifica algoritmo
14.3.13.100. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Buffer lato singolo algoritmo
14.3.13.101. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Lisciatura algoritmo
14.3.13.102. start_point
Restituisce il primo nodo di una geometria.
Sintassi |
start_point(geometry) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Estrai vertici specifici algoritmo
14.3.13.103. 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: Differenza simmetrica algoritmo
14.3.13.104. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Buffer arrotondati algoritmo
14.3.13.105. touches
Verifica se una geometria 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
14.3.13.106. 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: Riproietta layer algoritmo
14.3.13.107. 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: Trasla algoritmo
14.3.13.108. union
Restituisce una geometria che rappresenta l’unione dell’insieme di punti delle geometrie.
Sintassi |
union(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
14.3.13.109. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Crea buffer a spicchi algoritmo
14.3.13.110. within
Verifica se una geometria è all’interno di un’altra. Restituisce true se la geometria1 è completamente dentro la geometria2.
Sintassi |
within(geometry1, geometry2) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: overlay_within
14.3.13.111. $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 |
|
14.3.13.112. 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 |
|
14.3.13.113. $x_at
Restituisce una coordinata x della geometria dell’elemento corrente.
Sintassi |
$x_at(i) |
Argomenti |
|
Esempi |
|
14.3.13.114. 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 |
|
14.3.13.115. 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 |
|
14.3.13.116. $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 |
|
14.3.13.117. 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 |
|
14.3.13.118. $y_at
Recupera una coordinata y della geometria dall’elemento corrente.
Sintassi |
$y_at(i) |
Argomenti |
|
Esempi |
|
14.3.13.119. 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 |
|
14.3.13.120. 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 |
|
14.3.13.121. z
Restituisce la coordinata z di una geometria puntuale, o NULL se la geometria non ha un valore z.
Sintassi |
z(geometry) |
Argomenti |
|
Esempi |
|
14.3.13.122. 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 |
|
14.3.13.123. 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 |
|
14.3.14. Funzioni per il Layout
Questo gruppo contiene funzioni per manipolare le proprietà degli oggetti del layout di stampa.
14.3.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: List of default variables
14.3.15. Layer della Mappa
Questo gruppo contiene un elenco dei layer disponibili nel progetto corrente. Questo offre un modo conveniente per scrivere espressioni che si riferiscono a layer multipli, come quando si eseguono query aggrega, attributo o spaziale.
Fornisce anche alcune comode funzioni per manipolare i layer.
14.3.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.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.
14.3.16.1. from_json
Carica una stringa formattata in JSON.
Sintassi |
from_json(string) |
Argomenti |
|
Esempi |
|
14.3.16.2. hstore_to_map
Crea una mappa da una stringa formattata hstore.
Sintassi |
hstore_to_map(string) |
Argomenti |
|
Esempi |
|
14.3.16.3. json_to_map
Crea una mappa da una stringa formattata in json.
Sintassi |
json_to_map(string) |
Argomenti |
|
Esempi |
|
14.3.16.4. map
Restituisce una mappa contenente tutte le chiavi e i valori passati come coppia di parametri.
Sintassi |
map(key1, value1, key2, value2, …) |
Argomenti |
|
Esempi |
|
14.3.16.5. map_akeys
Restituisce tutte le chiavi di una mappa come array.
Sintassi |
map_akeys(map) |
Argomenti |
|
Esempi |
|
14.3.16.6. map_avals
Restituisce tutti i valori di una mappa come array.
Sintassi |
map_avals(map) |
Argomenti |
|
Esempi |
|
14.3.16.7. 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 |
|
14.3.16.8. map_delete
Restituisce una mappa con la chiave data e il suo valore corrispondente eliminato.
Sintassi |
map_delete(map, key) |
Argomenti |
|
Esempi |
|
14.3.16.9. map_exist
Restituisce true se la chiave data esiste nella mappa.
Sintassi |
map_exist(map, key) |
Argomenti |
|
Esempi |
|
14.3.16.10. 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 |
|
14.3.16.11. 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 |
|
14.3.16.12. map_to_hstore
Fondere gli elementi della mappa in una stringa formattata hstore.
Sintassi |
map_to_hstore(map) |
Argomenti |
|
Esempi |
|
14.3.16.13. map_to_json
Fondere gli elementi della mappa in una stringa formattata json.
Sintassi |
map_to_json(map) |
Argomenti |
|
Esempi |
|
14.3.16.14. to_json
Creare una stringa formattata JSON da una mappa, un array o un altro valore.
Sintassi |
to_json(value) |
Argomenti |
|
Esempi |
|
14.3.17. Funzioni Matematiche
Questo gruppo contiene funzioni matematiche (ad es. Radice quadrata, seno e coseno).
14.3.17.1. abs
Restituisce il valore assoluto di un numero.
Sintassi |
abs(value) |
Argomenti |
|
Esempi |
|
14.3.17.2. acos
Restituisce l’inverso del coseno di un valore in radianti.
Sintassi |
acos(value) |
Argomenti |
|
Esempi |
|
14.3.17.3. asin
Restituisce il seno inverso di un valore in radianti.
Sintassi |
asin(value) |
Argomenti |
|
Esempi |
|
14.3.17.4. atan
Restituisce l’inverso dalla tangente di un valore in radianti.
Sintassi |
atan(value) |
Argomenti |
|
Esempi |
|
14.3.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 |
|
14.3.17.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 |
|
14.3.17.7. ceil
Arrotonda un numero per eccesso
Sintassi |
ceil(value) |
Argomenti |
|
Esempi |
|
14.3.17.8. clamp
Limita un valore in ingresso in un intervallo specificato.
Sintassi |
clamp(minimum, input, maximum) |
Argomenti |
|
Esempi |
|
14.3.17.9. cos
Restituisce il coseno di un angolo.
Sintassi |
cos(angle) |
Argomenti |
|
Esempi |
|
14.3.17.10. degrees
Converte da radianti a gradi.
Sintassi |
degrees(radians) |
Argomenti |
|
Esempi |
|
14.3.17.11. exp
Restituisce l’esponenziale di un valore.
Sintassi |
exp(value) |
Argomenti |
|
Esempi |
|
14.3.17.12. floor
Arrotonda un numero per difetto.
Sintassi |
floor(value) |
Argomenti |
|
Esempi |
|
14.3.17.13. 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 |
|
14.3.17.14. ln
Restituisce il logaritmo naturale di un valore.
Sintassi |
ln(value) |
Argomenti |
|
Esempi |
|
14.3.17.15. log
Restituisce il valore del logaritmo del valore e della base indicati.
Sintassi |
log(base, value) |
Argomenti |
|
Esempi |
|
14.3.17.16. log10
Restituisce il valore del logaritmo in base 10 dell’espressione passata.
Sintassi |
log10(value) |
Argomenti |
|
Esempi |
|
14.3.17.17. max
Restituisce il valore più grande in un insieme di valori.
Sintassi |
max(value1, value2, …) |
Argomenti |
|
Esempi |
|
14.3.17.18. min
Restituisce il valore più piccolo in un insieme di valori.
Sintassi |
min(value1, value2, …) |
Argomenti |
|
Esempi |
|
14.3.17.19. pi
Restituisce il valore di pi greco per i calcoli.
Sintassi |
pi() |
Esempi |
|
14.3.17.20. radians
Converte da gradi a radianti
Sintassi |
radians(degrees) |
Argomenti |
|
Esempi |
|
14.3.17.21. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.17.22. 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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.17.23. round
Arrotonda un numero al numero di cifre decimali.
Sintassi |
round(value, [places=0]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.17.24. 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 |
|
14.3.17.25. 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 |
|
14.3.17.26. sin
Restituisce il seno di un angolo.
Sintassi |
sin(angle) |
Argomenti |
|
Esempi |
|
14.3.17.27. sqrt
Restituisce la radice quadrata di un valore.
Sintassi |
sqrt(value) |
Argomenti |
|
Esempi |
|
14.3.17.28. tan
Restituisce la tangente di un angolo.
Sintassi |
tan(angle) |
Argomenti |
|
Esempi |
|
14.3.18. 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.
Funzioni |
Descrizione |
---|---|
a + b |
Somma di due valori (a più b) |
a - b |
Sottrazione tra due valori (a meno b). |
a * b |
Moltiplicazione tra due valori (a moltiplicato per b) |
a / b |
Divisione tra due valori (a diviso per b) |
a % b |
Resto della divisione di a diviso b (ad esempio, 7 % 2 = 1 o 2 si entra nel 7 tre volte con il resto di 1) |
a ^ b |
Elevazione a potenza di due valori (ad esempio, 2^2=4 o 2^3=8) |
a < b |
Confronta due valori e restituisce 1 se il valore di sinistra è inferiore al valore di destra (a è minore di b) |
a <= b |
Confronta due valori e restiruisce 1 se il valore sinistro è minore o uguale al valore destro |
a <> b |
Confronta due valori e restituisce 1 se non sono uguali |
a = b |
Confronta due valori e restituisce 1 se sono uguali |
a ! = b |
a e b non sono uguali |
a > b |
Confronta due valori e restituisce 1 se il valore di sinistra è maggiore del valore di destra (a è maggiore di b) |
a >= b |
Confronta due valori e restituisce 1 se il valore di sinistra è maggiore o uguale al valore di destra |
a ~ b |
a corrisponde al valore assoluto di b |
|| |
Unisce insieme due valori in una stringa. Se uno dei valori è NULL, il risultato sarà NULL |
“\n” |
Inserisce una nuova riga in una stringa |
LIKE |
Restituisce 1 se il primo parametro corrisponde al filtro scelto |
ILIKE |
Restituisce 1 se il primo parametro corrisponde senza distinzione tra maiuscole e minuscole al filtro scelto (ILIKE può essere usato al posto di LIKE per rendere la corrispondenza senza distinzione tra maiuscole e minuscole) |
a IS b |
Verifica se due valori sono identici. Restituisce 1 se a è uguale a b |
a OR b |
Restituisce 1 quando la condizione a o la condizione b è vera |
a AND b |
Restituisce 1 quando le condizioni a e b sono vere |
NOT |
Inverte una condizione |
«Column_name» |
Valore del campo Column_name, fare attenzione a non confondere con l’apice semplice, vedi sotto |
“string” |
valore stringa, fare attenzione a non confondere con gli apici doppi, vedi sopra |
NULL |
valore nullo |
a IS NULL |
a ha valore nullo |
a IS NOT NULL |
a contiene un valore |
a IN (value[,value]) |
a ha valore contenuto nei valori in lista |
a NOT IN (value[,value]) |
il valore di a non è tra i valori in lista |
Alcuni esempi:
Unire una stringa e un valore da un nome di colonna:
'My feature''s id is: ' || "gid"
Verifica se il campo dell’attributo «description» inizia con la stringa “Hello” nel valore (notare la posizione del carattere
%
):"description" LIKE 'Hello%'
14.3.19. Funzioni di Processing
Questo gruppo contiene funzioni che operano su algoritmi di processing.
14.3.19.1. parameter
Restituisce il valore di un parametro in ingresso dell’algoritmo di processing.
Sintassi |
parameter(name) |
Argomenti |
|
Esempi |
|
14.3.20. Funzioni Raster
Questo gruppo contiene funzioni che operano sui layer raster.
14.3.20.1. raster_statistic
Restituisce statistiche da un layer raster.
Sintassi |
raster_statistic(layer, band, property) |
Argomenti |
|
Esempi |
|
14.3.20.2. raster_value
Restituisce il valore raster trovato nel punto specificato.
Sintassi |
raster_value(layer, band, point) |
Argomenti |
|
Esempi |
|
14.3.21. Funzioni relative ai record e agli attributi
Questo gruppo contiene funzioni che operano sugli identificativi dei record.
14.3.21.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 |
|
14.3.21.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
14.3.21.3. $currentfeature
Restituisce l’elemento corrente da valutare. Questo può essere usato con la funzione “attribute” per valutare i valori degli attributi dell’elemento corrente.
Sintassi |
$currentfeature |
Esempi |
|
14.3.21.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.21.5. get_feature
Restituisce il primo elemento di un layer che corrisponde ad un dato valore di attributo.
Sintassi |
get_feature(layer, attribute, value) |
Argomenti |
|
Esempi |
|
14.3.21.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
14.3.21.7. $id
Restituisce l’id dell’elemento della riga corrente.
Sintassi |
$id |
Esempi |
|
14.3.21.8. is_selected
Restituisce True se un’elemento è selezionato. Può essere usato con zero, uno o due argomenti, vedi sotto per i dettagli.
Nessun parametro
Se chiamata senza parametri, la funzione restituisce vero se l’elemento corrente nel layer corrente è selezionato.
Sintassi |
is_selected() |
Esempi |
|
“feature” come parametro
Se chiamata solo con un parametro “feature”, la funzione restituisce true se l’elemento specificato dal layer corrente è selezionato.
Sintassi |
is_selected(feature) |
Argomenti |
|
Esempi |
|
Due parametri
Se la funzione è chiamata sia con un layer che con un elemento, restituirà true se l’elemento specificato dal layer specificato è selezionato.
Sintassi |
is_selected(layer, feature) |
Argomenti |
|
Esempi |
|
14.3.21.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.21.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 facoltativi |
Argomenti |
|
Esempi |
|
14.3.21.11. 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) |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: widget types
14.3.21.12. 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 facoltativi |
Argomenti |
|
Esempi |
|
Ulteriori informazioni: Proprietà Progetto - Sorgenti Dati, Creare una relazione uno a molti o molti a molti
14.3.21.13. uuid
Genera un Universally Unique Identifier (UUID) per ogni riga usando il metodo Qt QUuid::createUuid. Ogni UUID è lungo 38 caratteri.
Sintassi |
uuid() |
Esempi |
|
14.3.22. 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.
14.3.23. Funzioni Stringa
Questo gruppo contiene le funzioni che operano sulle stringhe (ad esempio sostituisci, converti in maiuscolo).
14.3.23.1. ascii
Restituisce il codice unicode associato al primo carattere di una stringa.
Sintassi |
ascii(string) |
Argomenti |
|
Esempi |
|
14.3.23.2. char
Restituisce il carattere associato a un codice unicode.
Sintassi |
char(code) |
Argomenti |
|
Esempi |
|
14.3.23.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: '
14.3.23.4. format
Formatta una stringa usando gli argomenti forniti.
Sintassi |
format(string, arg1, arg2, …) |
Argomenti |
|
Esempi |
|
14.3.23.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 facoltativi |
||||||||||||||||||||||||||||||||||||||||||||||||
Argomenti |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Esempi |
|
14.3.23.6. format_number
Restituisce un numero formattato con il separatore locale per le migliaia. Inoltre tronca le cifre decimali al numero di posizioni fornite.
Sintassi |
format_number(number, places, [language]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.23.7. left
Restituisce una sottostringa che contiene gli n caratteri più a sinistra della stringa.
Sintassi |
left(string, length) |
Argomenti |
|
Esempi |
|
14.3.23.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 |
|
14.3.23.9. lower
Converte una stringa in lettere minuscole.
Sintassi |
lower(string) |
Argomenti |
|
Esempi |
|
14.3.23.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 |
|
14.3.23.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 |
|
14.3.23.12. regexp_replace
Restituisce una stringa con l’espressione regolare fornita sostituita.
Sintassi |
regexp_replace(input_string, regex, replacement) |
Argomenti |
|
Esempi |
|
14.3.23.13. regexp_substr
Restituisce la porzione di una stringa che corrisponde a un’espressione regolare fornita.
Sintassi |
regexp_substr(input_string, regex) |
Argomenti |
|
Esempi |
|
14.3.23.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 della mappa fornite sostituite dai valori associati.
Sintassi |
replace(string, map) |
Argomenti |
|
Esempi |
|
14.3.23.15. right
Restituisce una sottostringa che contiene gli n caratteri più a destra della stringa.
Sintassi |
right(string, length) |
Argomenti |
|
Esempi |
|
14.3.23.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 |
|
14.3.23.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 |
|
14.3.23.18. substr
Restituisce una parte di una stringa.
Sintassi |
substr(string, start, [length]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.23.19. title
Converte tutte le parole di una stringa titolo (tutte le parole minuscole con lettera maiuscola iniziale).
Sintassi |
title(string) |
Argomenti |
|
Esempi |
|
14.3.23.20. to_string
Converte un numero in stringa.
Sintassi |
to_string(number) |
Argomenti |
|
Esempi |
|
14.3.23.21. trim
Rimuove tutti gli spazi bianchi iniziali e finali (spazi, tabulazioni, ecc.) da una stringa.
Sintassi |
trim(string) |
Argomenti |
|
Esempi |
|
14.3.23.22. upper
string - la stringa da convertire in minuscolo.
Sintassi |
upper(string) |
Argomenti |
|
Esempi |
|
14.3.23.23. wordwrap
Restituisce una stringa avvolta in un numero massimo/minimo di caratteri.
Sintassi |
wordwrap(string, wrap_length, [delimiter_string]) [] indica argomenti facoltativi |
Argomenti |
|
Esempi |
|
14.3.24. Espressioni utente
Questo gruppo contiene le espressioni salvate come user expressions.
14.3.25. 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. |
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_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 |
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 |
item_id |
L’ID utente dell’oggetto layout (non necessariamente univoco) |
item_uuid |
L’ID univoco dell’oggetto layout |
layer |
Il 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) |
layout_pagewidth |
La larghezza della pagina attiva nel layout (in mm) |
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_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 |
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 |
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 visualizzato (derivato dalla corrente scala 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' ) )
14.3.26. 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.