Fonctions mathématiques
Note Selon le Transformer, toutes les fonctions ne sont pas supportées.
L'éditeur arithmétique prend en charge les fonctions mathématiques suivantes dans les expressions. Toutes les fonctions ci-dessous traitent les arguments en double précision et renvoient des valeurs en double précision, sauf s'il s'agit de fonctions de conversion de type de valeur, telles que @int(), @double(), et @real32().
Pour toutes les fonctions qui prennent en compte un nombre variable d'arguments, les arguments dont la valeur est nulle, manquante ou une chaîne vide sont ignorés. Toutefois, si la liste d'arguments variables ne contient rien d'autre que des valeurs de chaînes nulles, manquantes ou vides, la fonction renvoie null.
Les fonctions qui reçoivent des arguments non numériques, nuls, manquants ou des chaînes de caractères vides doivent retourner null, avec l'attribut de liste fme_expression_warnings ajouté. Pour toutes les fonctions à arguments fixes qui renvoient des valeurs en double précision, attendez-vous à un résultat de NaN si NaN est fourni comme argument. Dans de nombreux cas, il faut s'attendre à un résultat d'infini si l'infini est fourni comme argument. Ainsi, nous fournissons ci-dessous des descriptions pour les cas où les arguments de la fonction sont numériques, non nuls, non infinis et non NaN.
Fonction | Description |
---|---|
abs(arg) |
Renvoie la valeur absolue du paramètre arg. . |
acos(arg) |
Renvoie l'arc cosinus de arg, dans l'intervalle [0,pi] radians. Arg doit être compris dans l'intervalle [-1,1]. |
add(arg1,[arg2]...) |
Retourne la somme des arguments. |
asin(arg) |
Renvoie l'arc sinus de arg, dans l'intervalle [-pi/2,pi/2] radians. Arg doit être compris dans l'intervalle [-1,1]. |
atan(arg) |
Renvoie l'Arc Tangente du paramètre arg, dans la plage [-pi/2,pi/2] radians. |
atan2(y,x) |
Renvoie l'arc tangent de y/x, dans l'intervalle [-pi,pi] radians. x et y ne peuvent pas être tous deux égaux à 0. |
average(arg1,[arg2]...) |
Accepte une liste de nombres et trouve la moyenne. Les valeurs d'entrée vides, manquantes et nulles sont ignorées, mais les autres données non numériques entraînent un échec. Si aucune entrée n'est fournie, une chaîne vide est renvoyée. |
ceil(arg,[decimal_places]) |
Renvoie la plus petite valeur non inférieure à arg, à la position décimale spécifiée. Si decimal_places est 0 ou non spécifié, un entier de 64 bits est retourné. Si decimal_places est >0, une valeur à virgule flottante de 64 bits est retournée. Si arg est hors de la plage, null est renvoyé. |
clamp(value,min,max) |
Renvoie la valeur selon des limites spécifiées par min et max. Si min <= valeur <= max, clamp renvoie la valeur. Si valeur < min, clamp renvoie min. Si valeur > max, la clamp renvoie max. |
col() |
Retourne la colonne de la cellule du raster étant évaluée. |
cos(arg) |
Renvoie le cosinus du paramètre arg, en radians. |
cosh(arg) |
Renvoie le cosinus hyperbolique de arg. Si un dépassement se produit, l'infini est renvoyé. |
degToRad(arg) |
Convertit les degrés en radians. |
div(x,y) |
Calcule x/y. Si une division par zéro se produit, l'infini est renvoyé. |
double(arg) |
Retourne le paramètre arg en double précision. |
exp(arg) |
Renvoie l'exponentielle de arg, définie comme e à la puissance de arg. Si un dépassement de capacité se produit, l'infini est renvoyé. |
floor(arg,[decimal_places]) |
Renvoie la plus grande valeur non supérieure à arg, à la position décimale spécifiée. Si decimal_places est 0 ou non spécifié, un entier de 64 bits est retourné. Si decimal_places est >0, une valeur à virgule flottante de 64 bits est retournée. Si arg est hors de la plage, null est renvoyé. |
fmod(x,y) |
Renvoie le reste en virgule flottante de la division de x par y. Le signe du reste suit le signe de x. Si y est 0, NaN est renvoyé. |
hypot(x,y) |
Calcule la longueur de l'hypoténuse d'un triangle rectangle (x*x+y*y). |
int(arg) |
Si arg est dans l'intervalle d'un entier de 64 bits, convertit en tronquant. Si arg est hors de la plage, null est retourné. |
int8(arg) |
Si arg est dans l'intervalle d'un entier de 8 bits, convertit en arrondissant. Si arg est hors de la plage, null est retourné. |
int16(arg) |
Si arg est dans l'intervalle d'un entier de 16 bits, convertit en arrondissant. Si arg est hors de la plage, null est retourné. |
int32(arg) |
Si arg est dans l'intervalle d'un entier de 32 bits, convertit en arrondissant. Si arg est hors de la plage, null est retourné. |
int64(arg) |
Si arg est dans l'intervalle d'un entier de 64 bits, convertit par arrondi. Si arg est hors de la plage, null est retourné. |
isnodata(arg) |
Retourne une valeur de 1 si arg est égal à la valeur nodata, sinon 0. |
log(arg) |
Renvoie le logarithme naturel du paramètre arg. |
log10(arg) |
Renvoie le logarithme en base 10 du paramètre arg. |
max(arg1,[arg2]...) |
Retourne l'argument le plus grand. |
min(arg1,[arg2]...) |
Retourne l'argument le plus petit. |
mult(arg1,[arg2]...) |
Retourne le produit de tous les arguments. |
pi() |
Retourne la valeur de pi. |
Calcule la valeur de x à la puissance y. Si x est négatif, y est censé être une valeur entière. Si x est négatif et que y est une valeur à virgule flottante, NaN est retourné. |
|
radToDeg(arg) |
Convertit les radians en degrés. |
rand() |
Retourne une valeur aléatoire comprise entre 0 et 1. |
real32(arg) |
Si arg est dans l'intervalle d'un flottant de simple précision, retourne comme un flottant de simple précision. Si arg est NaN ou l'infini, ou la négation de celui-ci, le retour est un NaN ou l'infini de simple précision. Sinon, arg est en dehors de la plage d'un flottant de précision simple, donc nous retournons un infini positif ou négatif. |
real64(arg) |
Si arg est dans la plage d'un flottant de double précision, retourne comme un flottant de double précision. Si arg est NaN ou infini, ou la négation de celui-ci, le retour est un NaN ou un infini de double précision. Sinon, arg est en dehors de la plage d'un flottant de double précision, donc nous retournons un infini positif ou négatif. |
round(arg,[decimal_places]) |
Renvoie la valeur la plus proche de arg, au nombre de décimales spécifié. Si decimal_places est 0 ou non spécifié, un entier de 64 bits est retourné. Si decimal_places est >0, une valeur à virgule flottante de 64 bits est renvoyée. Si arg est hors de la plage, null est renvoyé. |
row() |
Retourne la ligne de la cellule du raster étant évaluée. |
sin(arg) |
Renvoie le sinus du paramètre arg, en radians. |
sinh(arg) |
Renvoie le sinus hyperbolique de arg. Si un dépassement de capacité se produit, l'infini est renvoyé. |
sqrt(arg) |
Renvoie la racine carrée de arg. Si arg est négatif, NaN est retourné. |
sub(x,y) |
Calcule x-y. |
sum(arg1,[arg2]...) |
Retourne la somme des arguments. |
tan(arg) |
Renvoie la tangente du paramètre arg, en radians. |
tanh(arg) |
Renvoie la tangente hyperbolique du paramètre arg. |
uint8(arg) |
Si arg est dans la gamme d'un entier non signé de 8 bits, converti en arrondissant. Si arg est hors de la plage, null est retourné. |
uint16(arg) |
Si arg est dans la plage d'un entier non signé de 16 bits, convertit en arrondissant. Si arg est hors de la plage, null est retourné. |
uint32(arg) |
Si arg est dans la plage d'un entier non signé de 32 bits, convertit en arrondissant. Si arg est hors de la plage, null est retourné. |
uint64(arg) |
Si arg est dans la plage d'un entier non signé de 64 bits, convertir par arrondi. Si arg est hors de la plage, null est retourné. |