Liste des expressions

<< Cliquer pour afficher la table des matières >>

Navigation :  Fonctions standard > Expressions >

Liste des expressions

Page précédenteRetour chapitrePage suivante

Sur cette page sont listées une sélection de propriétés et fonctions utiles pouvant être utilisées dans les expressions.

Pour une liste plus complète, consulter cette page.

Propriétés

Il existe trois types principaux de propriétés, chacun d'eux est symbolisé par un caractère en suffixe :

& représente un nombre numérique.

# représente un nombre décimal.

$ représente une chaîne de caractères.

Géometrie

Nom

Syntaxe

Description

Aire

_area#

Obtient l'aire couverte par les objets d'un calque, en mètres carré.

Sens horaire

_bClockwise&

La géométrie de l'objet est-elle définie dans le sens horaire ?

Retourne -1 (Vrai) pour le sens horaire, 0 (Faux) pour le sens anti-horaire.

Fermé

_closed&

Est-ce que la géométrie de l'objet forme une boucle fermée ?

Retourne -1 (Vrai) pour une boucle fermée, 0 (Faux) pour une boucle non fermée.

Longueur

_lenght#

La longueur de la géométrie, en mètres.

Nombre de boucles

_numloops&

Le nombre de boucles composant un objet Polygone.

La plupart des objets polygone n'ont qu'une seule boucle. Cependant, tout trou ou ilot sera considéré comme une boucle supplémentaire.

Origine en X

Origine en Y

Origine en Z

_ox#

_oy#

_oz#

La coordonnée X/Y/Z de l'origine de l'objet, en mètres.

Simple

_bSimple&

La géométrie de l'objet est-elle simple ? Une géométrie non-simple signifie que l'objet possède des lignes croisées ou des retours en arrière.

Retourne -1 (Vrai) pour une géométrie simple, 0 (Faux) pour une géométrie non-simple.

Taille en X

Taille en Y

Taille en Z

_sx#

_sy#

_sz#

La taille de l'objet dans la direction X/Y/Z, en mètres.

Text

Nom

Syntaxe

Description

Texte

_text$

Le contenu textuel de l'objet.

Functions

Date

Nom

Syntaxe

Description

Date

Date(date)

Les date/heure courantes, ou celles données en propriété ou en chaîne de caractères.

Date() retourne la date et l'heure courantes.

Now

Now()

Retourne une date correspondant à la date et l'heure courante.

ParseDate

ParseDate(str$)

Convertit une chaîne de caractères en date.

Vérification

Nom

Syntaxe

Description

Exists

Exists(propriété)

Est-ce que la propriété donnée existe pour cet objet ?

Retourne -1 (Vrai) si la propriété existe sur l'objet courant, 0 (Faux) si la propriété n'existe pas sur l'objet courant.

Exemple : Exists(_text$)

retourne Vrai uniquement pour les objets de type Texte, TexteBoîte, Label et TexteLigne.

IsNull

IsNotNull

"expression" Is Null

"expression" Is Not Null

Teste si la valeur d'une propriété ou une expression est Nulle/non Nulle.

Mathématiques

Nom

Syntaxe

Description

Log10

Log10(nombre)

Obtient le logarithme base 10 d'un nombre.

Round

Round(nombre, décimales)

Arrondit un nombre.

Exemple : Round(_length#, 2) arrondit la valeur de lenght# avec deux chiffres après la virgule.

Programmation

Nom

Syntaxe

Description

Iif

Iif(expression, partieVraie, partieFausse)

Retourne l'une des deux parties selon le résultat vrai ou faux de l'expression.

Exemple : Iif(_length#>1000,"Cette ligne est longue", "Cette ligne est courte")

retourne la chaîne de caractères "Cette ligne est longue" si la propriété géométrique _length# dépasse les 1000 mètres. Sinon la chaîne de caractères "Cette ligne est courte" sera retournée.

Portée

Nom

Syntaxe

Description

JoinItem

JoinItem(calque)

Permet d'accéder aux propriétés/attributs d'un objet provenant d'un autre calque. Si deux éléments répondent au test, seul le premier trouvé est pris en compte.

Exemple : JoinItem(Overlay("dbSoir",{MITHRA::no_receiver&=this.MITHRA::no_receiver&})).Val#

retourne la valeur acoustique d'un objet du calque "dbSoir" ayant le même numéro récepteur que l'objet courant.

Exemple 2 : JoinItem(Overlay('batiments',{ST_Intersects(geometry,this.geometry)})).MITHRA::no_building&

retourne le numéro du bâtiment en intersection avec l'objet courant. Attention à bien renseigner le nom complet du calque.

this

this.propriété

Obtient la propriété d'un objet.

En temps normal, tout élément se trouvant à l'intérieur d'accolades {...} s'exécute sur le(s) objet(s) dans un autre calque. Cependant, en utilisant this, il est possible de "faire pointer" vers le calque original courant.

Exemple : Overlay("dbSoir",{MITHRA::no_receiver&=this.MITHRA::no_receiver&})

'this.MITHRA::no_receiver&' pointe vers le numéro récepteur de l'objet courant du calque courant, et 'MITHRA::no_receiver&' pointe vers le numéro récepteur des objets du calque  "dbSoir".

Spatial

Nom

Syntaxe

Description

FindItem

FindItem(Overlay(nom, {filtre}), testgéometrie, modegéometrie)

Trouve un objet dans un autre calque qui satisfait un test spatial avec l'objet courant. L'objet trouvé dépendra des paramètres testgeometrie et modegeometrie choisis. Lorsque plus d'un objet réussit le test spatial, seul un objet sera sélectionné.

nom : Le nom du calque dans lequel l'objet sera cherché.

filtre : Un filtre optionnel à appliquer aux objets du calque dans lequel s'effectue la recherche.

testgéometrie : Le test spatial à appliquer :

 0 Egal : Les géométries des deux objets doivent être identiques.

 1 Disjoint : Les objets doivent être complètement séparés.

 2 Intersecte : Les objets ne doivent pas être disjoints, ils doivent avoir au moins un point en commun. Il s'agit du test le plus rapide et commun.

 3 Touche : Les intérieurs des objets doivent être disjoints, et leur contours doivent s'intersecter.

 4 Traverse : Si les objets sont des Lignes, ils doivent s'intersecter sans être en tangente. Sinon, leurs intérieurs doivent s'intersecter, l'objet courant allant à l'extérieur de l'objet du calque.

 5 Traversé par : Si les objets sont des Lignes, ils doivent s'intersecter sans être en tangente. Sinon, leurs intérieurs doivent s'intersecter, l'objet du calque allant à l'extérieur de l'objet courant.

 6 Est dans : L'intérieur de l'objet courant doit être strictement à l'intérieur de l'objet du calque.

 7 Contient : L'intérieur de l'objet du calque doit être strictement à l'intérieur de l'objet courant.

 8 Chevauche : Si les deux objets sont des Lignes, elles doivent être tangentes, et aucun d'eux ne doit contenir l'autre. Sinon, leurs intérieurs doivent s'intersecter, aucun d'eux ne contenant l'autre.

modegéometrie: Le mode de test à appliquer :

 0 Origine : L'origine de l'objet du calque (toujours symbolisée par un point) doit passer le test avec l'objet courant.

 1 Etendue : L'étendue de l'objet du calque (toujours symbolisée par un rectangle) doit passer le test avec l'objet courant.

 2 Geometrie : La géométrie de l'objet du calque doit passer le test avec l'objet courant.

Exemple : FindItem("LAeq Nuit", 0, 0).Val#

retourne la valeur acoustique de l'objet du calque "LAeq Nuit" dont l'origine se situe à la même position que l'objet courant.

Overlay

Overlay(nom, {filtre})

Une référence à un autre calque, utilisé pour trouver des objets, avec un filtre optionnel.

Exemple : Overlay("dbNuit",{MITHRA::no_receiver&=this.MITHRA::no_receiver&})

retourne les objets du calque "dbNuit" qui ont le même numéro récepteur que l'objet courant.

OverlapArea

OverlapArea(Overlay('nom'), {filtre})

Détermine la surface en m² de chevauchement entre l'objet courant et l'objet testé.

Exemple : OverlapArea(Overlay('reference', {ST_Intersects(geometry,this.geometry)})

Chaîne de caractères

Nom

Syntaxe

Description

FormatDate

FormatDate(date,format)

Formate une date en une chaîne de caractères.

Exemple : FormatDate(date(), "%d-%m-%Y")

retourne le jour, le mois et l'année de la date courante : 26-06-2020

Str

Str(nombre)

Obtient la représentation sous forme de chaîne de caractères d'un nombre.

Val

Val(chaîne)

Obtient la valeur numérique d'une chaîne de caractères.