14.3. Liste des fonctions
Les fonctions, opérateurs et variables disponibles dans QGIS sont listées ci-dessous, groupés par catégories.
14.3.1. Fonctions d’agrégats
Ce groupe contient des fonctions pour agréger des valeurs sur des couches et des champs.
14.3.1.1. aggregate
Renvoie une valeur agrégée calculée en utilisant les entités d’une autre couche.
Syntaxe |
aggregate(layer, aggregate, expression, [filter], [concatenator=””], [order_by]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.2. array_agg
Renvoie une liste de valeurs agrégées à partir d’un champ ou d’une expression.
Syntaxe |
array_agg(expression, [group_by], [filter], [order_by]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.3. collect
Renvoie la géométrie multipartie des géométries agrégées à partir d’une expression
Syntaxe |
collect(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.4. concatenate
Renvoie toutes les chaînes agrégées d’un champ ou d’une expression rejoints par un délimiteur.
Syntaxe |
concatenate(expression, [group_by], [filter], [concatenator], [order_by]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.5. concatenate_unique
Renvoie toutes les chaînes uniques d’un champ ou d’une expression joints par un délimiteur.
Syntaxe |
concatenate_unique(expression, [group_by], [filter], [concatenator], [order_by]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.6. count
Renvoie le décompte des entités correspondantes.
Syntaxe |
count(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.7. count_distinct
Renvoie le décompte des valeurs distinctes.
Syntaxe |
count_distinct(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.8. count_missing
Renvoie le décompte des valeurs manquantes (NULL).
Syntaxe |
count_missing(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.9. iqr
Renvoie la plage inter-quartiles d’un champ ou d’une expression.
Syntaxe |
iqr(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.10. majority
Renvoie les valeurs majoritaires (les valeurs les plus fréquentes) d’un champ ou d’une expression.
Syntaxe |
majority(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.11. max_length
Renvoie la longueur maximale des chaînes de caractères d’un champ ou d’une expression.
Syntaxe |
max_length(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.12. maximum
Renvoie la valeur maximale d’un champ ou d’une expression.
Syntaxe |
maximum(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.13. mean
Renvoie la valeur moyenne d’un champ ou d’une expression.
Syntaxe |
mean(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.14. median
Renvoie la valeur médiane d’un champ ou d’une expression.
Syntaxe |
median(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.15. min_length
Renvoie la longueur minimale des chaînes de caractères d’un champ ou d’une expression.
Syntaxe |
min_length(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.16. minimum
Renvoie la valeur minimale d’un champ ou d’une expression.
Syntaxe |
minimum(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.17. minority
Renvoie la valeur minoritaire (la moins fréquente) d’un champ ou d’une expression.
Syntaxe |
minority(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.18. q1
Renvoie le premier quartile d’un champ ou d’une expression.
Syntaxe |
q1(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.19. q3
Renvoie le troisième quartile d’un champ ou d’une expression.
Syntaxe |
q3(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.20. range
Renvoie la plage de valeur (maximum - minimum) d’un champ ou d’une expression.
Syntaxe |
range(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.21. relation_aggregate
Renvoie une valeur agrégée, calculée à partir de toutes les entités enfants correspondantes dans la couche en relation.
Syntaxe |
relation_aggregate(relation, aggregate, expression, [concatenator=””], [order_by]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : Créer des relations un à plusieurs ou plusieurs à plusieurs
14.3.1.22. stdev
Renvoie l’écart-type des valeurs d’un champ ou d’une expression.
Syntaxe |
stdev(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.1.23. sum
Renvoie la somme des valeurs d’un champ ou d’une expression.
Syntaxe |
sum(expression, [group_by], [filter]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.2. Fonctions Listes
Ce groupe fournit les fonctions de création et de manipulation de listes (également appelées structures de données “array”). L’ordre des valeurs dans la liste importe, contrairement à la structure de données map, où l’ordre des paires clé-valeur n’est pas pertinent et les valeurs sont identifiées par leurs clés.
14.3.2.1. array
Renvoie une liste contenant toutes les valeurs passées comme paramètre.
Syntaxe |
array(value1, value2, …) |
Arguments |
|
Exemples |
|
14.3.2.2. array_all
Renvoie vrai si une liste contient toutes les valeurs d’une liste donnée.
Syntaxe |
array_all(array_a, array_b) |
Arguments |
|
Exemples |
|
14.3.2.3. array_append
Renvoie une liste avec la valeur donnée ajoutée à la fin.
Syntaxe |
array_append(array, value) |
Arguments |
|
Exemples |
|
14.3.2.4. array_cat
Renvoie une liste concaténant les valeurs de toutes les listes en entrée.
Syntaxe |
array_cat(array1, array2, …) |
Arguments |
|
Exemples |
|
14.3.2.5. array_contains
Renvoie vrai si une liste contient la valeur donnée.
Syntaxe |
array_contains(array, value) |
Arguments |
|
Exemples |
|
14.3.2.6. array_distinct
Renvoie une liste contenant les valeurs distinctes de la liste donnée.
Syntaxe |
array_distinct(array) |
Arguments |
|
Exemples |
|
14.3.2.7. array_filter
Renvoie une liste contenant seulement les éléments pour lesquels l’expression est vraie.
Syntaxe |
array_filter(array, expression) |
Arguments |
|
Exemples |
|
14.3.2.8. array_find
Renvoie l’index (0 pour le premier) d’une valeur dans une liste. Renvoie -1 si la valeur n’est pas trouvée.
Syntaxe |
array_find(array, value) |
Arguments |
|
Exemples |
|
14.3.2.9. array_first
Renvoie la première valeur d’une liste.
Syntaxe |
array_first(array) |
Arguments |
|
Exemples |
|
14.3.2.10. array_foreach
Renvoie une liste avec l’expression évaluée pour chaque élément.
Syntaxe |
array_foreach(array, expression) |
Arguments |
|
Exemples |
|
14.3.2.11. array_get
Renvoie la Nième (0 correspondant à la première) valeur d’une liste.
Syntaxe |
array_get(array, index) |
Arguments |
|
Exemples |
|
14.3.2.12. array_insert
Renvoie une liste avec la valeur donnée ajoutée à la position donnée.
Syntaxe |
array_insert(array, pos, value) |
Arguments |
|
Exemples |
|
14.3.2.13. array_intersect
Renvoie vrai si au moins un élément de array1 est présent dans array2.
Syntaxe |
array_intersect(array1, array2) |
Arguments |
|
Exemples |
|
14.3.2.14. array_last
Renvoie la dernière valeur d’une liste.
Syntaxe |
array_last(array) |
Arguments |
|
Exemples |
|
14.3.2.15. array_length
Renvoie le nombre d’éléments d’une liste.
Syntaxe |
array_length(array) |
Arguments |
|
Exemples |
|
14.3.2.16. array_prepend
Renvoie une liste avec la valeur donnée ajoutée à son début.
Syntaxe |
array_prepend(array, value) |
Arguments |
|
Exemples |
|
14.3.2.17. array_remove_all
Renvoie une liste dont les entrées correspondant à la valeur donnée ont été supprimées.
Syntaxe |
array_remove_all(array, value) |
Arguments |
|
Exemples |
|
14.3.2.18. array_remove_at
Renvoie une liste dont les index donnés ont été supprimés.
Syntaxe |
array_remove_at(array, pos) |
Arguments |
|
Exemples |
|
14.3.2.19. array_reverse
Renvoie la liste donnée avec ses valeurs dans l’ordre inverse.
Syntaxe |
array_reverse(array) |
Arguments |
|
Exemples |
|
14.3.2.20. array_slice
Renvoie une partie de la liste. La tranche est définie par les arguments start_pos et end_pos.
Syntaxe |
array_slice(array, start_pos, end_pos) |
Arguments |
|
Exemples |
|
14.3.2.21. array_sort
Renvoie la liste donnée avec ses éléments triés.
Syntaxe |
array_sort(array, [ascending=true]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.2.22. array_to_string
Concatène les éléments d’une liste en une chaîne de caractères séparée par un délimiteur et utilisant en option une chaîne de caractères pour les valeurs vides.
Syntaxe |
array_to_string(array, [delimiter=”,”], [empty_value=””]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.2.23. generate_series
Crée une liste contenant une suite de nombres.
Syntaxe |
generate_series(start, stop, [step=1]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.2.24. regexp_matches
Renvoie une liste de toutes les chaînes repérées dans une chaîne de caractères par des groupes de capture, dans l’ordre dans lequel les groupes apparaissent dans l’expression régulière.
Syntaxe |
regexp_matches(string, regex, [empty_value=””]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.2.25. string_to_array
Découpe une chaîne de caractères en une liste en utilisant le délimiteur et l’éventuelle chaîne de remplacement pour les valeurs vides.
Syntaxe |
string_to_array(string, [delimiter=”,”], [empty_value=””]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.3. Fonctions de Couleur
Ce groupe contient des fonctions pour manipuler les couleurs.
14.3.3.1. color_cmyk
Renvoie une chaîne de caractères représentant une couleur basée sur ses composantes cyan, magenta, jaune et noire
Syntaxe |
color_cmyk(cyan, magenta, yellow, black) |
Arguments |
|
Exemples |
|
14.3.3.2. color_cmyka
Renvoie une chaîne de caractères représentant une couleur basée sur ses composantes cyan, magenta, jaune et noire et alpha (transparence)
Syntaxe |
color_cmyka(cyan, magenta, yellow, black, alpha) |
Arguments |
|
Exemples |
|
14.3.3.3. color_grayscale_average
Applique un filtre par niveau de gris et renvoie une chaîne de caractères depuis une couleur en entrée.
Syntaxe |
color_grayscale_average(color) |
Arguments |
|
Exemples |
|
14.3.3.4. color_hsl
Renvoie une chaîne de caractères représentant une couleur basée sur ses attributs de teinte, de saturation et de luminosité.
Syntaxe |
color_hsl(hue, saturation, lightness) |
Arguments |
|
Exemples |
|
14.3.3.5. color_hsla
Renvoie une chaîne de caractères représentant une couleur basée sur ses attributs de teinte, de saturation, de luminosité et alpha (transparence).
Syntaxe |
color_hsla(hue, saturation, lightness, alpha) |
Arguments |
|
Exemples |
|
14.3.3.6. color_hsv
Renvoie une chaîne de caractères représentant une couleur basée sur ses attributs de teinte, de saturation et de valeur.
Syntaxe |
color_hsv(hue, saturation, value) |
Arguments |
|
Exemples |
|
14.3.3.7. color_hsva
Renvoie une chaîne de caractères représentant une couleur basée sur ses attributs de teinte, de saturation, de valeur et alpha (transparence).
Syntaxe |
color_hsva(hue, saturation, value, alpha) |
Arguments |
|
Exemples |
|
14.3.3.8. color_mix_rgb
Renvoie une chaîne de caractères représentant une couleur issue du mélange des valeurs rouge, vert, bleu et alpha (transparence) de deux couleurs données basé sur un ratio.
Syntaxe |
color_mix_rgb(color1, color2, ratio) |
Arguments |
|
Exemples |
|
14.3.3.9. color_part
Renvoie une composante spécifique d’une chaîne de caractères de couleur, par ex: la composante rouge ou la composante alpha.
Syntaxe |
color_part(color, component) |
Arguments |
|
Exemples |
|
14.3.3.10. color_rgb
Renvoie une chaîne de caractères représentant une couleur basée sur ses composantes rouge, verte et bleue.
Syntaxe |
color_rgb(red, green, blue) |
Arguments |
|
Exemples |
|
14.3.3.11. color_rgba
Renvoie une chaîne de caractères représentant une couleur basée sur ses composantes rouge, verte, bleue et sur la valeur alpha (transparence).
Syntaxe |
color_rgba(red, green, blue, alpha) |
Arguments |
|
Exemples |
|
14.3.3.12. create_ramp
Renvoie un dégradé de couleurs à partir d’un tableau (map) associant des chaînes de caractères de couleurs à des seuils.
Syntaxe |
create_ramp(map, [discrete=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.3.13. darker
Renvoie une chaîne de caractères de couleur plus sombre (ou plus claire)
Syntaxe |
darker(color, factor) |
Arguments |
|
Exemples |
|
Plus de détails : lighter
14.3.3.14. lighter
Renvoie une chaîne de caractères de couleur plus claire (ou plus sombre)
Syntaxe |
lighter(color, factor) |
Arguments |
|
Exemples |
|
Plus de détails : darker
14.3.3.15. project_color
Renvoie une couleur du jeu de couleurs du projet.
Syntaxe |
project_color(name) |
Arguments |
|
Exemples |
|
Plus de détails : setting project colors
14.3.3.16. ramp_color
Renvoie une chaîne de caractères représentant une couleur extraite d’une palette de couleur.
Variante palette de couleurs enregistrée
Renvoie une chaîne représentant une couleur à partir d’une palette enregistrée.
Syntaxe |
ramp_color(ramp_name, value) |
Arguments |
|
Exemples |
|
Note
Les palettes de couleur disponibles varient selon les installations de QGIS. Cette fonction peut renvoyer des valeurs erronées si vous utilisez un projet QGIS sur plusieurs installations différentes.
Variante palette de couleurs créée par expression
Renvoie une chaîne représentant une couleur d’une palette créée par une expression
Syntaxe |
ramp_color(ramp, value) |
Arguments |
|
Exemples |
|
Plus de détails : Définition d’une rampe de couleurs, La liste déroulante raccourci des couleurs
14.3.3.17. set_color_part
Définit une composante spécifique d’une chaîne de caractères de couleur, par exemple : la composante rouge ou la composante alpha.
Syntaxe |
set_color_part(color, component, value) |
Arguments |
|
Exemples |
|
14.3.4. Fonctions conditionnelles
Ce groupe contient des fonctions permettant de gérer des conditions dans les expressions.
14.3.4.1. CASE
CASE est utilisé pour évaluer une série de conditions et renvoie un résultat à la première condition remplie. Les conditions sont évaluées séquentiellement et si une condition est vraie, l’évaluation s’arrête et le résultat correspondant est renvoyé. Si aucune condition n’est vraie, la valeur de la clause ELSE est renvoyée. Par ailleurs, si aucune clause ELSE n’est spécifiée et aucune condition n’est remplie, la valeur NULL est renvoyée.
CASE
WHEN condition THEN résultat
[ …n ]
[ ELSE résultat ]
END
[ ] indique des composantes optionnelles
Arguments |
|
Exemples |
|
14.3.4.2. coalesce
Renvoie la première valeur non-NULL de la liste en expression.
Cette fonction peut prendre n’importe quel nombre d’arguments.
Syntaxe |
coalesce(expression1, expression2, …) |
Arguments |
|
Exemples |
|
14.3.4.3. if
Teste une condition et renvoie un résultat selon la condition de vérification.
Syntaxe |
if(condition, result_when_true, result_when_false) |
Arguments |
|
Exemples |
|
14.3.4.4. nullif
Renvoie une valeur NULL si valeur1 est égal à valeur2 sinon il renvoie valeur1. Cela peut être utilisé pour substituer conditionnellement des valeurs par NULL.
Syntaxe |
nullif(value1, value2) |
Arguments |
|
Exemples |
|
14.3.4.5. regexp_match
Renvoie la première occurrence correspondant à une expression régulière dans une chaîne de caractères, ou 0 si la sous-chaîne n’a pas été trouvée.
Syntaxe |
regexp_match(input_string, regex) |
Arguments |
|
Exemples |
|
14.3.4.6. try
Essaye une expression et retourne sa valeur si elle est exempte d’erreur. Si l’expression retourne une erreur, une valeur alternative sera retournée si elle est fourni sinon la fonction retournera NULL.
Syntaxe |
try(expression, [alternative]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.5. Fonctions de conversion
Ce groupe contient des fonctions pour convertir un type de données en un autre (par ex. chaîne e caractère vers/depuis entier, binaire vers/depuis chaîne de caractère, chaîne vers date…).
14.3.5.1. from_base64
Décode une chaîne encodée en Base64 en une valeur binaire.
Syntaxe |
from_base64(string) |
Arguments |
|
Exemples |
|
14.3.5.2. hash
Crée un hash à partir d’une chaîne de caractère en appliquant une méthode de hachage. Un octet (8 bits) est représenté par deux chiffres hexadécimaux, donc “md4” (16 octets) produit une chaîne de caractère de 16 * 2 = 32 chiffres hexadécimaux de longueur et “keccak_512” (64 octets) produit une chaîne de 64 * 2 = 128 chiffres hexadécimaux de longueur.
Syntaxe |
hash(string, method) |
Arguments |
|
Exemples |
|
14.3.5.3. md5
Crée un hash md5 depuis une chaîne de caractères.
Syntaxe |
md5(string) |
Arguments |
|
Exemples |
|
14.3.5.4. sha256
Crée un hash sha256 depuis une chaîne de caractères.
Syntaxe |
sha256(string) |
Arguments |
|
Exemples |
|
14.3.5.5. to_base64
Encode une valeur binaire en une chaîne de caractères, en utilisant l’encodage Base64.
Syntaxe |
to_base64(value) |
Arguments |
|
Exemples |
|
14.3.5.6. to_date
Convertit une chaîne de caractères en un objet date. Une chaîne de format optionnelle peut être fournie pour analyser la chaîne ; voir QDate::fromString pour une documentation supplémentaire sur le format.
Syntaxe |
to_date(string, [format], [language]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.5.7. to_datetime
Convertit une chaîne de caractères en un objet date-heure. Une chaîne de format optionnelle peut être fournie pour analyser la chaîne ; voir QDate::fromString et QTime::fromString pour une documentation supplémentaire sur le format.
Syntaxe |
to_datetime(string, [format], [language]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.5.8. to_decimal
Convertit une coordonnée en degrés, minutes, secondes en son équivalent décimal.
Syntaxe |
to_decimal(value) |
Arguments |
|
Exemples |
|
14.3.5.9. to_dm
Convertir une coordonnée en degrés, minutes.
Syntaxe |
to_dm(coordinate, axis, precision, [formatting=]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.5.10. to_dms
Convertit une coordonnée en degrés, minutes, secondes.
Syntaxe |
to_dms(coordinate, axis, precision, [formatting=]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.5.11. to_int
Convertit une chaîne de caractère en nombre entier. Si la valeur ne peut pas être convertie (ex: “123asd” est invalide), cette fonction ne renvoie rien.
Syntaxe |
to_int(string) |
Arguments |
|
Exemples |
|
14.3.5.12. to_interval
Convertit une chaîne de caractère en objet d’intervalle de temps. Cette fonction peut être utilisée pour récupérer les jours, heures, mois, etc. d’une date.
Syntaxe |
to_interval(string) |
Arguments |
|
Exemples |
|
14.3.5.13. to_real
Convertit une chaîne de caractères en nombre réel. Si la valeur ne peut pas être convertie en réel (ex: “123.56asd” est invalide), cette fonction ne renvoie rien. Les nombres sont arrondis après enregistrement si la précision est inférieure à celle du résultat après conversion.
Syntaxe |
to_real(string) |
Arguments |
|
Exemples |
|
14.3.5.14. to_string
Convertit un nombre en chaîne de caractères.
Syntaxe |
to_string(number) |
Arguments |
|
Exemples |
|
14.3.5.15. to_time
Convertit une chaîne de caractères en objet heure. Une chaîne de format optionnelle peut être fournie pour analyser la chaîne ; voir QTime::fromString pour plus de documentation sur le format.
Syntaxe |
to_time(string, [format], [language]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.6. Fonctions personnalisées
Ce groupe contient les fonctions créées par l’utilisateur. Consultez Éditeur de fonctions pour plus de détails.
14.3.7. Fonctions de Date et Heure
Ce groupe contient des fonctions permettant de gérer des données de date et d’heure. Ce groupe partage plusieurs fonctions avec les groupes Fonctions de conversion (to_date, to_time, to_datetime, to_interval) et Fonctions de Chaîne (format_date).
Note
Stocker des dates, dates-heures et intervalles de temps dans des champs
La possibilité de stocker les valeurs date, temps et date-horaire directement dans des champs dépend du fournisseur de la source de données (par exemple, un Shapefile accepte le format date, mais pas le format date-horaire ou temps). Voici quelques suggestions pour passer outre cette limitation :
Les dates, date-horaires et temps peuvent être stockés dans des attributs au format texte avec l’utilisation de la fonction format_date().
Les intervalles de temps peuvent être sauvegardés en format de nombre Entier ou Décimal avec l’utilisation d’une des fonctions d’extraction de date (par exemple day() pour avoir la durée exprimée en jours).
14.3.7.1. age
Renvoie la différence entre deux dates ou deux dates et heures.
La différence est renvoyée sous la forme d’un objet Interval
et doit être utilisée avec une des fonctions qui suivent pour pouvoir extraire les informations utiles :
year
month
week
day
hour
minute
second
Syntaxe |
age(datetime1, datetime2) |
Arguments |
|
Exemples |
|
14.3.7.2. datetime_from_epoch
Renvoie une valeur de date-heure dont la date et l’heure sont le nombre de millisecondes, ms, qui se sont écoulées depuis 1970-01-01T00: 00: 00.000, temps universel coordonné (Qt.UTC) et convertie en Qt.LocalTime.
Syntaxe |
datetime_from_epoch(int) |
Arguments |
|
Exemples |
|
14.3.7.3. day
Extrait le jour d’une valeur de date ou extrait le nombre de jours d’un intervalle.
Variante date
Extrait le jour d’une valeur de date ou de date-heure.
Syntaxe |
day(date) |
Arguments |
|
Exemples |
|
Variante intervalle
Calcule la longueur en jours d’un intervalle.
Syntaxe |
day(interval) |
Arguments |
|
Exemples |
|
14.3.7.4. day_of_week
Renvoie le jour de la semaine pour une date ou une valeur de date-heure. La valeur retournée est comprise entre 0 et 6 où 0 correspond à dimanche et 6 à samedi.
Syntaxe |
day_of_week(date) |
Arguments |
|
Exemples |
|
14.3.7.5. epoch
Retourne l’intervale en millisecondes entre l’epoch unix et une date donnée.
Syntaxe |
epoch(date) |
Arguments |
|
Exemples |
|
14.3.7.6. format_date
Formate une date ou une chaîne de caractères selon un format personnalisé. Utilise le formatage des dates/temps de Qt. Voir QDateTime::toString.
Syntaxe |
format_date(datetime, format, [language]) [] indique des éléments optionnels |
||||||||||||||||||||||||||||||||||||||||||||||||
Arguments |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Exemples |
|
14.3.7.7. hour
Extrait l’heure d’une valeur de date-heure ou d’heure ou extrait le nombre d’heures d’un intervalle.
Variante date-heure ou heure
Extrait l’heure d’une valeur d’heure ou de date-heure.
Syntaxe |
hour(datetime) |
Arguments |
|
Exemples |
|
Variante intervalle
Calcule la longueur en heures d’un intervalle.
Syntaxe |
hour(interval) |
Arguments |
|
Exemples |
|
14.3.7.8. make_date
Crée une valeur de date à partir d’une année, un mois et un jour.
Syntaxe |
make_date(year, month, day) |
Arguments |
|
Exemples |
|
14.3.7.9. make_datetime
Crée une valeur de date-heure à partir d’une année, un mois, un jour, une heure, une minute et une seconde.
Syntaxe |
make_datetime(year, month, day, hour, minute, second) |
Arguments |
|
Exemples |
|
14.3.7.10. make_interval
Crée une valeur d’intervalle à partir d’un nombre d’années, de mois, de jours, d’heures, de minutes et de secondes.
Syntaxe |
make_interval([years=0], [months=0], [weeks=0], [days=0], [hours=0], [minutes=0], [seconds=0]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.7.11. make_time
Crée une valeur d’heure à partir d’une heure, une minute et une seconde.
Syntaxe |
make_time(hour, minute, second) |
Arguments |
|
Exemples |
|
14.3.7.12. minute
Extrait les minutes d’une valeur de date-heure ou d’heure ou extrait le nombre de minutes d’un intervalle.
Variante date-heure ou heure
Extrait les minutes d’une valeur d’heure ou de date-heure.
Syntaxe |
minute(datetime) |
Arguments |
|
Exemples |
|
Variante intervalle
Calcule la longueur en minutes d’un intervalle.
Syntaxe |
minute(interval) |
Arguments |
|
Exemples |
|
14.3.7.13. month
Extrait le mois d’une valeur de date ou extrait le nombre de mois d’un intervalle.
Variante date
Extrait le mois d’une valeur de date ou de date-heure.
Syntaxe |
month(date) |
Arguments |
|
Exemples |
|
Variante intervalle
Calcule la longueur en mois d’un intervalle.
Syntaxe |
month(interval) |
Arguments |
|
Exemples |
|
14.3.7.14. now
Renvoie la date et l’heure actuelle. C’est une fonction statique qui renvoie des résultats cohérents pendant son évaluation. L’heure renvoyée est celle du moment ou l’expression est préparée.
Syntaxe |
now() |
Exemples |
|
14.3.7.15. second
Extrait les secondes d’une valeur de date-heure ou d’heure ou extrait le nombre de secondes d’un intervalle.
Variante date-heure ou heure
Extrait les secondes d’une valeur d’heure ou de date-heure.
Syntaxe |
second(datetime) |
Arguments |
|
Exemples |
|
Variante intervalle
Calcule la longueur en secondes d’un intervalle.
Syntaxe |
second(interval) |
Arguments |
|
Exemples |
|
14.3.7.16. to_date
Convertit une chaîne de caractères en un objet date. Une chaîne de format optionnelle peut être fournie pour analyser la chaîne ; voir QDate::fromString pour une documentation supplémentaire sur le format.
Syntaxe |
to_date(string, [format], [language]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.7.17. to_datetime
Convertit une chaîne de caractères en un objet date-heure. Une chaîne de format optionnelle peut être fournie pour analyser la chaîne ; voir QDate::fromString et QTime::fromString pour une documentation supplémentaire sur le format.
Syntaxe |
to_datetime(string, [format], [language]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.7.18. to_interval
Convertit une chaîne de caractère en objet d’intervalle de temps. Cette fonction peut être utilisée pour récupérer les jours, heures, mois, etc. d’une date.
Syntaxe |
to_interval(string) |
Arguments |
|
Exemples |
|
14.3.7.19. to_time
Convertit une chaîne de caractères en objet heure. Une chaîne de format optionnelle peut être fournie pour analyser la chaîne ; voir QTime::fromString pour plus de documentation sur le format.
Syntaxe |
to_time(string, [format], [language]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.7.20. week
Extrait le numéro de semaine d’une valeur de date ou le nombre de semaines d’un intervalle de temps.
Variante date
Extrait le numéro de semaine d’une valeur de date ou de date-heure.
Syntaxe |
week(date) |
Arguments |
|
Exemples |
|
Variante intervalle
Calcule la longueur en semaines d’un intervalle.
Syntaxe |
week(interval) |
Arguments |
|
Exemples |
|
14.3.7.21. year
Extrait l’année d’une valeur de date ou extrait le nombre d’années d’un intervalle.
Variante date
Extrait l’année d’une valeur de date ou de date-heure.
Syntaxe |
year(date) |
Arguments |
|
Exemples |
|
Variante intervalle
Calcule la longueur en années d’un intervalle.
Syntaxe |
year(interval) |
Arguments |
|
Exemples |
|
Quelques exemples :
Hormis ces fonctions, soustraire des dates, dates-horaires ou temps avec l’opérateur -
(moins) va retourner un intervalle de temps.
Ajouter ou soustraire un intervalle de temps à une date, une date-horaire ou un temps en utilisant les opérateurs +
(plus) ou -
(moins) va retourner une date-horaire.
Obtenir le nombre de jours depuis la sortie de QGIS 3.0 :
to_date('2017-09-29') - to_date(now()) -- Returns <interval: 203 days>
La même chose avec le temps :
to_datetime('2017-09-29 12:00:00') - now() -- Returns <interval: 202.49 days>
Obtenir la date-horaire de 100 jours à partir de maintenant :
now() + to_interval('100 days') -- Returns <datetime: 2017-06-18 01:00:00>
14.3.8. Champs et Valeurs
Contient la liste des champs de la couche.
Double-cliquer sur le nom d’un champ pour l’ajouter à votre expression. Vous pouvez aussi taper le nom de votre champ entre guillemets ou son :ref:`alias `<configure_field>.
Pour retrouver les valeurs des champs à utiliser dans une expression, sélectionner le champ et dans l’onglet de champ qui s’affiche choisir entre Echantillon de 10 et Tous uniques. Les valeurs voulues sont alors affichées et vous pouvez utiliser la boîte Rechercher… en haut de la liste pour filtrer le résultat. Des valeurs échantillonnées peuvent également être obtenues avec un clic-droit sur un champ.
Pour ajouter une valeur à une expression que vous êtes en train d’écrire, double-cliquez dessus dans la liste proposée. Si la valeur n’est pas une chaîne de caractères, elle sera mise entre apostrophes, sinon, aucune apostrophe n’est nécessaire.
14.3.9. Fonctions Fichiers et Chemins
Ce groupe contient des fonctions qui manipulent les noms de fichiers et de chemins.
14.3.9.1. base_file_name
Renvoie le nom de base du fichier sans le répertoire ou le suffixe du fichier.
Syntaxe |
base_file_name(path) |
Arguments |
|
Exemples |
|
14.3.9.2. file_exists
Renvoie vrai si un chemin de fichier existe.
Syntaxe |
file_exists(path) |
Arguments |
|
Exemples |
|
14.3.9.3. file_name
Renvoie le nom d’un fichier (y compris l’extension de fichier), à l’exclusion du répertoire.
Syntaxe |
file_name(path) |
Arguments |
|
Exemples |
|
14.3.9.4. file_path
Renvoie le répertoire d’un chemin de fichier. Ceci n’inclut pas le nom du fichier.
Syntaxe |
file_path(path) |
Arguments |
|
Exemples |
|
14.3.9.5. file_size
Renvoie la taille (en octets) d’un fichier.
Syntaxe |
file_size(path) |
Arguments |
|
Exemples |
|
14.3.9.6. file_suffix
Renvoie le suffixe (l’extension) d’un chemin de fichier.
Syntaxe |
file_suffix(path) |
Arguments |
|
Exemples |
|
14.3.9.7. is_directory
Renvoie vrai si un chemin correspond à un répertoire.
Syntaxe |
is_directory(path) |
Arguments |
|
Exemples |
|
14.3.9.8. is_file
Renvoie vrai si un chemin correspond à un fichier.
Syntaxe |
is_file(path) |
Arguments |
|
Exemples |
|
14.3.10. Fonctions du formulaire
Ce groupe contient des fonctions qui fonctionnent exclusivement dans le contexte du formulaire d’attributs. Par exemple, dans les paramètres de widgets de champs.
14.3.10.1. current_parent_value
Utilisable uniquement dans un contexte de formulaire intégré, cette fonction renvoie la valeur actuelle, non sauvegardée, d’un champ du formulaire parent en cours d’édition. Cette valeur sera différente des valeurs d’attribut réelles de l’entité parent pour les entités qui sont actuellement en cours d’édition ou qui n’ont pas encore été ajoutées à une couche parent. Lorsqu’elle est utilisée dans une expression de filtre de widget de relation de valeur, cette fonction doit être enveloppée dans un « coalesce() » qui peut récupérer l’entité parent réelle de la couche lorsque le formulaire n’est pas utilisé dans un contexte intégré.
Syntaxe |
current_parent_value(field_name) |
Arguments |
|
Exemples |
|
14.3.10.2. current_value
Renvoie la valeur actuelle, non sauvegardée, d’un champ dans la ligne du formulaire ou de la table en cours d’édition. Cette valeur sera différente des valeurs d’attribut réelles de l’élément pour les éléments en cours d’édition ou qui n’ont pas encore été ajoutés à une couche.
Syntaxe |
current_value(field_name) |
Arguments |
|
Exemples |
|
14.3.11. Fonctions de correspondance floue
Ce groupe contient des fonctions destinées à réaliser des comparaisons floues entre les valeurs.
14.3.11.1. hamming_distance
Renvoie la distance de Hamming entre deux chaînes de caractères. Elle correspond au nombre de caractères aux positions correspondantes des chaînes en entrées où les caractères sont différents. Les chaînes en entrée doivent avoir la même longueur et la comparaison est sensible à la casse.
Syntaxe |
hamming_distance(string1, string2) |
Arguments |
|
Exemples |
|
14.3.11.2. levenshtein
Renvoie la distance de Levenshtein entre deux chaînes de caractères. Cela correspond au nombre minimum de modifications (insertions, suppression ou substitution) de caractères pour passer d’une chaîne de caractères à une autre.
La distance de Levenshtein est une mesure de la similarité entre deux chaînes de caractères. Plus la distance est faible, plus les chaînes sont semblables et plus grande est la distance, plus les chaînes sont différentes. Cette distance est sensible à la casse.
Syntaxe |
levenshtein(string1, string2) |
Arguments |
|
Exemples |
|
14.3.11.3. longest_common_substring
Renvoie la sous-chaîne de caractères commune la plus longue entre deux chaînes de caractères. Cette sous-chaîne est la plus longue chaîne de caractères qui est une sous-chaîne des deux chaînes de caractères en entrée. Par exemple : la sous-chaîne la plus longue entre « ABABC » et « BABCA » est « BABC ». La sous-chaîne est sensible à la casse.
Syntaxe |
longest_common_substring(string1, string2) |
Arguments |
|
Exemples |
|
14.3.11.4. soundex
Renvoie la représentation Soundex d’une chaîne de caractères. Soundex est un algorithme de correspondance phonétique. Les chaînes avec des sons semblables seront représentées avec le même code Soundex.
Syntaxe |
soundex(string) |
Arguments |
|
Exemples |
|
14.3.12. Fonctions Générales
Ce groupe contient des fonctions générales assorties.
14.3.12.1. env
Obtient une variable d’environnement et renvoie son contenu sous forme de chaîne. Si la variable n’est pas trouvée, NULL sera renvoyé. Ceci est pratique pour injecter une configuration spécifique au système comme des lettres de lecteur ou des préfixes de chemin d’accès. La définition des variables d’environnement dépend du système d’exploitation, veuillez vérifier auprès de votre administrateur système ou dans la documentation du système d’exploitation comment cela peut être défini.
Syntaxe |
env(name) |
Arguments |
|
Exemples |
|
14.3.12.2. eval
Évalue une expression passée dans une chaîne. Utile pour développer des paramètres dynamiques passés en tant que variables ou champs de contexte.
Syntaxe |
eval(expression) |
Arguments |
|
Exemples |
|
14.3.12.3. eval_template
Évalue un modèle qui est passé dans une chaîne. Utile pour développer les paramètres dynamiques passés comme variables de contexte ou champs.
Syntaxe |
eval_template(template) |
Arguments |
|
Exemples |
|
14.3.12.4. is_layer_visible
Renvoie « Vrai » si la couche spécifiée est visible.
Syntaxe |
is_layer_visible(layer) |
Arguments |
|
Exemples |
|
14.3.12.5. layer_property
Renvoie une propriété ou une valeur de métadonnée de la couche.
Syntaxe |
layer_property(layer, property) |
Arguments |
|
Exemples |
|
Plus de détails : propriétés des couches vector, raster et mesh
14.3.12.6. var
Renvoie la valeur stockée dans une variable.
Syntaxe |
var(name) |
Arguments |
|
Exemples |
|
Plus de détails : Liste des variables par défaut
14.3.12.7. with_variable
Cette fonction définit une variable pour tout code d’expression qui sera fourni comme troisième argument. Ceci n’est utile que pour des expressions compliquées, où la même valeur calculée doit être utilisée à différents endroits.
Syntaxe |
with_variable(name, value, expression) |
Arguments |
|
Exemples |
|
14.3.13. Fonctions de Géométrie
Ce groupe contient des fonctions qui opèrent sur des objets géométriques (par exemple, buffer, transform, $area).
14.3.13.1. angle_at_vertex
Renvoie l’angle de la bissectrice (angle moyen) de la géométrie pour un sommet spécifique d’une géométrie de polyligne. Les angles sont en degrés dans le sens des aiguilles d’une montre à partir du nord.
Syntaxe |
angle_at_vertex(geometry, vertex) |
Arguments |
|
Exemples |
|
14.3.13.2. $area
Renvoie la surface de l’entité courante. La surface calculée par cette fonction respecte à la fois le paramétrage de l’ellipsoïde du projet et les unités de distance. Par exemple, si un ellipsoïde a été paramétré pour le projet alors la surface sera ellipsoïdale, sinon, elle sera calculée selon un plan.
Syntaxe |
$area |
Exemples |
|
14.3.13.3. area
Renvoie la surface d’une géométrie polygonale. Les calculs sont toujours planimétriques dans le Système de Coordonnées de Référence (SCR) de la géométrie et les unités de la surface correspondent aux unités du SCR. Cette fonction est différente des calculs effectués par la fonction $area qui réalise des calculs ellipsoïdaux en se basant sur les paramètres d’ellipsoïde du projet et des unités de surface.
Syntaxe |
area(geometry) |
Arguments |
|
Exemples |
|
14.3.13.4. azimuth
Renvoie l’azimut par rapport au nord sous forme d’angle en radians mesuré dans le sens des aiguilles d’une montre à partir de la verticale entre point_a et point_b.
Syntaxe |
azimuth(point_a, point_b) |
Arguments |
|
Exemples |
|
14.3.13.5. boundary
Retourne la fermeture de la limite combinatoire de la géométrie (c’est-à-dire la limite topologique de la géométrie). Par exemple, une géométrie de polygone aura une limite composée des lignes de chaque anneau du polygone. Certains types de géométrie n’ont pas de limite définie, par exemple les points ou les collections de géométrie, et retourneront NULL.
Syntaxe |
boundary(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Limite
14.3.13.6. bounds
Retourne une géométrie qui représente la boîte de délimitation d’une géométrie d’entrée. Les calculs sont effectués dans le système de référence spatiale de cette géométrie.
Syntaxe |
bounds(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Emprise
14.3.13.7. bounds_height
Retourne la hauteur de la boîte englobante d’une géométrie. Les calculs sont effectués dans le système de référence spatiale de cette géométrie.
Syntaxe |
bounds_height(geometry) |
Arguments |
|
Exemples |
|
14.3.13.8. bounds_width
Retourne la largeur de la boîte englobante d’une géométrie. Les calculs sont effectués dans le système de référence spatiale de cette géométrie.
Syntaxe |
bounds_width(geometry) |
Arguments |
|
Exemples |
|
14.3.13.9. buffer
Renvoie une géométrie qui représente tous les points dont la distance par rapport à cette géométrie est inférieure ou égale à la distance. Les calculs sont effectués dans le système de référence spatiale de cette géométrie.
Syntaxe |
buffer(geometry, distance, [segments=8]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Tampon
14.3.13.10. buffer_by_m
Crée un tampon le long d’une géométrie linéaire où le diamètre du tampon varie en fonction des valeurs m aux sommets des lignes.
Syntaxe |
buffer_by_m(geometry, [segments=8]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme buffer à largeur variable (par valeur M)
14.3.13.11. centroid
Renvoie le centre géométrique d’une géométrie.
Syntaxe |
centroid(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Centroïdes
14.3.13.12. close_line
Retourne une chaîne de ligne fermée de la chaîne de ligne d’entrée en ajoutant le premier point à la fin de la ligne, si elle n’est pas déjà fermée. Si la géométrie n’est pas une chaîne de lignes ou une chaîne multi-lignes, le résultat sera NULL.
Syntaxe |
close_line(geometry) |
Arguments |
|
Exemples |
|
14.3.13.13. closest_point
Renvoie le point sur la géométrie1 qui est le plus proche de la géométrie2.
Syntaxe |
closest_point(geometry1, geometry2) |
Arguments |
|
Exemples |
|
14.3.13.14. collect_geometries
Rassemble un ensemble de géométries en un objet géométrique en plusieurs parties.
Liste d’arguments variante
Les parties géométriques sont spécifiées comme des arguments distincts de la fonction.
Syntaxe |
collect_geometries(geometry1, geometry2, …) |
Arguments |
|
Exemples |
|
Array variant
Les parties géométriques sont spécifiées sous la forme d’une liste.
Syntaxe |
collect_geometries(array) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Collecter les géométries
14.3.13.15. combine
Retourne la combinaison de deux géométries.
Syntaxe |
combine(geometry1, geometry2) |
Arguments |
|
Exemples |
|
14.3.13.16. contains
Teste si une géométrie en contient une autre. Renvoie vrai si et seulement si aucun point de la géométrie2 ne se trouve à l’extérieur de la géométrie1, et si au moins un point de l’intérieur de la géométrie2 se trouve à l’intérieur de la géométrie1.
Syntaxe |
contains(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : overlay_contains
14.3.13.17. convex_hull
Retourne la coque convexe d’une géométrie. Elle représente la géométrie convexe minimale qui englobe toutes les géométries de l’ensemble.
Syntaxe |
convex_hull(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Enveloppe convexe
14.3.13.18. crosses
Teste si une géométrie en croise une autre. Le résultat est vrai si les géométries fournies ont certains points intérieurs communs, mais pas tous.
Syntaxe |
crosses(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : overlay_crosses
14.3.13.19. difference
Renvoie une géométrie qui représente la partie de la géométrie1 qui ne recoupe pas la géométrie2.
Syntaxe |
difference(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Difference
14.3.13.20. disjoint
Teste si des géométries ne s’intersectent pas. Renvoie vrai si les géométries n’ont aucune surface en commun.
Syntaxe |
disjoint(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : overlay_disjoint
14.3.13.21. distance
Renvoie la distance minimale (basée sur le référentiel spatial) entre deux géométries dans les unités de la projection.
Syntaxe |
distance(geometry1, geometry2) |
Arguments |
|
Exemples |
|
14.3.13.22. distance_to_vertex
Renvoie la distance le long de la géométrie à un sommet spécifié.
Syntaxe |
distance_to_vertex(geometry, vertex) |
Arguments |
|
Exemples |
|
14.3.13.23. end_point
Renvoie le dernier nœud d’une géométrie.
Syntaxe |
end_point(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Extraire des vertexs spécifiques
14.3.13.24. extend
Étire d’une valeur spécifiée le début et la fin d’une géométrie de type ligne. Les lignes sont étirées en prenant en compte l’inclinaison du premier et du dernier segment. Pour une poly-ligne, toutes les parties sont étirées. Les distances sont exprimées dans le Système Spatial de Référence de cette géométrie.
Syntaxe |
extend(geometry, start_distance, end_distance) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Prolonger les lignes
14.3.13.25. exterior_ring
Renvoie une chaîne de lignes représentant l’anneau extérieur d’une géométrie polygonale. Si la géométrie n’est pas un polygone, le résultat sera NULL.
Syntaxe |
exterior_ring(geometry) |
Arguments |
|
Exemples |
|
14.3.13.26. extrude
Retourne une version extrudée de la géométrie (multi)courbe ou (multi)ligne d’entrée avec une extension spécifiée par x et y.
Syntaxe |
extrude(geometry, x, y) |
Arguments |
|
Exemples |
|
14.3.13.27. flip_coordinates
Retourne une copie de la géométrie avec les coordonnées x et y échangées. Utile pour réparer les géométries dont les valeurs de latitude et de longitude ont été inversées.
Syntaxe |
flip_coordinates(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Permuter les coordonnées X et Y
14.3.13.28. force_rhr
Force une géométrie à respecter la règle de la main droite, dans laquelle la zone délimitée par un polygone se trouve à droite de la limite. En particulier, l’anneau extérieur est orienté dans le sens des aiguilles d’une montre et les anneaux intérieurs dans le sens inverse.
Syntaxe |
force_rhr(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Forcer la règle de droite
14.3.13.29. geom_from_gml
Retourne une géométrie à partir d’une représentation GML de la géométrie.
Syntaxe |
geom_from_gml(gml) |
Arguments |
|
Exemples |
|
14.3.13.30. geom_from_wkb
Retourne une géométrie créée à partir d’une représentation binaire bien connue (WKB).
Syntaxe |
geom_from_wkb(binary) |
Arguments |
|
Exemples |
|
14.3.13.31. geom_from_wkt
Retourne une géométrie créée à partir d’une représentation Well-Known Text (WKT).
Syntaxe |
geom_from_wkt(text) |
Arguments |
|
Exemples |
|
14.3.13.32. geom_to_wkb
Retourne la représentation binaire bien connue (WKB) d’une géométrie
Syntaxe |
geom_to_wkb(geometry) |
Arguments |
|
Exemples |
|
14.3.13.33. geom_to_wkt
Retourne la représentation WKT (Well-Known Text) de la géométrie sans les métadonnées SRID.
Syntaxe |
geom_to_wkt(geometry, [precision=8]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.34. $geometry
Retourne la géométrie de l’élément en cours. Peut être utilisé pour le traitement avec d’autres fonctions.
Syntaxe |
$geometry |
Exemples |
|
14.3.13.35. geometry
Retourne la géométrie d’un élément.
Syntaxe |
geometry(feature) |
Arguments |
|
Exemples |
|
14.3.13.36. geometry_n
Retourne une géométrie spécifique d’une collection de géométrie, ou NULL si la géométrie en entrée n’est pas une collection.
Syntaxe |
geometry_n(geometry, index) |
Arguments |
|
Exemples |
|
14.3.13.37. hausdorff_distance
Retourne la distance de Hausdorff entre deux géométries. Il s’agit essentiellement d’une mesure de la similarité ou de la dissemblance de deux géométries, une distance plus faible indiquant une plus grande similarité.
La fonction peut être exécutée avec un argument optionnel de fraction de densification. Si elle n’est pas spécifiée, une approximation de la distance de Hausdorff standard est utilisée. Cette approximation est exacte ou suffisamment proche pour un large sous-ensemble de cas utiles. En voici quelques exemples :
calculer la distance entre des chaînes de caractères qui sont à peu près parallèles entre elles, et à peu près de longueur égale. Cela se produit dans les réseaux linéaires correspondants.
Tester la similarité des géométries.
Si l’approximation par défaut fournie par cette méthode est insuffisante, indiquez l’argument optionnel de la fraction de densification. Le fait de spécifier cet argument permet d’effectuer une densification de segment avant de calculer la distance de Hausdorff discrète. Le paramètre définit la fraction par laquelle densifier chaque segment. Chaque segment sera divisé en un certain nombre de sous-segments de longueur égale, dont la fraction de la longueur totale est la plus proche de la fraction donnée. En diminuant le paramètre de la fraction de densification, la distance retournée se rapprochera de la véritable distance de Hausdorff pour les géométries.
Syntaxe |
hausdorff_distance(geometry1, geometry2, [densify_fraction]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.38. inclination
Renvoie l’inclinaison mesurée depuis le zénith (0) jusqu’au nadir (180) sur le modèle point_a à point_b
Syntaxe |
inclination(point_a, point_b) |
Arguments |
|
Exemples |
|
14.3.13.39. interior_ring_n
Renvoie un anneau intérieur spécifique à partir d’une géométrie de polygone, ou NULL si la géométrie n’est pas un polygone.
Syntaxe |
interior_ring_n(geometry, index) |
Arguments |
|
Exemples |
|
14.3.13.40. intersection
Retourne une géométrie qui représente la partie commune de deux géométries.
Syntaxe |
intersection(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Intersection
14.3.13.41. intersects
Teste si une géométrie en croise une autre. Retourne vrai si les géométries se croisent dans l’espace (partagent une partie de l’espace) et faux si elles ne se croisent pas.
Syntaxe |
intersects(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : overlay_intersects
14.3.13.42. intersects_bbox
Teste si la boîte englobante d’une géométrie chevauche la boîte englobante d’une autre géométrie. Retourne vrai si les géométries coupent spatialement la boîte de délimitation définie et faux si elles ne le font pas.
Syntaxe |
intersects_bbox(geometry1, geometry2) |
Arguments |
|
Exemples |
|
14.3.13.43. is_closed
Renvoie true si une ligne est fermée (le point de début et le point de fin sont identiques) ou false si une ligne n’est pas fermée. Si la géométrie n’est pas une ligne, le résultat sera NULL.
Syntaxe |
is_closed(geometry) |
Arguments |
|
Exemples |
|
14.3.13.44. is_empty
Retourne vrai si une géométrie est vide (sans coordonnées), faux si la géométrie n’est pas vide et NULL s’il n’y a pas de géométrie. Voir aussi is_empty_or_null.
Syntaxe |
is_empty(geometry) |
Arguments |
|
Exemples |
|
14.3.13.45. is_empty_or_null
Retourne vrai si une géométrie est NULL ou vide (sans coordonnées) ou faux sinon. Cette fonction est semblable à l’expression « $geometry IS NULL or is_empty($geometry) ».
Syntaxe |
is_empty_or_null(geometry) |
Arguments |
|
Exemples |
|
14.3.13.46. is_multipart
Renvoie true si une géométrie est de type multi-partie.
Syntaxe |
is_multipart(geometry) |
Arguments |
|
Exemples |
|
14.3.13.47. is_valid
Renvoie true si une géométrie est valide ; si elle est bien formée en 2D selon les règles de l’OGC.
Syntaxe |
is_valid(geometry) |
Arguments |
|
Exemples |
|
14.3.13.48. $length
Renvoie la longueur d’une polyligne. Si vous souhaitez récupérer la longueur de la bordure d’un polygone, utilisez $perimeter à la place. La longueur calculée par cette fonction respecte les paramètres d’ellipsoïde du projet ainsi que les unités de distances. Par exemple, si un ellipsoïde a été paramétré pour le projet alors la longueur sera ellipsoïdale, sinon, elle sera calculée selon un plan.
Syntaxe |
$length |
Exemples |
|
14.3.13.49. length
Renvoie le nombre de caractères d’une chaîne de caractères ou la longueur d’une géométrie de polylignes.
Variante chaîne de caractères
Renvoie le nombre de caractères de la chaîne de caractères.
Syntaxe |
length(string) |
Arguments |
|
Exemples |
|
Variante géométrique
Calcule la longueur d’une géométrie linéaire. Les calculs sont toujours planimétriques dans le Système de Coordonnées de Référence (SCR) de la géométrie et les unités de la longueur correspondent aux unités du SCR. Cette fonction est différente des calculs effectués par la fonction $length qui réalise des calculs ellipsoïdaux en se basant sur les paramètres d’ellipsoïde du projet et des unités de distance.
Syntaxe |
length(geometry) |
Arguments |
|
Exemples |
|
14.3.13.50. line_interpolate_angle
Renvoie l’angle parallèle à la géométrie à une distance spécifiée le long d’une polyligne. Les angles sont en degrés dans le sens des aiguilles d’une montre par rapport au nord.
Syntaxe |
line_interpolate_angle(geometry, distance) |
Arguments |
|
Exemples |
|
14.3.13.51. line_interpolate_point
Renvoie le point interpolée par une distance spécifiée le long d’une géométrie ligne.
Syntaxe |
line_interpolate_point(geometry, distance) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Interpoler le point en ligne
14.3.13.52. line_locate_point
Renvoie la distance le long d’une géométrie de type polyligne correspondant à la longueur de cette ligne à la plus proche position d’un point spécifié.
Syntaxe |
line_locate_point(geometry, point) |
Arguments |
|
Exemples |
|
14.3.13.53. line_merge
Retourne une géométrie LineString ou MultiLineString, où toutes les LineStrings connectées de la géométrie en entrée ont été fusionnées en une seule. Cette fonction retournera NULL si elle passe une géométrie qui n’est pas une LineString ou MultiLineString.
Syntaxe |
line_merge(geometry) |
Arguments |
|
Exemples |
|
14.3.13.54. line_substring
Renvoie la partie d’une géométrie de ligne (ou de courbe) qui se situe entre les distances de début et de fin spécifiées (mesurées à partir du début de la ligne). Les valeurs Z et M sont interpolées linéairement à partir des valeurs existantes.
Syntaxe |
line_substring(geometry, start_distance, end_distance) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Portion de ligne
14.3.13.55. m
Renvoie la valeur m d’une géométrie de type point.
Syntaxe |
m(geometry) |
Arguments |
|
Exemples |
|
14.3.13.56. m_max
Renvoie la valeur maximale m (mesure) d’une géométrie.
Syntaxe |
m_max(geometry) |
Arguments |
|
Exemples |
|
14.3.13.57. m_min
Renvoie la valeur minimale m (mesure) d’une géométrie.
Syntaxe |
m_min(geometry) |
Arguments |
|
Exemples |
|
14.3.13.58. main_angle
Retourne l’angle principal d’une géométrie (dans le sens des aiguilles d’une montre, en degrés par rapport au Nord), qui représente l’angle du rectangle limite minimal orienté qui couvre complètement la géométrie.
Syntaxe |
main_angle(geometry) |
Arguments |
|
Exemples |
|
14.3.13.59. make_circle
Crée un polygone circulaire.
Syntaxe |
make_circle(center, radius, [segments=36]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.60. make_ellipse
Crée un polygone elliptique.
Syntaxe |
make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, [segments=36]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.61. make_line
Crée une géométrie linéaire à partir d’une série de géométries ponctuelles.
Liste d’arguments variante
Les sommets des lignes sont spécifiés comme des arguments séparés de la fonction.
Syntaxe |
make_line(point1, point2, …) |
Arguments |
|
Exemples |
|
Array variant
Les sommets des lignes sont spécifiés comme une liste de points.
Syntaxe |
make_line(array) |
Arguments |
|
Exemples |
|
14.3.13.62. make_point
Crée une géométrie ponctuelle à partir des valeurs x et y (et optionnellement des valeurs z et m).
Syntaxe |
make_point(x, y, [z], [m]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.63. make_point_m
Crée une géométrie ponctuelle à partir de coordonnées x et y et d’une valeur m.
Syntaxe |
make_point_m(x, y, m) |
Arguments |
|
Exemples |
|
14.3.13.64. make_polygon
Crée une géométrie polygonale à partir d’un anneau externe et de séries optionnelles de géométries d’anneaux internes.
Syntaxe |
make_polygon(outerRing, [innerRing1], [innerRing2], …) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.65. make_rectangle_3points
Crée un rectangle à partir de 3 points.
Syntaxe |
make_rectangle_3points(point1, point2, point3, [option=0]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.66. make_regular_polygon
Crée un polygone régulier.
Syntaxe |
make_regular_polygon(center, radius, number_sides, [circle=0]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.67. make_square
Crée un carré à partir d’une diagonale.
Syntaxe |
make_square(point1, point2) |
Arguments |
|
Exemples |
|
14.3.13.68. make_triangle
Crée un polygone triangulaire.
Syntaxe |
make_triangle(point1, point2, point3) |
Arguments |
|
Exemples |
|
14.3.13.69. minimal_circle
Renvoie le cercle minimal entourant une géométrie. Il représente le cercle minimum qui renferme toutes les géométries de l’ensemble.
Syntaxe |
minimal_circle(geometry, [segments=36]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Cercles englobants minimum
14.3.13.70. nodes_to_points
Renvoie une géométrie multi-point composée de chaque nœud de la géométrie en entrée.
Syntaxe |
nodes_to_points(geometry, [ignore_closing_nodes=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Extraire les vertexs
14.3.13.71. num_geometries
Renvoie le nombre de géométries dans une collection de géométrie ou NULL si la géométrie en entrée n’est pas une collection.
Syntaxe |
num_geometries(geometry) |
Arguments |
|
Exemples |
|
14.3.13.72. num_interior_rings
Renvoie le nombre d’anneaux intérieurs dans un polygone ou dans une collection de géométrie ou NULL si la géométrie en entrée n’est pas un polygone ou une collection.
Syntaxe |
num_interior_rings(geometry) |
Arguments |
|
Exemples |
|
14.3.13.73. num_points
Renvoie le nombre de sommets d’une géométrie.
Syntaxe |
num_points(geometry) |
Arguments |
|
Exemples |
|
14.3.13.74. num_rings
Renvoie le nombre d’anneaux (incluant les anneaux extérieurs) d’un polygone ou d’une collection de géométrie ou NULL si la géométrie en entrée n’est pas un polygone ou une collection.
Syntaxe |
num_rings(geometry) |
Arguments |
|
Exemples |
|
14.3.13.75. offset_curve
Renvoie une géométrie formée par le décalage d’une géométrie de ligne sur le côté. Les distances se trouvent dans le système de référence spatiale de cette géométrie.
Syntaxe |
offset_curve(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Lignes décalées
14.3.13.76. order_parts
Ré-arrange les parties d’une géométrie multiple selon le critère donné
Syntaxe |
order_parts(geometry, orderby, ascending) |
Arguments |
|
Exemples |
|
14.3.13.77. oriented_bbox
Retourne une géométrie qui représente la boîte de délimitation orientée au minimum d’une géométrie en entrée.
Syntaxe |
oriented_bbox(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Boîte de délimitation minimale orientée
14.3.13.78. overlaps
Teste si une géométrie en chevauche une autre. Le résultat est vrai si les géométries partagent l’espace, sont de la même dimension, mais ne sont pas complètement contenues l’une par l’autre.
Syntaxe |
overlaps(geometry1, geometry2) |
Arguments |
|
Exemples |
|
14.3.13.79. overlay_contains
Retourne si l’entité actuelle contient spatialement au moins une entité d’une couche cible, ou un tableau de résultats basés sur des expressions pour les entités de la couche cible contenues dans l’entité actuelle.
Pour en savoir plus sur le prédicat GEOS « Contains » sous-jacent, tel que décrit dans la fonction PostGIS ST_Contains.
Syntaxe |
overlay_contains(layer, [expression], [filter], [limit], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : contains, array manipulation, l’algorithme Sélection par localisation
14.3.13.80. overlay_crosses
Renvoie si l’entité actuelle croise spatialement au moins une entité d’une couche cible, ou un tableau de résultats basés sur des expressions pour les éléments de la couche cible croisés par l’entité actuelle.
Pour en savoir plus sur le prédicat GEOS « Crosses » sous-jacent, tel que décrit dans la fonction PostGIS ST_Crosses.
Syntaxe |
overlay_crosses(layer, [expression], [filter], [limit], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : crosses, array manipulation, l’algorithme Sélection par localisation
14.3.13.81. overlay_disjoint
Retourne si l’entité actuelle est spatialement disjointe de toutes les entités d’une couche cible, ou un tableau de résultats basés sur des expressions pour les entités dans la couche cible qui sont disjointes de l’entité actuelle.
Pour en savoir plus sur le prédicat GEOS « Disjoint » sous-jacent, tel que décrit dans la fonction PostGIS ST_Disjoint.
Syntaxe |
overlay_disjoint(layer, [expression], [filter], [limit], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : disjoint, array manipulation, l’algorithme Sélection par localisation
14.3.13.82. overlay_equals
Retourne si l’entité actuelle est spatialement égale à au moins une entité d’une couche cible, ou un tableau de résultats basés sur des expressions pour les entités de la couche cible qui sont spatialement égales à l’entité actuelle.
Pour en savoir plus sur le prédicat GEOS « Equals » sous-jacent, tel que décrit dans la fonction PostGIS ST_Equals.
Syntaxe |
overlay_equals(layer, [expression], [filter], [limit], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : array manipulation, l’algorithme Sélection par localisation
14.3.13.83. overlay_intersects
Retourne si l’entité actuelle coupe spatialement au moins une entité d’une couche cible, ou un ensemble de résultats basés sur des expressions pour les entités de la couche cible coupés par l’entité actuelle.
Pour en savoir plus sur le prédicat GEOS « Intersects » sous-jacent, tel que décrit dans la fonction PostGIS ST_Intersects.
Syntaxe |
overlay_intersects(layer, [expression], [filter], [limit], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : intersects, array manipulation, l’algorithme Sélection par localisation
14.3.13.84. overlay_nearest
Indique si l’entité actuelle possède une ou plusieurs entités d’une couche cible à une distance donnée, ou un ensemble de résultats basés sur des expressions pour les entités de la couche cible à une distance de l’entité actuelle.
Remarque : cette fonction peut être lente et consommer beaucoup de mémoire pour les grandes couches.
Syntaxe |
overlay_nearest(layer, [expression], [filter], [limit=1], [max_distance], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : array manipulation, l’algorithme Joindre les attributs par le plus proche
14.3.13.85. overlay_touches
Indique si l’entité actuelle touche dans l’espace au moins une entité d’une couche cible, ou un ensemble de résultats basés sur des expressions pour les entités de la couche cible touchés par l’entité actuelle.
Pour en savoir plus sur le prédicat GEOS « Touches » sous-jacent, tel que décrit dans la fonction PostGIS ST_Touches.
Syntaxe |
overlay_touches(layer, [expression], [filter], [limit], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : touches, array manipulation, l’algorithme Sélection par localisation
14.3.13.86. overlay_within
Retourne si l’entité actuelle se trouve dans l’espace dans au moins une entité d’une couche cible, ou un tableau de résultats basés sur des expressions pour les entités dans la couche cible qui contiennent l’entité actuelle.
Pour en savoir plus sur le prédicat GEOS « Within » sous-jacent, tel que décrit dans la fonction PostGIS ST_Within.
Syntaxe |
overlay_within(layer, [expression], [filter], [limit], [cache=false]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : within, array manipulation, l’algorithme Sélection par localisation
14.3.13.87. $perimeter
Renvoie le périmètre de l’entité courante. Le périmètre calculé par cette fonction respecte à la fois le paramétrage de l’ellipsoïde du projet et des unités de distance. Par exemple, si un ellipsoïde a été paramétré pour le projet alors le périmètre sera ellipsoïdal, sinon, il sera calculé selon un plan.
Syntaxe |
$perimeter |
Exemples |
|
14.3.13.88. perimeter
Renvoie le périmètre d’une géométrie polygonale. Les calculs sont toujours planimétriques dans le Système de Coordonnées de Référence (SCR) de la géométrie et les unités du périmètre correspondent aux unités du SCR. Cette fonction est différente des calculs effectués par la fonction $perimeter qui réalise des calculs ellipsoïdaux en se basant sur les paramètres d’ellipsoïde du projet et des unités de distance.
Syntaxe |
perimeter(geometry) |
Arguments |
|
Exemples |
|
14.3.13.89. point_n
Retourne un nœud spécifique à partir d’une géométrie.
Syntaxe |
point_n(geometry, index) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Extraire des vertexs spécifiques
14.3.13.90. point_on_surface
Retourne un point garanti sur la surface d’une géométrie.
Syntaxe |
point_on_surface(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Point sur la surface
14.3.13.91. pole_of_inaccessibility
Calcule le pôle approximatif d’inaccessibilité pour une surface, qui est le point interne le plus éloigné de la limite de la surface. Cette fonction utilise l’algorithme « polylabel » (Vladimir Agafonkin, 2016), qui est une approche itérative garantissant de trouver le véritable pôle d’inaccessibilité dans une tolérance spécifiée. Des tolérances plus précises nécessitent plus d’itérations et prendront plus de temps à calculer.
Syntaxe |
pole_of_inaccessibility(geometry, tolerance) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Pôle d’inaccessibilité
14.3.13.92. project
Renvoie un point projeté à partir d’un point de départ en utilisant une distance, un relèvement (azimut) et une élévation en radians.
Syntaxe |
project(point, distance, azimuth, [elevation]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Points de projet (cartésiens)
14.3.13.93. relate
Teste la représentation du modèle DE-9IM (Dimensional Extended 9 Intersection Model) de la relation entre deux géométries.
Variante relationnelle
Retourne la représentation du modèle DE-9IM (Dimensional Extended 9 Intersection Model) de la relation entre deux géométries.
Syntaxe |
relate(geometry, geometry) |
Arguments |
|
Exemples |
|
Variante de correspondance de modèle
Teste si la relation DE-9IM entre deux géométries correspond à un modèle spécifié.
Syntaxe |
relate(geometry, geometry, pattern) |
Arguments |
|
Exemples |
|
14.3.13.94. reverse
Inverse le sens d’une chaîne de lignes en inversant l’ordre de ses sommets.
Syntaxe |
reverse(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Inverser la direction de la ligne
14.3.13.95. rotate
Retourne une version tournée d’une géométrie. Les calculs sont effectués dans le système de référence spatiale de cette géométrie.
Syntaxe |
rotate(geometry, rotation, [center]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.13.96. segments_to_lines
Renvoie une géométrie multi-lignes consistant en une ligne pour chaque segment de la géométrie en entrée.
Syntaxe |
segments_to_lines(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Exploser les lignes
14.3.13.97. shortest_line
Renvoie la ligne la plus courte reliant la géométrie1 à la géométrie2. La ligne résultante commencera à la géométrie 1 et se terminera à la géométrie 2.
Syntaxe |
shortest_line(geometry1, geometry2) |
Arguments |
|
Exemples |
|
14.3.13.98. simplify
Simplifie une géométrie en supprimant les nœuds à l’aide d’un seuil basé sur la distance (c’est-à-dire l’algorithme de Douglas Peucker). L’algorithme préserve les grandes déviations des géométries et réduit le nombre de sommets dans les segments presque droits.
Syntaxe |
simplify(geometry, tolerance) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Simplifier
14.3.13.99. simplify_vw
Simplifie une géométrie en supprimant les nœuds à l’aide d’un seuil basé sur la surface (c’est-à-dire l’algorithme Visvalingam-Whyatt). L’algorithme supprime les sommets qui créent de petites zones dans les géométries, par exemple des pointes étroites ou des segments presque droits.
Syntaxe |
simplify_vw(geometry, tolerance) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Simplifier
14.3.13.100. single_sided_buffer
Retourne une géométrie formée par la mise en mémoire tampon d’un seul côté d’une géométrie de ligne. Les distances se trouvent dans le système de référence spatiale de cette géométrie.
Syntaxe |
single_sided_buffer(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme buffer simple face
14.3.13.101. smooth
Lisse une géométrie en ajoutant des nœuds supplémentaires qui arrondissent les coins de la géométrie. Si les géométries en entrée contiennent des valeurs Z ou M, celles-ci seront également lissées et la géométrie de sortie conservera la même dimensionnalité que la géométrie d’entrée.
Syntaxe |
smooth(geometry, [iterations=1], [offset=0.25], [min_length=-1], [max_angle=180]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Lisser
14.3.13.102. start_point
Renvoie le premier nœud d’une géométrie.
Syntaxe |
start_point(geometry) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Extraire des vertexs spécifiques
14.3.13.103. sym_difference
Renvoie une géométrie qui représente la portion non intersectées de deux géométries.
Syntaxe |
sym_difference(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Différence symétrique
14.3.13.104. tapered_buffer
Crée autour d’une ligne une zone tampon dont le diamètre varie uniformément du début jusqu’à la fin de la ligne.
Syntaxe |
tapered_buffer(geometry, start_width, end_width, [segments=8]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Tampons coniques
14.3.13.105. touches
Teste si une géométrie en touche une autre. Le résultat est vrai si les géométries ont au moins un point commun, mais que leurs intérieurs ne se croisent pas.
Syntaxe |
touches(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : overlay_touches
14.3.13.106. transform
Renvoie la géométrie transformée d’un CRS source à un CRS de destination.
Syntaxe |
transform(geometry, source_auth_id, dest_auth_id) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Reprojeter la couche
14.3.13.107. translate
Renvoie une version re projetée d’une géométrie. Les calculs se trouvent dans le système de référence spatiale de cette géométrie.
Syntaxe |
translate(geometry, dx, dy) |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Translater
14.3.13.108. union
Retourne une géométrie qui représente l’union ponctuelle des géométries.
Syntaxe |
union(geometry1, geometry2) |
Arguments |
|
Exemples |
|
14.3.13.109. wedge_buffer
Retourne un tampon en forme de coin provenant d’une géométrie de point.
Syntaxe |
wedge_buffer(center, azimuth, width, outer_radius, [inner_radius=0.0]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : l’algorithme Créer des buffer compensés
14.3.13.110. within
Teste si une géométrie est à l’intérieur d’une autre. Retourne vrai si la géométrie1 est complètement à l’intérieur de la géométrie2.
Syntaxe |
within(geometry1, geometry2) |
Arguments |
|
Exemples |
|
Plus de détails : overlay_within
14.3.13.111. $x
Renvoie la coordonnée x de l’entité ponctuelle en cours. Si l’entité est multi-partie, la coordonnée x du premier point est renvoyée.
Syntaxe |
$x |
Exemples |
|
14.3.13.112. x
Renvoie la coordonnée x d’une géométrie ponctuelle ou la coordonnée x du centroïde d’une géométrie non ponctuelle.
Syntaxe |
x(geometry) |
Arguments |
|
Exemples |
|
14.3.13.113. $x_at
Récupère une coordonnée en x de la géométrie de l’entité actuelle.
Syntaxe |
$x_at(i) |
Arguments |
|
Exemples |
|
14.3.13.114. x_max
Renvoie la coordonnée x maximale d’une géométrie. Les calculs sont effectués dans le Système de Coordonnées de Référence de la géométrie.
Syntaxe |
x_max(geometry) |
Arguments |
|
Exemples |
|
14.3.13.115. x_min
Renvoie la coordonnée x minimale d’une géométrie. Les calculs sont effectués dans le Système de Coordonnées de Référence de la géométrie.
Syntaxe |
x_min(geometry) |
Arguments |
|
Exemples |
|
14.3.13.116. $y
Renvoie la coordonnée y de l’entité ponctuelle en cours. Si l’entité est multi-partie, la coordonnée y du premier point est renvoyée.
Syntaxe |
$y |
Exemples |
|
14.3.13.117. y
Renvoie la coordonnée y d’une géométrie ponctuelle ou la coordonnée y du centroïde d’une géométrie non ponctuelle.
Syntaxe |
y(geometry) |
Arguments |
|
Exemples |
|
14.3.13.118. $y_at
Récupère une coordonnée en y de la géométrie de l’entité actuelle.
Syntaxe |
$y_at(i) |
Arguments |
|
Exemples |
|
14.3.13.119. y_max
Renvoie la coordonnée y maximale d’une géométrie. Les calculs sont effectués dans le Système de Coordonnées de Référence de la géométrie.
Syntaxe |
y_max(geometry) |
Arguments |
|
Exemples |
|
14.3.13.120. y_min
Renvoie la coordonnée y minimale d’une géométrie. Les calculs sont effectués dans le Système de Coordonnées de Référence de la géométrie.
Syntaxe |
y_min(geometry) |
Arguments |
|
Exemples |
|
14.3.13.121. z
Renvoie la coordonnée z d’une géométrie ponctuelle ou NULL si la géométrie n’a pas de valeur z.
Syntaxe |
z(geometry) |
Arguments |
|
Exemples |
|
14.3.13.122. z_max
Renvoie la coordonnée z maximale d’une géométrie ou NULL si la géométrie n’a pas de valeur z.
Syntaxe |
z_max(geometry) |
Arguments |
|
Exemples |
|
14.3.13.123. z_min
Renvoie la coordonnée z minimale d’une géométrie ou NULL si la géométrie n’a pas de valeur z.
Syntaxe |
z_min(geometry) |
Arguments |
|
Exemples |
|
14.3.14. Fonctions de Mise en Page
Ce groupe contient des fonctions pour manipuler les propriétés des objets des mises en pages.
14.3.14.1. item_variables
Renvoie une table de correspondance des variables d’un élément de la mise en page à l’intérieur de cette mise en page.
Syntaxe |
item_variables(id) |
Arguments |
|
Exemples |
|
Plus de détails : Liste des variables par défaut
14.3.15. Couches
Ce groupe contient une liste des couches disponibles dans le projet courant. Il propose ainsi une façon simple de se référer à des couches dans une expression, par exemple pour exécuter des requêtes d’agrégation, attributaires ou spatiales.
Il fournit également des fonctions pratiques pour manipuler les calques.
14.3.15.1. decode_uri
Prend une couche et décode l’uri du fournisseur de données sous-jacent. Les données qui sont disponibles dépendent du fournisseur de données.
Syntaxe |
decode_uri(layer, [part]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.16. Fonctions de Tableaux associatifs
Ce groupe contient des fonctions servant à créer ou manipuler des clés et des valeurs de structures de données “tableaux associatifs” (également appelées dictionnaire, paires de clé-valeur, tableaux de correspondance ou “map”). Contrairement à la structure de liste de données où l’ordre des valeurs a une importance, l’ordre des paires clé-valeur dans le tableau n’a pas d’importance et les valeurs sont identifiées par leurs clés.
14.3.16.1. from_json
Charge une chaîne formatée en JSON.
Syntaxe |
from_json(string) |
Arguments |
|
Exemples |
|
14.3.16.2. hstore_to_map
Crée une carte à partir d’une chaîne formatée hstore.
Syntaxe |
hstore_to_map(string) |
Arguments |
|
Exemples |
|
14.3.16.3. json_to_map
Crée une carte à partir d’une chaîne au format json.
Syntaxe |
json_to_map(string) |
Arguments |
|
Exemples |
|
14.3.16.4. map
Retourne une carte contenant toutes les clés et valeurs passées en tant que paire de paramètres.
Syntaxe |
map(key1, value1, key2, value2, …) |
Arguments |
|
Exemples |
|
14.3.16.5. map_akeys
Retourne toutes les clés d’une carte sous forme de tableau.
Syntaxe |
map_akeys(map) |
Arguments |
|
Exemples |
|
14.3.16.6. map_avals
Retourne toutes les valeurs d’une carte sous forme de tableau.
Syntaxe |
map_avals(map) |
Arguments |
|
Exemples |
|
14.3.16.7. map_concat
Renvoie une carte contenant toutes les entrées des cartes données. Si deux cartes contiennent la même clé, la valeur de la deuxième carte est prise.
Syntaxe |
map_concat(map1, map2, …) |
Arguments |
|
Exemples |
|
14.3.16.8. map_delete
Retourne une carte avec la clé donnée et sa valeur correspondante supprimée.
Syntaxe |
map_delete(map, key) |
Arguments |
|
Exemples |
|
14.3.16.9. map_exist
Retourne vrai si la clé donnée existe dans la carte.
Syntaxe |
map_exist(map, key) |
Arguments |
|
Exemples |
|
14.3.16.10. map_get
Renvoie la valeur correspondant à une clé dans un dictionnaire. Renvoie NULL si la clé n’existe pas.
Syntaxe |
map_get(map, key) |
Arguments |
|
Exemples |
|
14.3.16.11. map_insert
Ajoute une clé et sa valeur à un dictionnaire. Si la clé existe déjà, la valeur correspondante sera écrasée par la nouvelle.
Syntaxe |
map_insert(map, key, value) |
Arguments |
|
Exemples |
|
14.3.16.12. map_to_hstore
Fusionner les éléments de la carte en une chaîne au format hstore.
Syntaxe |
map_to_hstore(map) |
Arguments |
|
Exemples |
|
14.3.16.13. map_to_json
Fusionner les éléments de la carte en une chaîne au format json.
Syntaxe |
map_to_json(map) |
Arguments |
|
Exemples |
|
14.3.16.14. to_json
Créer une chaîne formatée en JSON à partir d’une carte, d’une table ou d’une autre valeur.
Syntaxe |
to_json(value) |
Arguments |
|
Exemples |
|
14.3.17. Fonctions mathématiques
Ce groupe contient des fonctions mathématiques (par ex. racine carré, sin et cos).
14.3.17.1. abs
Renvoie la valeur absolue d’un nombre.
Syntaxe |
abs(value) |
Arguments |
|
Exemples |
|
14.3.17.2. acos
Renvoie le cosinus inverse d’une valeur en radians.
Syntaxe |
acos(value) |
Arguments |
|
Exemples |
|
14.3.17.3. asin
Renvoie le sinus inverse d’une valeur en radians.
Syntaxe |
asin(value) |
Arguments |
|
Exemples |
|
14.3.17.4. atan
Renvoie la tangeante inverse d’une valeur en radians.
Syntaxe |
atan(value) |
Arguments |
|
Exemples |
|
14.3.17.5. atan2
Retourne la tangente inverse de dy/dx en utilisant les signes des deux arguments pour déterminer le quadrant du résultat.
Syntaxe |
atan2(dy, dx) |
Arguments |
|
Exemples |
|
14.3.17.6. azimuth
Renvoie l’azimut par rapport au nord sous forme d’angle en radians mesuré dans le sens des aiguilles d’une montre à partir de la verticale entre point_a et point_b.
Syntaxe |
azimuth(point_a, point_b) |
Arguments |
|
Exemples |
|
14.3.17.7. ceil
Arrondit un nombre vers le haut.
Syntaxe |
ceil(value) |
Arguments |
|
Exemples |
|
14.3.17.8. clamp
Restreint une valeur d’entrée à une plage spécifique.
Syntaxe |
clamp(minimum, input, maximum) |
Arguments |
|
Exemples |
|
14.3.17.9. cos
Renvoie le cosinus d’un angle.
Syntaxe |
cos(angle) |
Arguments |
|
Exemples |
|
14.3.17.10. degrees
Convertit des angles en radians vers des degrés.
Syntaxe |
degrees(radians) |
Arguments |
|
Exemples |
|
14.3.17.11. exp
Renvoie l’exponentiel d’une valeur.
Syntaxe |
exp(value) |
Arguments |
|
Exemples |
|
14.3.17.12. floor
Arrondit un nombre vers le bas.
Syntaxe |
floor(value) |
Arguments |
|
Exemples |
|
14.3.17.13. inclination
Renvoie l’inclinaison mesurée depuis le zénith (0) jusqu’au nadir (180) sur le modèle point_a à point_b
Syntaxe |
inclination(point_a, point_b) |
Arguments |
|
Exemples |
|
14.3.17.14. ln
Renvoie le logarithme népérien d’une valeur.
Syntaxe |
ln(value) |
Arguments |
|
Exemples |
|
14.3.17.15. log
Renvoie la valeur du logarithme selon la valeur et la base en arguments.
Syntaxe |
log(base, value) |
Arguments |
|
Exemples |
|
14.3.17.16. log10
Renvoie la valeur du logarithme en base 10 de l’expression en argument.
Syntaxe |
log10(value) |
Arguments |
|
Exemples |
|
14.3.17.17. max
Renvoie la valeur la plus haute d’un ensemble de valeurs.
Syntaxe |
max(value1, value2, …) |
Arguments |
|
Exemples |
|
14.3.17.18. min
Renvoie la valeur la plus faible d’un ensemble de valeurs.
Syntaxe |
min(value1, value2, …) |
Arguments |
|
Exemples |
|
14.3.17.19. pi
Renvoie la valeur de Pi pour utilisation dans d’autres calculs.
Syntaxe |
pi() |
Exemples |
|
14.3.17.20. radians
Convertit des angles en degrés vers des radians.
Syntaxe |
radians(degrees) |
Arguments |
|
Exemples |
|
14.3.17.21. rand
Renvoie un entier aléatoire dans la plage spécifiée par les valeurs minimale et maximale (inclusives). Si une graine est fournie, le résultat sera toujours le même, en fonction de la graine.
Syntaxe |
rand(min, max, [seed=NULL]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.17.22. randf
Renvoie un nombre réel aléatoire aléatoire dans la plage spécifiée par les valeurs minimale et maximale (inclusives). Si une graine est fournie, le résultat sera toujours le même, en fonction de la graine.
Syntaxe |
randf([min=0.0], [max=1.0], [seed=NULL]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.17.23. round
Arrondit un nombre au nombre de décimales indiqué.
Syntaxe |
round(value, [places=0]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.17.24. scale_exp
Transforme une valeur donnée d’un domaine d’entrée en une plage de sortie à l’aide d’une courbe exponentielle. Cette fonction peut être utilisée pour faciliter les valeurs dans ou hors de la plage de sortie spécifiée.
Syntaxe |
scale_exp(value, domain_min, domain_max, range_min, range_max, exponent) |
Arguments |
|
Exemples |
|
14.3.17.25. scale_linear
Transforme une valeur donnée d’un domaine d’entrée à une plage de sortie en utilisant une interpolation linéaire.
Syntaxe |
scale_linear(value, domain_min, domain_max, range_min, range_max) |
Arguments |
|
Exemples |
|
14.3.17.26. sin
Renvoie le sinus d’un angle.
Syntaxe |
sin(angle) |
Arguments |
|
Exemples |
|
14.3.17.27. sqrt
Renvoie la racine carrée d’une valeur.
Syntaxe |
sqrt(value) |
Arguments |
|
Exemples |
|
14.3.17.28. tan
Renvoie la tangente d’un angle.
Syntaxe |
tan(angle) |
Arguments |
|
Exemples |
|
14.3.18. Opérateurs
Ce groupe contient des opérateurs (ex: +, -, *). Merci de noter que pour la majorité des fonctions mathématiques ci-dessous, si l’une des entrées est NULL alors le résultat vaudra NULL.
Fonction |
Description |
---|---|
a + b |
Addition de deux valeurs (a plus b) |
a - b |
Soustraction de deux valeurs (a moins b) |
a * b |
Multiplication de deux valeurs ( a multiplié par b) |
a / b |
Division de deux valeurs ( a divisé par b) |
a % b |
Reste de la division de a par b (par ex. 7 % 2 = 1 car 2 est présent trois fois dans 7 et il reste 1) |
a ^ b |
Puissance de deux valeurs (par ex. 2^2=4 ou 2^3=8) |
a < b |
Compare deux valeurs et renvoie 1 si la valeur de gauche est moins grande que la valeur de droite (a inférieur à b) |
a <= b |
Compare deux valeurs et évalue à 1 si la valeur de gauche est inférieure ou égale à la valeur de droite |
a <> b |
Compare deux valeurs et renvoie 1 si elle ne sont pas égales |
a = b |
Compare deux valeurs et renvoie 1 si elles sont égales |
a != b |
Compare deux valeurs et renvoie 1 si elle ne sont pas égales |
a > b |
Compare deux valeurs et renvoie 1 si la valeur de gauche est plus grande que la valeur de droite (a supérieur à b) |
a >= b |
Compare deux valeurs et renvoie 1 si la valeur de gauche est plus grande ou égale à la valeur de droite |
a ~ b |
Teste si a correspond à l’expression régulière b |
|| |
Fusionne deux valeurs ensemble dans une chaîne de caractères. Si l’une des valeurs vaut NULL, le résultat sera NULL. |
“\n” |
Insère un retour à la ligne dans une chaîne de caractères |
LIKE |
Renvoie 1 si le premier paramètre correspond au motif défini |
ILIKE |
Renvoie 1 si le premier paramètre correspond au motif fourni de manière non sensible à la casse (ILIKE peut être utilisé à la place d’LIKE pour rendre la correspondance sensible à la casse) |
a IS b |
Teste si deux valeurs sont identiques. Renvoie 1 si a est identique à b |
a OR b |
Renvoie 1 lorsque la condition a ou b est vraie |
a AND b |
Renvoie 1 lorsque les conditions a et b sont vraies |
NOT |
Inverse une condition |
« Column_name » |
Valeur du champ Column_name, attention à ne pas être confondu avec une simple citation, voir ci-dessous |
“texte” |
Une chaîne de caractère. Attention à ne pas confondre avec les guillemets doubles, voir ci-dessus |
NULL |
valeur nulle |
a IS NULL |
a n’a pas de valeur |
a IS NOT NULL |
a a une valeur |
a IN (valeur[,valeur]) |
a fait partie des valeurs listées |
a NOT IN (valeur[,valeur]) |
a ne fait pas partie des valeurs listées |
Quelques exemples :
Concatène une chaîne et une valeur depuis un nom de colonne:
'My feature''s id is: ' || "gid"
Testez si le champ d’attribut « description » commence par la chaîne “Hello” dans la valeur (notez la position du caractère
%
)"description" LIKE 'Hello%'
14.3.19. Fonctions de Processing
Ce groupe contient des fonctions qui opèrent sur des algorithmes de traitement.
14.3.19.1. parameter
Renvoie la valeur d’un paramètre d’entrée d’un algorithme de traitement.
Syntaxe |
parameter(name) |
Arguments |
|
Exemples |
|
14.3.20. Fonctions Raster
Ce groupe contient des fonctions à implémenter sur une couche raster
14.3.20.1. raster_statistic
Renvoie les statistiques d’une couche raster.
Syntaxe |
raster_statistic(layer, band, property) |
Arguments |
|
Exemples |
|
14.3.20.2. raster_value
Retourne la valeur du pixel dans le raster aux coordonnées du point.
Syntaxe |
raster_value(layer, band, point) |
Arguments |
|
Exemples |
|
14.3.21. Fonction d’enregistrement et d’attributs
Ce groupe contient des fonctions qui permettent d’accéder aux identifiants des enregistrements.
14.3.21.1. attribute
Retourne un attribut d’une entité.
Variante 1
Retourne la valeur d’un attribut de l’élément en cours.
Syntaxe |
attribute(attribute_name) |
Arguments |
|
Exemples |
|
Variante 2
Permet de spécifier l’entité cible et le nom de l’attribut.
Syntaxe |
attribute(feature, attribute_name) |
Arguments |
|
Exemples |
|
14.3.21.2. attributes
Retourne un dictionnaire contenant tous les attributs d’une entité, avec les noms des champs comme clés du dictionnaire.
Variante 1
Retourne un dictionnaire contenant tous les attributs de l’entité en cours.
Syntaxe |
attributes() |
Exemples |
|
Variante 2
Permet de spécifier l’entité cible.
Syntaxe |
attributes(feature) |
Arguments |
|
Exemples |
|
Plus de détails : Fonctions de Tableaux associatifs
14.3.21.3. $currentfeature
Renvoie l’entité courante évaluée. Cette fonction peut être utilisée en combinaison avec la fonction “attribute” pour renvoyer les valeurs d’attribut de l’entité courante.
Syntaxe |
$currentfeature |
Exemples |
|
14.3.21.4. display_expression
Retourne l’expression d’affichage pour une entité donnée dans une couche. L’expression est évaluée par défaut. Elle peut être utilisée avec zéro, un ou plusieurs arguments, voir ci-dessous pour plus de détails.
Pas de paramètres
Si elle est appelée sans paramètres, la fonction évaluera l’expression d’affichage de l’entité actuelle dans la couche en cours.
Syntaxe |
display_expression() |
Exemples |
|
Une “entité” en paramètre
Si elle est appelée uniquement avec une entité en paramètre, la fonction évaluera l’entité spécifiée à partir de la couche actuelle.
Syntaxe |
display_expression(feature) |
Arguments |
|
Exemples |
|
Paramètres des couches et des entités
Si la fonction est appelée à la fois avec une couche et une entité, elle évaluera l’entité spécifiée à partir de la couche spécifiée.
Syntaxe |
display_expression(layer, feature, [evaluate=true]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.21.5. get_feature
Retourne la première entité d’une couche correspondant à une valeur d’attribut donnée.
Syntaxe |
get_feature(layer, attribute, value) |
Arguments |
|
Exemples |
|
14.3.21.6. get_feature_by_id
Retourne l’entité avec un identifiant sur une couche.
Syntaxe |
get_feature_by_id(layer, feature_id) |
Arguments |
|
Exemples |
|
Plus de détails : $id
14.3.21.7. $id
Renvoie l’identifiant de l’entité de la ligne actuelle.
Syntaxe |
$id |
Exemples |
|
14.3.21.8. is_selected
Retourne Vrai si une entité est sélectionnée. Peut être utilisé avec zéro, un ou deux arguments, voir ci-dessous pour plus de détails.
Pas de paramètres
Si elle est appelée sans paramètres, la fonction reviendra à l’état vrai si l’entité en cours dans la couche actuelle est sélectionné.
Syntaxe |
is_selected() |
Exemples |
|
Une “entité” en paramètre
Si elle est appelée uniquement avec une entité en paramètre, la fonction retourne vrai si l’entité spécifiée de la couche actuelle est sélectionnée.
Syntaxe |
is_selected(feature) |
Arguments |
|
Exemples |
|
Deux paramètres
Si la fonction est appelée à la fois avec une couche et une entité, elle retournera vrai si l’entité spécifiée de la couche spécifiée est sélectionnée.
Syntaxe |
is_selected(layer, feature) |
Arguments |
|
Exemples |
|
14.3.21.9. maptip
Retourne l’info-bulle pour une entité donnée dans une couche. L’expression est évaluée par défaut. Peut être utilisée avec zéro, un ou plusieurs arguments, voir ci-dessous pour plus de détails.
Pas de paramètres
Si elle est appelée sans paramètres, la fonction évaluera l’extrémité de la carte de l’élément actuel dans la couche en cours.
Syntaxe |
maptip() |
Exemples |
|
Une “entité” en paramètre
Si elle est appelée uniquement avec une entité en paramètre, la fonction évaluera l’entité spécifiée à partir de la couche actuelle.
Syntaxe |
maptip(feature) |
Arguments |
|
Exemples |
|
Paramètres des couches et des entités
Si la fonction est appelée à la fois avec une couche et une entité, elle évaluera l’entité spécifiée à partir de la couche spécifiée.
Syntaxe |
maptip(layer, feature, [evaluate=true]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.21.10. num_selected
Renvoie le nombre d’entités sélectionnées d’une couche donnée. Par défaut la fonction agit sur la couche sur laquelle l’expression est évaluée.
Syntaxe |
num_selected([layer=current layer]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.21.11. represent_value
Retourne la valeur de représentation configurée pour une valeur de champ. Cela dépend du type de widget configuré. Souvent, cela est utile pour les widgets de type « Carte des valeurs ».
Syntaxe |
represent_value(value, fieldName) |
Arguments |
|
Exemples |
|
Plus de détails : Types de widgets
14.3.21.12. sqlite_fetch_and_increment
Gérer les valeurs auto-incrémentées dans les bases de données sqlite.
Les valeurs par défaut de SQlite ne peuvent être appliquées qu’à l’insertion et ne peuvent pas être prélevées.
Il est donc impossible d’acquérir une clé primaire incrémentée via AUTO_INCREMENT avant de créer la ligne dans la base de données. Sidenote : avec postgres, cela fonctionne via l’option évaluer les valeurs par défaut.
Lors de l’ajout de nouvelles entités avec les relations, il est vraiment agréable de pouvoir déjà ajouter des enfants pour un parent, alors que le formulaire des parents est encore ouvert et donc l’entité parent non engagée.
Pour contourner cette limitation, cette fonction peut être utilisée pour gérer les valeurs des séquences dans une table séparé sur des formats basés sur sqlite comme gpkg.
La table de séquence sera filtrée pour un identifiant de séquence (filter_attribute et filter_value) et la valeur actuelle du champ id_field sera incrémentée de 1 et la valeur incrémentée sera retournée.
Si des colonnes supplémentaires nécessitent de spécifier des valeurs, la carte default_values peut être utilisée à cet effet.
Note
Cette fonction modifie la table sqlite cible. Elle est destinée à être utilisée avec des configurations de valeurs par défaut pour les attributs.
Lorsque le paramètre de la base de données est une couche et que la couche est en mode transaction, la valeur ne sera récupérée qu’une seule fois pendant la durée de vie d’une transaction et sera mise en cache et incrémentée. Il est donc dangereux de travailler sur la même base de données à partir de plusieurs processus en parallèle.
Syntaxe |
sqlite_fetch_and_increment(database, table, id_field, filter_attribute, filter_value, [default_values]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
Plus de détails : Onglet sources de données, Créer des relations un à plusieurs ou plusieurs à plusieurs
14.3.21.13. uuid
Génère un Identifiant Universel Unique (UUID) pour chaque ligne en utilisant la méthode QUuid::createUuid. Chaque UUID occupe 38 caractères.
Syntaxe |
uuid() |
Exemples |
|
14.3.22. Relations
Ce groupe contient la liste des relations disponibles dans le projet en cours, avec leur description. Il fournit un accès rapide à l’ID de relation pour rédiger une expression (avec par exemple, la fonction relation_aggregate) ou de personnaliser un formulaire.
14.3.23. Fonctions de Chaîne
Ce groupe contient des fonctions qui opèrent sur des chaînes (par ex. qui remplace, convertit en majuscule).
14.3.23.1. ascii
Renvoie le code ASCII du premier caractère d’une chaîne.
Syntaxe |
ascii(string) |
Arguments |
|
Exemples |
|
14.3.23.2. char
Renvoie le caractère associé à un code Unicode.
Syntaxe |
char(code) |
Arguments |
|
Exemples |
|
14.3.23.3. concat
Concatène plusieurs chaînes de caractères en une seule. Les valeurs NULL sont converties en chaînes vides. Les autres valeurs (comme les nombres) sont converties en chaînes de caractères.
Syntaxe |
concat(string1, string2, …) |
Arguments |
|
Exemples |
|
Au sujet de l’agrégation de champs
Vous pouvez aussi concaténer des chaînes ou des valeurs de champ à l’aide des opérateurs ||
ou +
, avec certaines caractéristiques spéciales:
L’opérateur
+
correspond également à une fonction d’addition, donc si vous avez un opérande de type numérique (champ ou valeur numérique), cela peut être sujet à erreur et vous feriez mieux d’utiliser les autres'My feature id is: ' + "gid" => triggers an error as gid returns an integer
Lorsque l’un des arguments est une valeur NULL,
||
ou+
renverra une valeur NULL. Pour retourner les autres arguments malgré la valeur NULL, vous pouvez utiliser la fonctionconcat
:'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
Formate une chaîne de caractères en utilisant les arguments fournis.
Syntaxe |
format(string, arg1, arg2, …) |
Arguments |
|
Exemples |
|
14.3.23.5. format_date
Formate une date ou une chaîne de caractères selon un format personnalisé. Utilise le formatage des dates/temps de Qt. Voir QDateTime::toString.
Syntaxe |
format_date(datetime, format, [language]) [] indique des éléments optionnels |
||||||||||||||||||||||||||||||||||||||||||||||||
Arguments |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Exemples |
|
14.3.23.6. format_number
Renvoie un nombre formaté avec le séparateur de milliers de la langue courante. Arrondit également les décimales au nombre de chiffres indiqué.
Syntaxe |
format_number(number, places, [language]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.23.7. left
Renvoie un extrait de chaîne de caractères contenant les n caractères les plus à gauche de la chaîne initiale.
Syntaxe |
left(string, length) |
Arguments |
|
Exemples |
|
14.3.23.8. length
Renvoie le nombre de caractères d’une chaîne de caractères ou la longueur d’une géométrie de polylignes.
Variante chaîne de caractères
Renvoie le nombre de caractères de la chaîne de caractères.
Syntaxe |
length(string) |
Arguments |
|
Exemples |
|
Variante géométrique
Calcule la longueur d’une géométrie linéaire. Les calculs sont toujours planimétriques dans le Système de Coordonnées de Référence (SCR) de la géométrie et les unités de la longueur correspondent aux unités du SCR. Cette fonction est différente des calculs effectués par la fonction $length qui réalise des calculs ellipsoïdaux en se basant sur les paramètres d’ellipsoïde du projet et des unités de distance.
Syntaxe |
length(geometry) |
Arguments |
|
Exemples |
|
14.3.23.9. lower
Convertit une chaîne de caractères en caractères minuscules.
Syntaxe |
lower(string) |
Arguments |
|
Exemples |
|
14.3.23.10. lpad
Renvoie une chaîne de caractères complétée à sa gauche avec un caractère de remplissage jusqu’à la largeur spécifiée. Si la largeur spécifiée est inférieure à la longueur de la chaîne de caractère, la chaîne de caractères est tronquée.
Syntaxe |
lpad(string, width, fill) |
Arguments |
|
Exemples |
|
14.3.23.11. regexp_match
Renvoie la première occurrence correspondant à une expression régulière dans une chaîne de caractères, ou 0 si la sous-chaîne n’a pas été trouvée.
Syntaxe |
regexp_match(input_string, regex) |
Arguments |
|
Exemples |
|
14.3.23.12. regexp_replace
Renvoie une chaîne de caractères en utilisant une expression régulière de substitution.
Syntaxe |
regexp_replace(input_string, regex, replacement) |
Arguments |
|
Exemples |
|
14.3.23.13. regexp_substr
Renvoie la portion d’une chaîne de caractères qui correspond à une expression régulière fournie.
Syntaxe |
regexp_substr(input_string, regex) |
Arguments |
|
Exemples |
|
14.3.23.14. replace
Renvoie une chaîne de caractères où la chaîne, la liste ou la table de correspondance fournie a été utilisée pour remplacer des caractères.
Variante chaîne & liste
Renvoie une chaîne de caractères où la chaîne ou la liste fournie a été utilisée pour remplacer des caractères ou une liste de caractères.
Syntaxe |
replace(string, before, after) |
Arguments |
|
Exemples |
|
Variante table de correspondance
Renvoie une chaîne de caractères où les termes similaires aux clefs d’une table de correspondance ont été remplacées par les valeurs correspondantes.
Syntaxe |
replace(string, map) |
Arguments |
|
Exemples |
|
14.3.23.15. right
Renvoie une sous-chaîne de caractères contenant les n caractères les plus à droite.
Syntaxe |
right(string, length) |
Arguments |
|
Exemples |
|
14.3.23.16. rpad
Renvoie une chaîne de caractères complétée à sa droite avec un caractère de remplissage jusqu’à la largeur spécifiée. Si la largeur spécifiée est inférieure à la longueur de la chaîne de caractère, la chaîne de caractères est tronquée.
Syntaxe |
rpad(string, width, fill) |
Arguments |
|
Exemples |
|
14.3.23.17. strpos
Renvoie la position de la première occurrence d’une sous-chaîne dans une chaîne de caractères ou 0 si la sous-chaîne est introuvable.
Syntaxe |
strpos(haystack, needle) |
Arguments |
|
Exemples |
|
14.3.23.18. substr
Renvoie une partie de chaîne de caractères.
Syntaxe |
substr(string, start, [length]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.23.19. title
Convertit l’ensemble des mots d’une chaîne de caractères en casse de titre (tous les mots sont en minuscule sauf la première lettre du mot qui est en majuscule).
Syntaxe |
title(string) |
Arguments |
|
Exemples |
|
14.3.23.20. to_string
Convertit un nombre en chaîne de caractères.
Syntaxe |
to_string(number) |
Arguments |
|
Exemples |
|
14.3.23.21. trim
Supprime tous les caractères d’espace (espaces, tabulations, etc.) situés au début ou à la fin d’une chaîne de caractères.
Syntaxe |
trim(string) |
Arguments |
|
Exemples |
|
14.3.23.22. upper
Convertit une chaîne de caractères en caractères majuscules.
Syntaxe |
upper(string) |
Arguments |
|
Exemples |
|
14.3.23.23. wordwrap
Renvoie une chaîne de caractères découpée par des retours à la ligne, selon un nombre minimum ou maximum de caractères.
Syntaxe |
wordwrap(string, wrap_length, [delimiter_string]) [] indique des éléments optionnels |
Arguments |
|
Exemples |
|
14.3.24. Expressions de l’utilisateur
Ce groupe contient les expressions enregistrées sous le nom de user expressions
14.3.25. Variables
Ce groupe contient des variables dynamiques liées à la demande, au fichier de projet et à d’autres paramètres. La disponibilité des variables dépend du contexte :
à partir de la boîte de dialogue Sélection les entités en utilisant une expression.
à partir de la boîte de dialogue des propriétés de la couche.
depuis la mise en page d’impression
Pour utiliser ces variables dans une expression, elles doivent être précédées du caractère @
(par exemple, @row_number
).
Variable |
Description |
---|---|
algorithm_id |
L’identifiant unique d’un algorithme |
animation_end_time |
Fin de la plage temporelle globale de l’animation (en tant que valeur date-heure) |
animation_interval |
Durée de la plage temporelle globale de l’animation (en tant que valeur d’intervalle) |
animation_start_time |
Début de la plage temporelle globale de l’animation (en tant que valeur date-heure) |
atlas_feature |
L’entité actuelle de l’atlas (en tant que foncton d’objet) |
atlas_featureid |
Identification des entités de l’atlas actuel |
atlas_featurenumber |
Le numéro de l’entité actuelle de l’atlas dans la mise en page |
atlas_filename |
Le nom du fichier de l’atlas actuel |
atlas_geometry |
La géométrie des entités de l’atlas actuel |
atlas_layerid |
L’ID de la couche de couverture actuelle de l’atlas |
atlas_layername |
Le nom de la couche de couverture de l’atlas actuel |
atlas_pagename |
Le nom de la page actuelle de l’atlas |
atlas_totalfeatures |
Le nombre total d’entités dans l’atlas |
canvas_cursor_point |
La dernière position du curseur sur le canevas dans les coordonnées géographiques du projet |
cluster_color |
La couleur des symboles dans un groupe, ou NULL si les symboles ont des couleurs mélangées |
cluster_size |
Le nombre de symboles contenus dans un groupe |
current_feature |
L’entité en cours d’édition dans le formulaire ou la ligne de la table d’attribut |
current_geometry |
La géométrie de l’entité en cours d’édition dans le formulaire ou la ligne de la table |
current_parent_feature |
représente l’entité en cours d’édition dans le formulaire parent. Utilisable uniquement dans un contexte de formulaire intégré. |
current_parent_geometry |
représente la géométrie de l’élément en cours d’édition dans la forme parent. Utilisable uniquement dans un contexte de formulaire intégré. |
form_mode |
À quoi sert le formulaire, comme AddFeatureMode, SingleEditMode, MultiEditMode, SearchMode, AggregateSearchMode ou IdentifyMode sous forme de chaîne. |
frame_duration |
Durée temporelle de chaque image d’animation (en tant que valeur d’intervalle) |
frame_number |
Numéro de l’image actuelle pendant la lecture de l’animation |
frame_rate |
Nombre d’images par seconde pendant la lecture de l’animation |
fullextent_maxx |
Valeur x maximale de l’étendue complète du canevas (y compris toutes les couches) |
fullextent_maxy |
Valeur y maximale de l’étendue complète du canevas (y compris toutes les couches) |
fullextent_minx |
Valeur x minimale de l’étendue complète du canevas (y compris toutes les couches) |
fullextent_miny |
Valeur y minimale de l’étendue complète du canevas (y compris toutes les couches) |
geometry_part_count |
Le nombre de parties dans la géométrie de l’élément rendu |
geometry_part_num |
Le numéro de partie de la géométrie actuelle pour l’élément en cours de rendu |
geometry_point_count |
Le nombre de points dans la partie de la géométrie rendue |
geometry_point_num |
Le numéro du point courant dans la partie de la géométrie rendue |
grid_axis |
L’axe d’annotation de la grille actuelle (par exemple, « x » pour la longitude, « y » pour la latitude) |
grid_number |
La valeur actuelle de l’annotation de la grille |
item_id |
L’ID utilisateur de l’élément de mise en page (pas nécessairement unique) |
item_uuid |
L’identifiant unique de l’élément de mise en page |
layer |
La couche actuelle |
layer_id |
L’ID de la couche actuelle |
layer_ids |
Les ID de toutes les couches cartographiques du projet actuel sous forme de liste |
layer_name |
Le nom de la couche actuelle |
layers |
Toutes les couches cartographiques du projet actuel sous forme de liste |
layout_dpi |
La résolution de composition (DPI) |
layout_name |
Le nom de la mise en page |
layout_numpages |
Le nombre de pages dans la mise en page |
layout_page |
Le numéro de page de l’élément en cours dans la mise en page |
layout_pageheight |
La hauteur de la page active dans la mise en page (en mm) |
layout_pagewidth |
La largeur de la page active dans la mise en page (en mm) |
legend_column_count |
Le nombre de colonnes dans la légende |
legend_filter_by_map |
Indique si le contenu de la légende est filtré par la carte |
legend_filter_out_atlas |
Indique si l’atlas est filtré hors de la légende |
legend_split_layers |
Indique si les couches peuvent être divisées dans la légende |
legend_title |
Le titre de la légende |
legend_wrap_string |
Le(s) caractère(s) utilisé(s) pour envelopper le texte de la légende |
map_crs |
Le système de référence des coordonnées de la carte actuelle |
map_crs_acronym |
L’acronyme du système de référence des coordonnées de la carte actuelle |
map_crs_definition |
La définition complète du système de référence des coordonnées de la carte actuelle |
map_crs_description |
Le nom du système de référence des coordonnées de la carte actuelle |
map_crs_ellipsoid |
L’acronyme de l’ellipsoïde du système de référence des coordonnées de la carte actuelle |
map_crs_proj4 |
La définition Proj4 du système de référence des coordonnées de la carte actuelle |
map_crs_wkt |
La définition WKT du système de référence des coordonnées de la carte actuelle |
map_end_time |
La fin de la plage temporelle de la carte (en tant que valeur date-heure) |
map_extent |
La géométrie représentant l’étendue actuelle de la carte |
map_extent_center |
L’élément ponctuel au centre de la carte |
map_extent_height |
La hauteur actuelle de la carte |
map_extent_width |
La largeur actuelle de la carte |
map_id |
L’ID de la destination actuelle sur la carte. Il s’agira de “canvas” pour les rendus de canevas, et de l’ID de l’élément pour les rendus de carte de mise en page |
map_interval |
La durée de la plage temporelle de la carte (en tant que valeur d’intervalle) |
map_layer_ids |
La liste des ID des couches de la carte visibles dans la carte |
map_layers |
La liste des couches cartographiques visibles dans la carte |
map_rotation |
La rotation actuelle de la carte |
map_scale |
L’échelle actuelle de la carte |
map_start_time |
Le début de la plage temporelle de la carte (en tant que valeur date-heure) |
map_units |
Les unités de mesure des cartes |
model_path |
Chemin complet (y compris le nom du fichier) du modèle actuel (ou chemin du projet si le modèle est intégré dans un projet). |
model_folder |
Dossier contenant le modèle actuel (ou le dossier du projet si le modèle est intégré dans un projet). |
model_name |
Nom du modèle courant |
model_group |
Groupe pour le modèle actuel |
notification_message |
Contenu du message de notification envoyé par le fournisseur (disponible uniquement pour les actions déclenchées par les notifications du fournisseur). |
parent |
Fait référence à l’entité actuelle dans la couche parent, donnant accès à ses attributs et à sa géométrie lors du filtrage d’une fonction d’agrégat |
project_abstract |
Le résumé du projet, tiré des métadonnées du projet |
project_area_units |
L’unité de surface pour le projet actuel, utilisée lors du calcul des surfaces des géométries |
project_author |
L’auteur du projet, tiré des métadonnées du projet |
project_basename |
Le nom de base du nom de fichier du projet actuel (sans chemin et extension) |
project_creation_date |
La date de création du projet, tirée des métadonnées du projet |
project_crs |
Le système de référence des coordonnées du projet |
project_crs_arconym |
L’acronyme du système de référence coordonnées du projet |
project_crs_definition |
La définition complète du système de référence des coordonnées du projet |
project_crs_description |
La description du système de référence des coordonnées du projet |
project_crs_ellipsoid |
L’ellipsoïde du système de référence des coordonnées du projet |
project_crs_proj4 |
La représentation Proj4 du système de référence des coordonnées du projet |
project_crs_wkt |
La représentation WKT du système de référence des coordonnées du projet |
project_distance_units |
L’unité de distance du projet en cours, utilisée pour le calcul des longueurs des géométries et des distances |
project_ellipsoid |
Le nom de l’ellipsoïde du projet en cours, utilisé pour le calcul des surface géodésiques ou des longueurs de géométrie |
project_filename |
Le nom de fichier du projet actuel |
project_folder |
Le dossier du projet en cours |
project_home |
Le home path du projet actuel |
project_identifier |
L’identifiant du projet, tiré des métadonnées du projet |
project_keywords |
Les mots-clés du projet, tirés des métadonnées du projet |
project_last_saved |
Date/time à laquelle le projet a été enregistré pour la dernière fois. |
project_path |
Le chemin complet (y compris le nom du fichier) du projet en cours |
project_title |
Le titre du projet actuel |
project_units |
Les unités du CRS du projet |
qgis_locale |
La langue actuelle de QGIS |
qgis_os_name |
Le nom du système d’exploitation actuel, par exemple “windows”, “linux” ou “osx”. |
qgis_platform |
La plate-forme QGIS, par exemple “desktop” ou “server”. |
qgis_release_name |
Le nom de la version actuelle de QGIS |
qgis_short_version |
La chaîne courte de la version actuelle de QGIS |
qgis_version |
La chaîne de la version actuelle de QGIS |
qgis_version_no |
Le numéro de la version actuelle de QGIS |
row_number |
Enregistre le numéro de la ligne actuelle |
snapping_results |
Donne accès aux résultats de capture lors de la numérisation d’une entité (uniquement disponible dans la fonctionnalité d’ajout) |
scale_value |
La valeur actuelle de la distance entre les barres d’échelle |
symbol_angle |
L’angle du symbole utilisé pour rendre l’élément (valable uniquement pour les symboles de marqueur) |
symbol_color |
La couleur du symbole utilisé pour rendre l’entité |
symbol_count |
Le nombre d’entités représentés par le symbole (dans la légende de la mise en page) |
symbol_id |
L’identification interne du symbole (dans la légende de la mise en page) |
symbol_label |
L’étiquette du symbole (soit une étiquette définie par l’utilisateur, soit l’étiquette autogénérée par défaut - dans la légende de la mise en page) |
symbol_layer_count |
Nombre total de couches de symboles dans le symbole |
symbol_layer_index |
Index de la couche de symboles actuelle |
symbol_marker_column |
Numéro de colonne pour le marqueur (valable uniquement pour les remplissages par points). |
symbol_marker_row |
Numéro de rang pour le marqueur (valable uniquement pour les remplissages par points). |
user_account_name |
Le nom utilisateur de compte du système d’exploitation actuel |
user_full_name |
Le nom d’utilisateur du système d’exploitation actuel |
value |
La valeur actuelle |
with_variable |
Permet de définir une variable à utiliser dans une expression et d’éviter de recalculer la même valeur à plusieurs reprises |
zoom_level |
Niveau de zoom de la tuile qui est rendue (dérivé de l’échelle de la carte actuelle). Normalement dans l’intervalle [0, 20]. |
Quelques exemples :
Renvoyer la coordonnée X du centre d’un élément carte de la mise en page
x( map_get( item_variables( 'map1'), 'map_extent_center' ) )
Renvoie, pour chaque entité de la couche actuelle, le nombre d’entités dans la couche “airports” qui lui sont superposés
aggregate( layer:='airport', aggregate:='count', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
Récupère l’object_id du premier point accroché d’une ligne
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. Fonctions récentes
Ce groupe contient des fonctions récemment utilisées. Selon le contexte de son utilisation (sélection entités, calculateur de champs, générique), les expressions récemment appliquées sont ajoutées à la liste correspondante (jusqu’à dix expressions), triées de plus récentes à moins récentes. Il est ainsi facile de récupérer et de réappliquer rapidement les expressions précédemment utilisées.