Utiliser le calculateur de champ

Le Calculateur de Champ peut être utilisé pour spécifier la valeur d’un ou plusieurs enregistrements – voire tous les enregistrements – d’une table. C’est un outil utile pour copier, concaténer ou créer de nouveaux champs de données.

Composants du calculateur de champ

Pour ouvrir le Calculateur de Champ, ouvrir une table attributaire ou une autre table dans Christine-SIG. Cliquer sur le nom de la colonne à modifier et sélectionner la commande Calculer. On peut aussi sélectionner la commande Calculer dans le menu Champ et choisir ensuite la colonne à modifier. Attention, la table ne doit pas être en lecture seule. Pour calculer tous les enregistrements de la table, il suffit de ne sélectionner aucun enregistrement. Pour calculer seulement un ou plusieurs enregistrements, il faut les sélectionner avant de lancer le calcul.

Une application courante du Calculateur de Champ est de copier le contenu d’un champ dans un autre. Lorsque le Calculateur de Champ est ouvert, cliquer sur le champ source dans la liste des Champs. Le nom du champ doit apparaître dans la zone de travail du Calculateur de Champ, entre crochets. Taper un point-virgule puis cliquer sur le bouton Calculer. Cela a pour effet de copier dans le champ de destination les données du champ source. Bien sűr les deux champs doivent être de même type, sans quoi il faut convertir les données.

Dans la zone de travail du Calculateur de Champ, il est possible de saisir des expressions complexes en utilisant le language de script de Christine-SIG. Pour plus d’information voir le chapitre Calculer les valeurs d’un champ dans l’aide de Christine-SIG, ou l’exemple Transformer les chemins absolus d’un catalogue de sources de données en chemins relatifs. Il est possible d’obtenir la description d’une méthode en utilisant le bouton Aide dans le Calculateur de Champ. Il suffit de sélectionner la méthode dans la zone de travail du Calculateur de Champ puis de cliquer sur le bouton Aide.

D’autres exemples d’opérations qui peuvent être réalisées dans le Calculateur de Champ sont donnés dans les tableaux ci-dessous.


Opérations mathématiques

OpérationCode
Additionner deux (ou plusieurs) champs [NUMFLD] = [NUMFLD1] + [NUMFLD2];
Soustraire deux (ou plusieurs) champs [NUMFLD] = [NUMFLD1] - [NUMFLD2];
Multiplier deux (ou plusieurs) champs [NUMFLD] = [NUMFLD1] * [NUMFLD2];
Diviser deux (ou plusieurs) champs [NUMFLD] = [NUMFLD1] / [NUMFLD2];
Convertir des mètres en pieds [NUMFLD] = [METERS_FLD] * 3.2808;
Convertir des degrés, minutes, secondes en degrés décimaux [NUMFLD] = [DEG] + ([MIN]/60) + ([SEC]/3600);
Calculer une densité de population [NUMFLD] = [TOTAL_POP] / [AREA];
Moyenne de deux champs [NUMFLD] = ([NUMFLD1] + [NUMFLD2]) / 2;
Nombre de caractères d’une chaine stockée dans un champ texte [TEXTFLD].GetLength([NUMFLD]);


Opérations sur les chaînes

OpérationCode
Affecter un texte à un champ [TEXTFLD] = "Text";
Concaténer deux champs texte sans espace [TEXTFLD] = [TEXTFLD1] + [TEXTFLD2];
Concaténer deux champs texte avec un espace [TEXTFLD] = [TEXTFLD1] + " " + [TEXTFLD2];
Concaténer un nouveau texte avec un espace et un champ [TEXTFLD] = "Text" + " " + [TEXTFLD1];
Mettre un champ numérique dans un champ texte [NUMERICFLD].AsString([TEXTFLD]);
Mettre les n premiers caractères (où n est le nombre de caractères) [TEXTFLD].Left(n, [TEXTFLD]);
Mettre les n derniers caractères (où n est le nombre de caractères) [TEXTFLD].Right(n, [TEXTFLD]);
Convertir tout le texte en minuscules [TEXTFLD].LCase();
Convertir tout le texte en majuscules [TEXTFLD].UCase();
Supprimer les espaces au début et à la fin d’un texte [TEXTFLD].TrimWhiteSpace(TRUE, TRUE);
Remplacer un caractère d’un champ texte par un autre (remplacer “C” par “D”) Number nLen i;
String sStr;
[TEXTFLD].GetLength(nLen);
while(i < nLen);
[TEXTFLD].Get(i, sStr);
if (sStr == "C");
[TEXTFLD].Set(i, "D");
endif;
i = i + 1;
endwhile;