Les règles de calcul permettent de renseigner automatiquement les configurations d’attribut sur une entité. Elles peuvent être définies comme règles de calcul immédiat ou règles de calcul par lots, selon le moment où elles doivent être évaluées :
- Règles de calcul immédiat : l’évaluation des règles a lieu immédiatement lors des opérations de mise à jour. Le type d’événement déclencheur spécifié lors de la création de la règle permet de procéder à l’évaluation lors des opérations d’insertion, de mise à jour ou de suppression.
- Règles de calcul par lots : l’évaluation des règles a lieu au moment spécifié par l’utilisateur.
Les champs attributaires associés à une règle de calcul peuvent être configurés en lecture seule ou de telle sorte qu’ils puissent être mis à jour par l’utilisateur. Lorsque vous créez des règles de calcul, la case à cocher Is Editable (Est modifiable) figure sous le champ en entrée auquel elle s’applique :
- Activée : les mises à jour définies par l’utilisateur sont autorisées sur le champ. L’entrée utilisateur dans ce champ peut être remplacée par l’évaluation d’une règle attributaire en fonction de la définition de la règle.
- Désactivée : les mises à jour définies par l’utilisateur ne sont pas autorisées et le champ attributaire sur lequel la règle est créée est défini comme un champ géré par le système. La règle de calcul s’applique au cours de l’événement déclencheur défini dans la règle.
Attention :
Une fois qu’un champ défini par l’utilisateur est configuré comme un champ géré par le système, il n’est plus possible de le modifier.
Règles de calcul immédiat
Les règles de calcul évaluées lors des opérations de mise à jour en fonction de certains événements déclencheurs sont appelées des règles de calcul immédiat. Ce type de règle de calcul est utilisé dans les processus nécessitant des calculs automatiques au fur et à mesure des mises à jour.
Les règles de calcul immédiat sont créées dans la vue des règles attributaires en cliquant sur le bouton de la liste déroulante Calculation Rule (Règle de calcul) puis sur Immediate Calculation (Calcul immédiat) . Il est possible aussi de créer ce type de règle à l’aide de l’outil Ajouter une règle attributaire (en veillant à ce que l’option de création par lots soit définie sur False (Faux)) ou de l’outil Importer des règles attributaires. Les règles de calcul immédiat peuvent être créées sur un jeu de données dans une géodatabase fichier ou d’entreprise.
Les règles de calcul immédiat sont évaluées lors de l’opération de mise à jour, en fonction d’événements déclencheurs spécifiques. Les événements déclencheurs (insertion, mise à jour ou suppression) sont spécifiés en tant que propriété de la règle.
Règles de calcul par lots
Les règles de calcul évaluées au moment spécifié par l’utilisateur sont appelées des règles de calcul par lots. Ce type de règle de calcul est particulièrement adapté pour effectuer des calculs sur des entités existantes ou pour garder le contrôle lors de l’évaluation de la règle. Cela peut être nécessaire, par exemple, si le calcul s’avère trop onéreux au moment de l’opération de mise à jour.
Les règles de calcul par lots sont configurées sur des jeux de données dans une géodatabase d’entreprise. L’espace de travail doit être défini sur Branch (Branche) dans les propriétés de connexion à la géodatabase.
Remarque :
Les règles attributaires de calcul par lots et de validation sont uniquement prises en charge sur les tables ou les classes d’entités ponctuelles, linéaires et surfaciques.Les règles de calcul par lots sont créées dans la vue des règles attributaires en cliquant sur le bouton de la liste déroulante Calculation Rule (Règle de calcul) puis sur Batch Calculation (Calcul par lots) . Il est possible aussi de créer ce type de règle à l’aide de l’outil Add Attribute Rule (Ajouter une règle attributaire) (en veillant à ce que l’option de création par lots soit définie sur True (Vrai)) ou de l’outil Import Attribute Rules (Importer des règles attributaires).
Pour évaluer les règles de calcul par lots pour un jeu de données, vous pouvez faire appel à l’outil Evaluate Rules (Évaluer les règles) ou à l’Inspecteur d’erreurs. La source de données doit être issue d’un service d’entités dont la fonction de validation est activée.
Voici les étapes générales de configuration et d’évaluation des règles de calcul par lots :
- Ajouter la règle attributaire au jeu de données.
- Partager le jeu de données en tant que couche d’entités web dont la fonction Validation est activée.
- Mettre à jour la couche d'entités web.
- Évaluer les règles et vérifier les entités à l'aide de l’outil Inspecteur d’erreurs (Error Inspector).
- Examinez les entités d’erreurs et effectuez des mises à jour afin de corriger les erreurs.
- Évaluer à nouveau les règles.
Pour plus en savoir plus, reportez-vous aux rubriques Partager des jeux de données avec des règles attributaires et Évaluer les règles attributaires.
Ordre d’évaluation
Une fois les règles évaluées, l’ordre contrôle la séquence dans laquelle les règles sont évaluées. En ce qui concerne les règles de calcul, le résultat de l’évaluation peut varier selon l’ordre d’évaluation des règles dans un jeu de données.
L’ordre d’évaluation est d’autant plus important lorsqu’il existe des dépendances d’autres champs calculés pour l’entité stockée. L’image ci-dessous montre l’incidence de l’ordre d’évaluation des règles sur le résultat obtenu avec deux règles de calcul :
L’ordre d’évaluation est une propriété d’une règle attributaire que vous pouvez consulter grâce à la vue des règles attributaires. Il est possible d’utiliser la fonction arcpy.Describe pour imprimer les propriétés des règles attributaires. L’ordre d’évaluation, déterminé initialement par l’ordre de création des règles pour un jeu de données, est stocké sous forme de valeur entière commençant par 1. Cet ordre est incrémenté d’une unité au fur et à mesure que de nouvelles règles sont définies. Les règles de calcul immédiat et les règles de calcul par lots gèrent, de façon indépendante, leur propre ordre d’évaluation.
La vue des règles attributaires présente les règles de calcul en fonction de l’ordre d’évaluation indiqué dans les sections Immediate (Immédiat) et Batch (Lot). Pour changer l’ordre d’évaluation, apportez des modifications à la colonne Order (Ordre) dans la vue des règles attributaires ou utilisez l’outil Reorder Attribute Rule (Réorganiser une règle attributaire).
Lorsqu’un jeu de données contient plusieurs règles attributaires, l’exécution suit également un ordre spécifique en fonction du type de règle. Pour plus d’informations, reportez-vous à la rubrique Évaluer les règles attributaires.
Exemples
Voici quelques exemples d’utilisation des règles attributaires de calcul dans une géodatabase :
- Concaténez un tableau de valeurs de champ de texte en un champ spécifié.
- Lorsque l’attribut LifeCycleStatus d’une canalisation est mis à jour sur la valeur Abandoned, l’attribut PressureZone est modifié en None.
- Lorsque la longueur d’un pylône électrique est supérieure à 65 pieds, la valeur du matériau est calculée comme étant de l’acier.
- Lors de la création d’un pylône, générez un nouvel ID de ressource basé sur une séquence assetid_seq.
Astuce :
Lors de la création de règles de calcul, assurez-vous que les résultats de l’évaluation de l’expression de script portent sur le même type de données que le champ calculé.Reportez-vous au profil Arcade pour connaître les exigences et les variables globales afin de créer des types de règles attributaires. Vous pouvez vous servir du document Arcade Getting Started guide et de l’index des fonctions (Function Index) comme ressources supplémentaires afin de commencer la création d’expressions de script pour les règles attributaires.
Reportez-vous aux exemples de la rubrique Expressions de script des règles attributaires
Vous avez un commentaire à formuler concernant cette rubrique ?