> For the complete documentation index, see [llms.txt](https://docs.geodin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geodin.com/geodin-desktop/fr/analyse-des-donnees/formula-basics.md).

# Notions de base de la Formule

Les Formules permettent à GeoDin de calculer la Valeur d’un Champ de données à partir de Valeurs existant déjà dans l’Ensemble de données. Cette page est la référence du Système de formules : comment une Formule est définie (son Nom, sa Cible, sa condition et ses Options), comment Ajouter une Formule à un Type de donnée existant, et la Syntaxe de la formule complète — opérateurs mathématiques, conditions, constructions de cas particuliers, formules de type d’Puits et EGIS, et la Commande SQL alternative.

## Formules générales

Les Formules servent aux Calculs de Champs de données basés sur des Valeurs déjà existantes dans l’Ensemble de données. Les Formules définies pour un Type de donnée seront calculées automatiquement tant qu’elles sont marquées comme « Actives ». Le Calcul est effectué lorsque vous Ajoutez, Modifiez ou Supprimez des Détails dans l’ensemble de données ou lorsque vous Ajoutez ou Mettez à jour des ensembles de données, par exemple en utilisant la Méthode -Importer- de la Base de données GeoDin.

Habituellement, les Formules sont définies via la configuration du Système du Type de donnée et sont calculées automatiquement. De plus, la fonction [Calcul](/geodin-desktop/fr/analyse-des-donnees/data-checks-and-validations.md) est Disponible lors de l’enregistrement des mesures pour saisir une Formule manuellement ou l’Executer.

L’Exécution des Formules actives s’effectue dans l’ordre de leurs Définitions de Type de donnée. Vous devez garder cela à l’esprit lorsque vous utilisez des Formules interdépendantes.

Chaque Formule est définie par un Nom unique et des Propriétés qui définissent le mode de Calcul.

**Nom**

Le Nom désigne la Formule ; il doit être significatif pour une Sélection ultérieure.

**Cible**

Dans tous les cas, la Cible est un Champ du Type de donnée actuellement. Seuls les Paramètres définis dans le Type de donnée peuvent être utilisés comme Cible dans la Formule.

**Paramètre de déclenchement**

Si un Paramètre de déclenchement est défini, la Formule n’est exécutée que si le Changement dans l’Ensemble de données est effectué sur ce Paramètre. La définition d’un Paramètre de déclenchement permet ainsi le Calcul mutuel de différents Champs de données.

**Exemple :**

Scénario de Calcul :

(1) Le champ 3 est calculé à partir du champ 1 et du champ 2, c’est-à-dire que le Champ Cible de la Formule est le champ 3.

(2) Si le Contenu du champ 3 est Modifié, la Valeur du champ 2 doit être ajustée.

L’objectif de (2) ne peut pas être réalisé, puisque la Formule de (1) Ecraserait immédiatement le champ 3. Si le champ 3 est défini comme Paramètre de déclenchement dans une autre Formule et le champ 2 comme Paramètre cible, (2) est réalisé.

L’Évaluation d’une Formule avec des Paramètres de déclenchement a lieu lors de la saisie de données (grille de saisie ou Ecran de saisie), c’est-à-dire que seules les entrées effectuées à cet endroit Déclenchez la Formule. Une Formule avec un Paramètre de déclenchement n’est donc efficace que dans l’éditeur.

**Condition**

La condition est un terme logique renvoyant soit VRAI, soit FAUX. Une Formule ayant une condition n’est exécutée que si le Calcul de la condition renvoie VRAI.

Une condition est créée avec la même Syntaxe de la formule que celle utilisée pour la Formule. Elle peut être construite en utilisant des Paramètres du même Type de donnée ainsi que des Champs de données maîtres.

**Formule**

Dans les cas normaux, la Formule est un terme conduisant à un Résultat de Calcul. Elle peut accéder aux Paramètres du Type de donnée actuellement ainsi qu’aux Contenus des Champs de données maîtres et Utiliser des Liens provenant d’autres types de données. Un menu de Sélection fournit toutes les Options pour construire une Formule.

**Options**

1. La formule est active

Le Calcul est exécuté lors de la Modification de l’Ensemble de données. Sans cette Option, la Formule ne sera pas exécutée.

1. Ecraser une Cible

Même s’il existe une Entrée dans le Champ Cible, celle-ci sera Ecrasée par le Résultat du Calcul. Si cette Option est inactive, seuls les Champs Vides seront remplis.

1. Résultat 0, si Toutes les valeurs sont inférieures à la limite de détermination

Dans certains cas, une Valeur mesurée sera inférieure à la limite de détermination d’un appareil de mesure particulier. Cela signifie que, bien que la Valeur ne soit pas précise, elle est néanmoins présente et pourrait être utilisée dans une sommation de plusieurs Paramètres. Normalement, une Valeur compris entre 0 et la limite de détermination est utilisée pour de tels Calculs, mais dans certaines situations, la Valeur calculée par sommation peut être supérieure à la limite de détermination des Valeurs de Paramètres individuels, ce qui serait Faux. Cette Option vous permet de définir la Somme sur la limite de détection minimale ou la Limite de détection maximale, ou sur 0 si toutes les Valeurs de Paramètres sont inférieures à la limite de détermination et qu’aucun Réglages spéciaux avec « @B » n’existe.

1. Macro

Pour la gestion complexe de Formules de Texte avec des constructions OU ou %COND.

1. échange de Texte (aucun Calcul)

Le Texte résultant du traitement de la Formule est saisi dans le Champ Cible ; cela signifie que les variables utilisées seront remplacées par les Valeurs de l’Ensemble de données actuellement sans effectuer d’autre Calcul. Cela permet la création d’un texte formaté à partir des ensembles de données ou des données maîtres. La condition pour une utilisation réussie d’une telle Formule est un formatage Alphanumérique du Champ Cible (type : C).

**Opération**

Une Opération peut être organisée lors de l’utilisation de la Formule. Cette Opération consiste à Copier l’Ensemble de données actuellement dans un autre Type de donnée. L’Opération peut être sélectionnée, après quoi le Type de données cible est ajusté. Le Type de donnée doit être du même type d’examen. En combinaison avec l’Exécution conditionnelle des Formules, certains processus peuvent être configurés pour correspondre à un enregistrement.

**Executer**

* si tous les paramètres sont définis

Si cette Option est active et que la Formule, par exemple un Paramètre de Somme, Contient plusieurs Noms de champs, le Résultat du Calcul n’est écrit que s’il existe des entrées pour tous les champs utilisés. Sinon, les champs partiellement existants ou partiellement remplis sont utilisés pour le Calcul.

* si dernière Formule valide dans un Bloc de la même Ligne

Plusieurs Formules peuvent être définies pour un seul et même Paramètre cible. Cette Option entraîne l’Exécution de la dernière Formule valide mentionnée. Les Formules énumérées avant ne seront pas exécutées et ne peuvent pas s’influencer mutuellement.

* si l’énoncé de la vérification de condition a changé

Une condition peut être définie pour l’Exécution de la Formule. Avec cette Option, vous pouvez déterminer la Formule à exécuter si l’Évaluation de la condition Modifie sa Valeur.

**Exemple :**

Si la condition est $NA$>2 et que la Valeur dans NA égaux 1, la Valeur peut être modifiée aussi souvent que souhaité. La Formule ne sera pas exécutée tant que la Valeur est inférieure à 2.

### Définition des Formules

Une Formule est définie comme une chaîne de caractères (similaire à une définition de Texte macro) et Contient des opérateurs mathématiques pour calculer un Résultat.

Par exemple : $DAT.PAR1$ \* 100

Les caractères à l’intérieur des signes $ se rapportent à un Champ de données GeoDin. Les opérateurs suivants peuvent être utilisés :

***

\+ Addition - Soustraction \* Multiplication / Distance SQR (x) Carré de x SQRT (x) Racine carrée de x LN (x) Logarithme naturel de x EXP (x) Puissance de x (e à la puissance de x) SIN (x) Sinus de x COS (x) Cosinus de x TAN (x) Tangente de X ARCTAN (x) Arctangente de X COTAN (x) Cotangente de X ABS (x) Valeur absolue de X

\+ Addition - Soustraction \* Multiplication / Distance SQR (x) Carré de x SQRT (x) Racine carrée de x LN (x) Logarithme naturel de x EXP (x) Puissance de x (e à la puissance de x) SIN (x) Sinus de x COS (x) Cosinus de x TAN (x) Tangente de X ARCTAN (x) Arctangente de X COTAN (x) Cotangente de X ABS (x) Valeur absolue de X

***

(x) représente la Colonne de GeoDin (par exemple $DAT:PAR1$)

Des espaces Vides peuvent être inclus dans les Formules. Des Valeurs numériques ancrées (100 dans l’exemple ci-dessus) peuvent être saisies directement dans la Formule.

## Ajout d’une Formule à un Type de donnée existant

Des Formules peuvent être ajoutées à un Type de donnée à tout moment — même après que des Données de mesure existent déjà dans la Base de données. Les étapes suivantes couvrent le Processus de bout en bout :

{% stepper %}
{% step %}

#### Étape 1 : Ajouter un Nouveau paramètre sur le Type de donnée (Configuration de système)

Dans la Configuration de système GeoDin (Système > Types de données), Ouvert le Groupe de types de données pertinent et Ajouter le Nouveau paramètre qui servira de cible de la Formule. Sauvegarder la Configuration de système.
{% endstep %}

{% step %}

#### Étape 2 : Ajouter le Paramètre sur la Base de données

Ouvrir le **Gestionnaire de type de données** à le Niveau de la Base de données. Sélectionner le Type de donnée, cliquez **Editer**, et ajouter le Nouveau paramètre. Cliquez **Créer** sur écrire la structure de la table mise à jour vers la Base de données.

{% hint style="info" %}
Tous les deux la Configuration de système et la Base de données doivent être Mis à jour. Ajouter le Paramètre au Système uniquement ne le rend pas Disponible dans les Tableaux de la Base de données.
{% endhint %}
{% endstep %}

{% step %}

#### Étape 3 : Définir la Formule

Toujours dans la Configuration de système, ouvrez le Type de donnée et ajoutez une Formule :

* Définissez le **Cible** sur le Nouveau paramètre.
* assembler / composer l'expression de Formule en faisant glisser les noms de macro (références de champ telles que `$DAT.PAR1$`) depuis la Liste de Sélection vers le champ de Formule.
* Marquez la Formule comme **Active**.
* Sauvegarder.
  {% endstep %}

{% step %}

#### Étape 4 : Appliquer la Formule aux Enregistrements existants

Les Formules actives s'exécutent automatiquement sur les nouveaux enregistrements et les enregistrements mis à jour, mais **ne s'exécutent pas rétroactivement sur les données existantes**. Pour appliquer la formule à tous les enregistrements existants :

1. Ouvrez l'Editeur de mesure pour n'importe quel Puits contenant des enregistrements existants de ce Type de donnée.
2. Cliquez sur le **Bouton Calculer** (en allemand : *Berechnen*, l'icône de calcul dans la Barre d'outils de droite).
3. Dans la boîte de dialogue de Calcul, sélectionnez la formule active (La formule est active) dans la Liste.
4. Confirmez. GeoDin traite tous les Enregistrements du jeu de données actuellement chargé et écrit les Valeurs calculées.

{% hint style="warning" %}
Les Formules définies comme actives sont calculées automatiquement sur les nouveaux Enregistrements et les Enregistrements Mis à jour, mais ne **pas** s'exécutent rétroactivement sur les Enregistrements existants. Toujours utiliser le **Bouton Calculer** Bouton après avoir ajouté une nouvelle Formule pour remplir les données historiques.
{% endhint %}
{% endstep %}

{% step %}

#### Étape 5 : Formules en ligne à usage unique dans l'Editeur de mesure

L'Editeur de mesure accepte également une Formule ponctuelle saisie directement dans la Barre de Formule - Sans l'enregistrer dans la Configuration de système. Cela est utile pour des Calculs ad hoc pendant une session.

Remarque : une Formule en ligne **ne peut pas cibler un champ déjà assigné comme cible d'une Formule système active**. Si un conflit existe, la Formule système active est prioritaire et la Formule en ligne ne sera pas exécutée sur ce champ.
{% endstep %}
{% endstepper %}

***

## Référence : Conditions ET syntaxe spéciale

**Utilisation des conditions**

En plus des opérateurs mathématiques, des constructions syntaxiques spéciales peuvent être utilisées pour prendre en compte un grand nombre de cas particuliers. Pour une Formule, une condition peut être définie dans laquelle la Formule est exécutée. Une condition est une expression qui a deux résultats possibles : Vrai ou Faux. Plusieurs expressions peuvent être combinées à l'aide des opérateurs logiques ET et OU. La définition de l'Abréviation du Type de donnée est toujours nécessaire (par ex. : $WAS:NA$).

En plus des opérateurs mathématiques, des constructions syntaxiques spéciales peuvent être utilisées pour prendre en compte un grand nombre de cas particuliers. Pour une Formule, une condition peut être définie dans laquelle la Formule est exécutée. Une condition est une expression qui a deux résultats possibles : Vrai ou Faux. Plusieurs expressions peuvent être combinées à l'aide des opérateurs logiques ET et OU. La définition de l'Abréviation du Type de donnée est toujours nécessaire (par ex. : $WAS:NA$).

***Note :***

*La Formule peut être saisie directement dans l'Editeur de mesure après avoir cliqué sur le Bouton* *ou dans l'onglet Système sous Types de données-> Réglages de type de données->Formules* ([Formules générales](/geodin-desktop/fr/analyse-des-donnees/formula-basics.md)).

**Exemple de condition simpleExemple :**

*Destination :* WAS:NA\_CALC

*Condition :* $WAS:MG$>3

*Formule :* $WAS:NA$/2

Le Paramètre cible NA\_CALC est calculé Si le Paramètre MG a une Valeur de 3 ou plus.

**Exemple pour condition multipleExemple :**

*Destination :* WAS:NA\_CALC

*Condition :* $WAS:MG$>3 ET $WAS:CA$<10

*Formule :* $WAS:NA$/2

Le Paramètre cible est calculé, Si Tous les deux le Paramètre MG a une Valeur supérieure à trois ET le Paramètre CA a une Valeur inférieure à 10.

**Conditions pour Modifier les Valeurs**

En utilisant le format @O, la Valeur originale d’un enregistrement de données AVANT le dernier Modifier peut être recréée dans l’Editeur de mesure. Ainsi, la vérification des Différences est possible.

**Exemple :**

*Condition :* $WAS:PAR1$ - $WAS:PAR1\@O$ >10

La condition est Vrai, lorsque la Valeur de PAR1 dans la cellule est plus de dix fois la Valeur saisie précédemment.

**Autres exemples de conditions**

Dans une condition, l’Opérateur NULL peut être utilisé. Il définit si un Paramètre a une Valeur.

**Exemple :**

*Destination :* WAS:NA\_CALC

*Condition :* $WAS:MG$>3 ET $WAS:CA$=NULL

*Formule :* $WAS:NA$/2

Le Paramètre cible NA\_CALC est calculé en prenant la moitié de la Valeur du Paramètre NA, si la Valeur du Paramètre MG dépasse 3 et le Paramètre CA est Vide.

Si des chaînes sont utilisées dans une condition, le Texte doit être inclus entre des guillemets (ou hauts). L’absence de guillemets et les fautes d’orthographe sont interprétées comme non égales. L’orthographe de la condition est sensible à la casse.

**Exemple :**

*Destination :* WAS:NA\_CALC

*Condition :* $BEARBEIT$='Müller'

*Formule :* $WAS:NA$/2

Le Paramètre cible NA\_CALC est calculé comme la moitié du Paramètre NA, si l’Auteur : de l’enregistrement de données a le Nom Müller.

### Utilisation de règles spéciales

En plus des opérateurs mathématiques, des constructions syntaxiques spéciales peuvent être utilisées pour l’utilisation des Valeurs des Tableaux GeoDin afin de prendre en compte de nombreux cas particuliers.

**Cas particuliers dans la syntaxe de la FormuleLimites de détection**

**Exemple :** $WAS:BENZEN\@B(0,5)$+$WAS:TOLUEN\@B(0,5)$+$WAS:XYLEN\@B(0,5)$

Dans le cas ci-dessus, où des Valeurs pour des Paramètres individuels de -5 ou -1 sont trouvées, le Calcul de la Somme utilise la moitié de ces Valeurs.

**Valeurs par défaut**

Pour certains Calculs, il peut être nécessaire de travailler avec des Paramètres prédéfinis ou des valeurs par défaut. Lorsqu’un Paramètre n’est pas présent ou n’a pas été analysé dans un Ensemble de données, une Valeur par défaut peut être supposée et utilisée pour le calcul. Ceci est réalisé en utilisant la construction @D(x) dans les signes $, où x est la valeur par défaut prédéfinie utilisée lorsqu’aucune Valeur n’est présente dans le champ.

**Exemple :** VALEUR=$ORGANIC\@D(10)$/$ARGILE\@D(25)

La Valeur calculée a les quotients des substances organiques et Argile dans un Echantillon de sol. Si Non Valeurs sont présentes dans ces champs, les Valeurs Par défaut sont utilisées.

**Valeur moyenne**

Une Valeur moyenne est calculé en utilisant les Symboles « @M » à l’intérieur des Symboles dollar d’une Formule. Les Valeurs individuelles sont séparées par ";" et seuls les champs remplis peuvent être utilisés.

**Exemple :** UWDRYMIN=$UWDRYMIN1;UWDRYMIN2;UWDRYMIN3\@M$

Le Résultat est une Moyenne de UWDRYMIN1 sur UWDRYMIN3.

**Utiliser un Nombre provenant d'un Dictionnaire**

Si un Dictionnaire est utilisé, ce qui produit un Nombre lors de la saisie d’un code, cela peut être utilisé pour un Calcul. En utilisant le Signe « @R », un recodage est effectué.

**Exemple**: CU=($CONE\@R$)/SQRT($PEN1;PEN2;PEN3;PEN4;PEN5\@M$)

En premier lieu, l’Entrée pour CONE est remplacée par la Valeur du Dictionnaire. Pour les Valeurs P1 à P5, une Moyenne est calculée, à partir de laquelle la racine carrée est calculée. La Valeur pour CONE est ensuite divisée par cette Valeur.

**Utilisation des Valeurs d’un autre Type de donnée**

Les Valeurs d'un Type de donnée peuvent être Utilisé dans le calcul de Valeurs dans d'autres Types de données. Pour ce faire, le code d'un Type de donnée est suivi d'un deux-points. La relation sur un enregistrement de données dans un autre Type de donnée est définie par Heure. Pour Comparer les Valeurs, la date est utilisée inclus un Nombre de façons différentes :

***

\[=SMPDATE] ou aucune définition La date doit être la même \[<=SMPDATE] La date peut être la même ou inférieure à \[\<SMPDATE] La date doit être inférieure à \[>=SMPDATE] La date peut être la même ou supérieure à \[\<SMPDATE] La date doit être supérieure à

***

**Exemple**: WASSPNN=$ROK:ROKNN\[<=SMPDATE]$-$WASSPROK$

Le Niveau d’eau exprimé en mètres au-dessus du niveau de la mer est calculé en utilisant une Valeur du Type de donnée ROK (Haut du piézomètre). La Valeur utilisée peut provenir du même Jour ou de la Valeur la plus récente Suivant. De cette Valeur, le Niveau actuellement est soustrait.

**Utilisation des Valeurs des Données générales des Stations de mesure**

Il est possible d’incorporer des Champs de données de Données générales inclus dans la Formule pour les Stations de mesure. La relation est définie comme suit : $Tablel.Datafield$.

**Exemple :** $ASBFILTR.INVMBEG$-$WST:WASSPROK$

Le Niveau d'eau dans la destination WASSPNN a été calculé à l'aide de l'élévation des Stations de mesure ($ASBFILTR.INVMBEG$) ET du Niveau d'eau mesuré depuis le Haut du tuyau $WST:WASSPROK$ inclus dans le Type de donnée.

**Équilibre ionique**

En utilisant le Symbole %IONB, l'équilibre ionique peut être calculé et utilisé comme Résultat.

**Exemple**: IONICBALA=$%IONB$

***Attention :*** *Pour un Calcul correct, les champs portant les noms, qui sont attendus par le Calcul, doivent exister et être Utiliser inclus (voir* [*Équilibre ionique*](/geodin-desktop/fr/analyse-des-donnees/geotechnical-analyses.md)*).*

**Numérotage automatique**

Pour attribuer automatiquement des numéros consécutifs sur un Paramètre, l’expression $%FIRSTID:PARAMETER$ peut être utilisée. Le Numérotage pour le Paramètre correspondant Toujours commence à 1.

**Exemple :** $%FIRSTID:TESTNO$

Le numéro de test est automatiquement attribué à un numéro consécutif inclus dans le champ TESTNO pour chaque enregistrement. Le premier enregistrement reçoit le numéro 1.

**Symboles supplémentaires**

$%PI$ produit le Nombre Pi

$%Nom d'utilisateur$ peut Utiliser une (Texte-)Formule, sur Créer le Nom de l'Utilisateur de la Base de données actuellement

$%NOW$ donne la date et l'heure actuellement

**Référence de Puits**

$%OBJECTID$ Accès sur la LOCID pour les Tableaux de Données générales Si Disponible

$%PRJID$ Accès sur la PRJ\_Identification pour les Tableaux de données Général si Disponible

**Texte échange - Formules sur Créer texte formaté**

En activant le boîtier de commande *\[Texte échange (Non Calcul)]* un Calcul est empêché lors de l’exécution de la Formule. Cette option n’est utile que lorsqu’un Paramètre de chaîne comme Résultat est nécessaire. Le Résultat est que les Paramètres sont remplacés par une chaîne de Valeurs réelles, sans qu’aucun Calcul ne soit effectué (Non).

**Exemple :** $LOCREG.SHORTNAME$ / $SMPDATE$

inclus dans le Champ Cible sélectionné, un assemblage de la brève description du Puits, d'une barre oblique et de la date est créé, par exemple "Brg 12 / 12.10.2004".

**Échange de Texte avec Macro**

En plus de l’échange de Texte, les spécifications de Format de papier peuvent être résolues.

Exemple : $LOCREG.SHORTNAME$ du $<SMPDATE@dd.mmmm.yyyy>$

***Attention :*** *Seuls les Paramètres du même Tableau (Type de donnée) ou les Paramètres de Type de puits peuvent être évalués. Le Paramètre du Tableau actuellement doit être spécifié ici Sans l'Abréviation du Tableau. Voir l'exemple.*

## Référence : gestion de la Liste de la Formule

**Nouveau**

En utilisant cette icône, des entrées peuvent être ajoutées sur la Liste.

**Reproduction**

Utiliser cette icône pour créer une Copie de l'Entrée sélectionné. Le Nouveau Entrée est ajouté à la Fin de la Liste et sélectionné automatiquement.

**Supprimer**

Avec cette icône, les entrées marquées peuvent être Supprimer de la Liste.

**Déplacer l'Entrée sélectionné vers le haut**

Avec cette icône, les Entrée peuvent être Déplacer vers le haut dans la Liste. Déplacer des Entrée est également possible par glisser-déposer.

**Déplacer l'Entrée sélectionné vers le bas**

Avec cette icône, les Entrée peuvent être Déplacer vers le bas dans la Liste. Déplacer des Entrée est également possible par glisser-déposer.

**Editez sans les changements**

L'édition des entrées d'une Liste peut occasionnellement entraîner un long traitement. Ainsi, par exemple, Déplacer une définition de Séries ou de Colonne dans la Liste peut prendre relativement longtemps, selon le matériau de données de base, car parfois de nombreuses pages sont concernées.

Avec cette icône, la Liste peut être modifiée Sans actualisation. L'édition de la Liste peut être abandonnée avec la croix ou avec la coche.

**Réel double-cliquez sur une Entrée de la Liste**

Ferme la Liste et les Changements inclus dans la Vue arborescente des Propriétés d'objet sur l'Entrée particulière, afin que ses Propriétés puissent être modifiées.

## Référence : Type de puits et Formules EGIS

Ce chapitre décrit certaines Formules qui peuvent être utilisées/créées dans GOTE pour un Tableau de Données générales du Type de puits.

**Transformation des Coordonnées**

Cette Formule permet de transformer une spécification de coordonnées et de l'écrire dans un Champ Cible.

Paramètres de la Formule :

Méthode = TRANSFORMCOORD (identifiant ancré de la Méthode EGIS)

Résultat = partie des Coordonnées

X = Valeur X de la coordonnée d'entrée

Y = Valeur Y de la coordonnée d'entrée

EPSG = code EPSG de la coordonnée d'entrée

DESTEPSG = 3068

**Exemple :**

Cette Formule transforme la Valeur X du Puits GeoDin en Système de coordonnées 3068 (Soldner Berlin) et écrit la Valeur X transformée dans le Champ Cible de la Formule.

*$EGIS(Méthode=TRANSFORMCOORD Résultat=X X=XCOORD Y=YCOORD EPSG=KSYS DESTEPSG=3068)$*

### Formules de Type de puits

Les Types d'objets peuvent contenir des Formules pour les Champs de données de base. Ces Formules sont ensuite exécutées lors de l'édition avec la Méthode de saisie et de maintenance des données.

Les Formules suivantes regroupent un Nombre de fonctions avec lesquelles les géodonnées peuvent être traitées spatialement.

La syntaxe/grammaire de ces Formules peut être brièvement résumée comme suit.

1. la Formule commence par $%EGIS
2. inclus dans des parenthèses simples, les différents Paramètres de la Formule peuvent être configurés. Les Paramètres sont autorisés sous forme de paires clé-valeur avec des espaces.
3. la Formule se termine avec $
4. Un Paramètre ancré est le paramètre « Méthode ». La Valeur de ce Paramètre décide quelle Méthode d’Exécution de Formule est sur le point d’être utilisée.

**Exemple de structure d’une Formule :**

*$%EGIS(Méthode=XYZ Param1=Value1 Param2=Value2 ... )$*

**Conversion des coordonnéesExemple :**

$%EGIS(Méthode=TRANSFORMCOORD Résultat=X X=XCOORD Y=YCOORD EPSG=EPSG DESTEPSG=3068)$

**Méthode**

TRANSFORMCOORD

**Résultat**

Quel Calcul Résultat doit être transféré sur la cible de la Formule (inclus l'exemple montré, la Valeur X convertie).

**X**

Spécifie quel Champ de données doit être utilisé comme Valeur d'entrée sur X (***exemple :*** XCOORD).

**Y**

Spécifie quel Champ de données doit être utilisé comme Valeur d'entrée pour Y (***exemple :*** YCOORD).

**EPSG**

Indique quel Champ de données Contient le Système de coordonnées sous-jacent (***exemple :*** EPSG).

**DESTEPSG**

Spécifie le Système de coordonnées cible dans lequel le transformer (***exemple :*** 3068 Soldner Berlin).

**Dérivez des Valeurs à partir d’un fichier SIGExemple :**

$EGIS(Méthode=GETPOINTVALUE X=XCOORD Y=YCOORD SOURCE=Nappe phréatique EPSG=EPSG)$

**Méthode**

OBTENIR LA VALEUR DU POINT

Cette méthode peut être utilisée sur Lire des données à partir d’un Fichier SIG (par ex. Forme, GeoJSON) à l’aide d’une paire de coordonnées.

À cette fin, le premier Puits est lu aux Coordonnées transférées et la Valeur souhaitée est renvoyée à partir de l’ensemble d’Attributs configuré de l’Ensemble de données SIG.

De cette manière, p. ex. les noms des districts, les Aires de planification, les numéros TK, etc. peuvent être automatiquement transférés sur les Données générales GeoDin.

**X**

Indique quel Champ de données Contient la Valeur X (***exemple :*** XCOORD).

**Y**

Indique quel Champ de données Contient la Valeur Y (***exemple :*** YCOORD).

**EPSG**

Indique quel Champ de données Contient le Système de coordonnées sous-jacent (***exemple :*** EPSG).

**SOURCE**

Une référence sur une section additionnelle de la configuration des Paramètres de Connexion à la base de données GeoDin peut être liée ici.

Inclus dans les Paramètres de la Base de données, puis définissez la clé suivante avec les Valeurs de SOURCE.

Nappe phréatique= Chemin sur une Forme OU GeoJSON

GROUNDWATERFIELD= Nom de la Colonne des Attributs inclus dans la Forme ou GeoJSON

**Exemple :**

Nappe phréatique=C:\GISData\GW-Model\gw2020.shp

GROUNDWATERFIELD=MAXGW

***Note :*** *Si aucune référence additionnel n’est spécifiée sous SOURCE, Installation GeoDin essaie automatiquement de trouver un Fichier GeoJSON (\*.geojson) avec le Nom du Champ Cible de la Formule dans le répertoire Syslib de l’Installation GeoDin. Le champ Attributs à partir duquel les données sont renvoyées sur la Base de données doit avoir le même Nom dans le GeoJSON que le Champ Cible de la Formule.*

## Référence : Commande SQL alternative

Avec cette Méthode de définition d'une Requête système pour le gestionnaire de Puits GeoDin ou Requête d'objet cadre au sein d'une Sélectionner une mise en page, vous pouvez formuler N'importe quelle instruction SQL pour obtenir des données directement. Si vous maîtrisez SQL, cette Méthode est nettement plus rapide que de formuler l'instruction SQL Étape par Étape via les menus individuels.

**Exemple :**

SÉLECTIONNER \* FROM GeoDin\_LOC\_LOCREG

L’instruction SQL peut contenir des variables Macro qui sont remplacées automatiquement par GeoDin pendant l’exécution de la recherche. L’objectif de la recherche est le Facteur déterminant pour cela.

**Requête d'objet cadre inclus une Sélectionner une mise en page**

$PRJID$ est remplacé par l'Identification du projet actuellement du projet connecté sur la mise en page

$LOCID$ est remplacé par l'Identification de l'objet actuellement connecté sur la mise en page

$INVID$ est remplacé par l'Identification de la Station de mesure actuelle du Puits connecté sur la mise en page

Inclus dans une Sélectionner une mise en page avec une Bordure de graphique à un seul objet, l'extraction d'un jeu de données du Tableau GeoDin\_LOC\_LOCREG pourrait Utiliser l'instruction SQL suivante :

Sélectionner \* FROM GeoDin\_LOC\_LOCREG WHERE (PRJ\_Identification='$PRJIdentification$') ET (LOCIdentification=$LOCIdentification$)

Lorsqu’un Nouveau point est lié à la Sélectionner une mise en page (par exemple en modifiant le Puits pendant que la vue d'ensemble de la mise en page est ouverte), l’ensemble de données pour ce Puits est sélectionné à partir du Tableau de la Base de données. Dans un Texte variable avec la Source des données "Requête d'objet cadre", tous les Champs de données pour ce Puits peuvent être accessibles. Veuillez noter que l’exemple ci-dessus sert à illustrer les possibilités. Il ne serait pas utile dans une application pratique, car la macro similaire à $LONGNAME$ donne accès aux Champs de données de ce Tableau même sans Requête d'objet cadre. Normalement, les requêtes d'objet cadre sont utilisées pour extraire des ensembles de Résultat beaucoup plus complexes.

Comme dans une instruction SQL, les noms des Tableaux et des Vues de Base de données peuvent être utilisés, ces noms devraient être inclus dans la Liste de **Tableaux**. Ceci est nécessaire pour garantir l'extension nécessaire du schéma de Base de données des noms.

Dans ce type de définition d'une Requête système pour le gestionnaire du Puits GeoDin ou la recherche du framework Puits au sein d'une Sélectionner une mise en page, vous pouvez formuler N'importe quelle instruction SQL sur l'obtention des données. Exemple :

SÉLECTIONNER \* FROM GeoDin\_LOC\_LOCREG

L’instruction SQL peut contenir des variables Macro qui sont remplacées automatiquement par GeoDin avant que la recherche ne soit exécutée. Le but de la recherche est donc primordial.

Requête système pour le gestionnaire d'objets GeoDin

Les variables macro sont remplacées par les informations de la branche parente sur obtenir une restriction appropriée des Objets interrogés.

$PRJID$ est remplacé par l'Identification du Projet actuellement

$LOCID$ est remplacé par l’ID d'objet actuellement

$INVID$ est remplacé par l'Identification de la Station de mesure actuelle

La création d'une Requête système dépend de son utilisation et de l'emplacement de la requête dans le gestionnaire de Puits GeoDin. Elle dépend principalement de la définition des Objets résultants (Objet ou point de mesure ) quant aux Champs de données qui sont définis en haut dans la Liste des champs de la commande Sélectionner.

Puits : PRJ\_Identification,LOCIdentification; dans un Projet seulement LOCIdentification

Point de mesure : INVID

La Liste des champs de la commande Sélectionner peut et devrait contenir d'autres champs de données, qui génèrent les noms d'affichage inclus dans le gestionnaire de Puits.

La condition WHERE doit contenir des restrictions à le Puits parent inclus les Requêtes sous les Projets, les Objets et les Stations de mesure, sinon des Objets pourraient apparaître dans les Résultats qui ne sont pas conformes à la structure du gestionnaire de Puits (p. ex. tous / toutes les Objets d’une Base de données sous un nœud de Projet).

Exemple de Requêtes : Montrer aussi les combinaisons possibles des champs d’affichage pour le gestionnaire de Puits.

**Requêtes au niveau "Base de données" et "Requêtes sur la base de données"**

Objets :

Sélectionner PRJ\_Identification,LOCIdentification,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG order by LONGNAME

Stations de mesure :

Sélectionner INVID,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG order by LONGNAME

**Requêtes au niveau « Projet » et « Requêtes sur le projet » avec les restrictions nécessaires à PRJ\_Identification**

Objets :

sélectionner Identification localisation, LONGNAME & " (", ZCOORDE, "m)" AS F1 depuis GeoDin\_LOC\_LOCREG OÙ PRJ\_Identification='$PRJIdentification$' trier par LONGNAME

Stations de mesure :

Sélectionner INVID,LONGNAME & " (", ZCOORDE, "m)" comme F1 de GeoDin\_LOC\_LOCREG où PRJ\_Identification='$PRJIdentification$' ordonner par LONGNAME

**Requêtes au Niveau « Puits » OU « Stations de mesure » avec les restrictions nécessaires sur le PRJ\_Identification ET LOCIdentification ET, si nécessaire, sur l'INVIdentification**

sélectionner INVID,INVNAME de GeoDin\_LOC\_PRBREG OÙ (PRJ\_Identification='$PRJIdentification$' ) et (LOCIdentification=$LOCIdentification$) trier par INVNAME

**Tableaux**

Étant donné que les noms des tableaux/Vues sont Utilisé dans la définition SQL, les noms doivent également être inclus dans la Liste **Tableaux**. Ce n'est que de cette manière qu'un nom est protégé pour un travail additionnel d'édition du schéma.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.geodin.com/geodin-desktop/fr/analyse-des-donnees/formula-basics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
