<< Cliquer pour afficher la table des matières >> Liste des expressions |
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. |