Règles attributaires de calcul

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 :

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) Règles de calcul puis sur Immediate Calculation (Calcul immédiat) Règles de calcul. 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 False (Faux)) ou de l’outil Import Attribute Rules (Importer des règles attributaires).

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.

Approfondissement :

Les changements de données directs d’un enregistrement en cours de suppression risquent de ne pas être observés avec une règle de calcul immédiat. Mais selon le script Arcade, d’autres fonctions de règles attributaires avancées peuvent être observées, par exemple la mise à jour d’une autre entité avec le déclencheur suppression. Pour plus d’informations, reportez-vous à la rubrique Mots-clés du dictionnaire de règles attributaires.

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.

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) Règles de calcul puis sur Batch Calculation (Calcul par lots) 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 Évaluer les règles ou à Error Inspector (Inspecteur d’erreurs).

Remarque :
L’espace de travail en entrée pour l’évaluation des règles de validation et de calcul par lots dépend du type de géodatabase dans lequel le jeu de données avec les règles attributaires est stocké :
  • Géodatabase fichier : la géodatabase est l’espace de travail en entrée à évaluer.
  • Géodatabase d’entreprise : vous devez utiliser un service d’entités avec la fonction Validation comme espace de travail en entrée à évaluer. Pour en savoir plus sur le partage de données en tant que service d’entités avec la fonction Validation.

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).
  • Examiner les entités d’erreurs et effectuer les mises à jour nécessaires pour corriger les erreurs.
  • Évaluer les règles.

Pour plus en savoir plus, reportez-vous aux rubriques Partager des jeux de données avec des règles attributaires, Évaluer les règles attributaires et Gérer les erreurs des 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 :

Exemple illustrant l’impact de l’ordre d’évaluation des règles sur le résultat obtenu

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