Skip to main content

Calculate Fields (multiple) (Calculer des champs (multiple)) (Outils de gestion des données)

Résumé

Calcule les valeurs de plusieurs champs pour une classe d’entités, une couche d’entités ou un raster.

Utilisation

Attention :

Cet outil modifie les données en entrée. Reportez-vous à la section Outils qui modifient ou mettent à jour les données en entrée pour plus d’informations et pour découvrir des stratégies permettant d’éviter toute modification de données non souhaitée.

  • Pour en savoir plus sur les expressions Python, consultez Exemples d’utilisation de l’outil Calculer un champ dans Python.

    Pour en savoir plus sur les expressions Arcade, consultez ArcGIS Arcade dans l’aide pour les développeurs.

    Pour en savoir plus sur les expressions SQL, consultez Syntaxe d’une expression SQL et Calculer des valeurs de champ.

    Pour en savoir plus sur les expressions VBScript, consultez Exemples VBScript d’utilisation de l’outil Calculer un champ.

  • Les expressions Arcade de cet outil utilisent le profil Arcade Field Calculation (Calcul de champ). Un profil Arcade est le contexte dans lequel une expression Arcade est évaluée et interprétée. Lorsqu’une expression Arcade est évaluée, la valeur renvoyée est convertie dans le type de champ de la valeur en sortie.

    Attention :

    Avec Windows 11, version 24H2, VBScript devient une fonction à la demande et requiert la fonctionnalité VBScript.

    Pour continuer d’utiliser l’option VBScript, procédez comme suit :

    • Convertissez le type d’expression en Python, Arcade ou SQL.

    • Activez la fonctionnalité facultative VBScript dans les paramètres système de Windows.

    Pour en savoir plus, reportez-vous à l’article Avis de retrait et d’obsolescence.

  • S’il est utilisé avec un ensemble de sélection d’entités, telles que celles créées à partir d’une requête dans l’outil Créer une couche d’entités ou Sélectionner une couche par attributs, cet outil ne met à jour que les enregistrements sélectionnés.

  • Les valeurs de champs existantes seront écrasées. Pour conserver les valeurs d’origine, créez une copie de la table en entrée comme sauvegarde ou utilisez l’option Enable Undo (Activer l’annulation) de la fenêtre Geoprocessing (Géotraitement).

  • Dans le cas des calculs Python, les noms de champ doivent être délimités par des points d’exclamation (!fieldname!, par exemple).

    Pour les calculs Arcade, les noms de champ doivent avoir comme préfixe $feature. ($feature.fieldname, par exemple).

    Remarque :

    Pour transférer des valeurs temporelles entre les types de champs (Date, Date Only [Date uniquement], Time Only [Heure uniquement], Timestamp Offset [Décalage de l’horodatage] et Text [Texte]), utilisez l’outil Convertir un champ temporel à la place.

  • Pour que vous puissiez calculer des chaînes dans des champs de type texte ou caractère, dans la boîte de dialogue, celles-ci doivent être placées entre guillemets doubles (par exemple "chaîne"). Dans les scripts, les chaînes entre guillemets doubles doivent, à leur tour, être placées entre guillemets simples (par exemple,'"string"').

  • Pour calculer un champ afin qu’il corresponde à une valeur numérique, spécifiez la valeur en question dans le paramètre Expression sans guillemet.

  • Vous pouvez créer des expressions complexes à l’aide du paramètre Code Block (Bloc de code). Spécifiez directement le bloc de code dans la boîte de dialogue ou sous la forme de chaîne dans des scripts. L’expression et le code de bloc sont connectés. Le code de bloc doit relier l’expression ; le résultat du code de bloc doit être transmis à l’expression.

    Le paramètre Code Block (Bloc de code) est uniquement pris en charge pour les expressions Python.

  • Vous pouvez utiliser la mise en forme et le module math Python dans le paramètre Code Block (Bloc de code). Vous pouvez également importer des modules supplémentaires. Le module math fournit des fonctions de représentation des nombres et d’arithmétique formelle, des fonctions logarithmiques et de puissance, des fonctions trigonométriques, des fonctions de conversion angulaire, des fonctions hyperboliques et des constantes mathématiques. Pour en savoir plus sur le module math, consultez l’aide Python.

  • Pour calculer les informations de géométrie dans Python, utilisez des propriétés d’objet Geometry. Par exemple, utilisez une expression de !shape!.pointCount! pour calculer le nombre de sommets d’une entité.

    Remarque :

    L’outil Calculer des attributs géométriques prend en charge des calculs similaires.

    Pour calculer la surface et la longueur dans Python, utilisez les méthodes getArea et getLength avec un type de méthode et d’unité.

    • Pour calculer la surface géodésique de polygones en kilomètres carrés, utilisez l’expression suivante :

      !shape!.getArea('GEODESIC', 'SQUAREKILOMETERS')!

    • Pour calculer la longueur plane de polylignes (ou de polygones) en yards, utilisez l’expression suivante :

      !shape!.getLength('PLANAR', 'YARDS')

    Voir les objets ArcPy Polygon et Polyline pour plus d’informations.

    En savoir plus sur les outils de géotraitement et les unités linéaires et surfaciques

  • Si vous utilisez des données jointes, vous ne pouvez modifier que les champs de la table d’origine. Vous ne pouvez pas modifier les champs de la table jointe. Pour effectuer un calcul sur la table jointe, effectuez-le directement sur cette table.

  • Les expressions Python qui tentent de concaténer des champs de type chaîne comprenant une valeur nulle ou de division par zéro renvoient une valeur nulle pour cette valeur de champ.

  • Les expressions SQL effectuent des calculs plus rapides pour les services d’entités. Au lieu de réaliser les calculs entité par entité ou ligne par ligne, une requête unique est envoyée au serveur, ce qui entraîne des calculs plus rapides.

    Seuls les services d’entités prennent en charge les expressions SQL. Pour les autres formats, utilisez les expressions Python ou Arcade.

    L’utilisation de l’option SQL du paramètre Expression Type (Type d’expression) a les limitations suivantes :

Paramètres

Etiqueter Explication Type de données

Input Table (Table en entrée)

Table contenant les champs qui sont mis à jour avec les nouveaux calculs.

Table View; Raster Layer; Mosaic Layer

Type d’expression

Précise le type d’expression qui sera utilisé.

Si l’entrée est un service d’entités, le type d’expression par défaut est SQL. Pour les autres types d’entrée, le type d’expression par défaut est Python.

Pour en savoir plus sur les expressions Python, consultez Exemples d’utilisation de l’outil Calculer un champ dans Python.

Pour en savoir plus sur les expressions Arcade, consultez ArcGIS Arcade dans l’aide pour les développeurs.

Pour en savoir plus sur les expressions SQL, consultez Syntaxe d’une expression SQL et Calculer des valeurs de champ.

Pour en savoir plus sur les expressions VBScript, consultez Exemples VBScript d’utilisation de l’outil Calculer un champ.

  • PythonLe type d’expression Python est utilisé.

  • ArcadeLe type d’expression ArcGIS Arcade est utilisé.

  • SQLLe type d’expression SQL sera utilisé.

  • VBScript (obsolète)Le type d’expression VBScript sera utilisé.

String

Champs

Champs à calculer, expressions à calculer et clauses where et types de champ facultatifs.

L’expression SQL facultative permet de sélectionner un sous-ensemble d’enregistrements. Seuls les enregistrements correspondant à cette clause where sont calculés. Si la clause where reste vide, tous les enregistrements sont calculés. Pour plus d’informations sur la syntaxe SQL, reportez-vous à la rubrique Référence SQL pour les expressions de requête utilisées dans ArcGIS.

S’il n’existe pas de champ portant le nom spécifié dans la table en entrée, il est ajouté. Le type du champ est défini à l’aide de la valeur de type de champ. Si le type de champ n’est pas indiqué, le champ sera ajouté en tant que champ de texte.

Colonnes de la table de valeurs :

  • Field Name (Existing or New)The field that will be updated with the new calculation. If a field with the specified name does not exist in the input table, it will be added.

  • ExpressionThe expression that will be used to create a value that will populate the selected rows.

  • Where ClauseThe SQL expression that will be used to select a subset of records.

  • Field TypeSpecifies the field type of the new field. This value is only used when the field name does not exist in the input table.

    • Short (16-bit integer)The field type will be short. Short fields support whole numbers between -32,768 and 32,767.

    • Long (32-bit integer)The field type will be long. Long fields support whole numbers between -2,147,483,648 and 2,147,483,647.

    • Big integer (64-bit integer)The field type will be big integer. Big integer fields support whole numbers between -(253) and 253.

    • Float (32-bit floating point)The field type will be float. Float fields support fractional numbers between -3.4E38 and 1.2E38.

    • Double (64-bit floating point)The field type will be double. Double fields support fractional numbers between -2.2E308 and 1.8E308.

    • TextThe field type will be text. Text fields support a string of characters.

    • DateThe field type will be date. Date fields support date and time values.

    • Date (high precision)The field type will be high precision date. High precision date fields support date and time values with millisecond time.

    • Date onlyThe field type will be date only. Date only fields support date values with no time values.

    • Time onlyThe field type will be time only. Time only fields support time values with no date values.

    • Timestamp offsetThe field type will be timestamp offset. Timestamp offset fields support a date, time, and offset from a UTC value.

    • BLOB (binary data)The field type will be BLOB. BLOB fields support data stored as a long sequence of binary numbers. You need a custom loader or viewer or a third-party application to load items into a BLOB field or view the contents of a BLOB field.

    • GUID (globally unique identifier)The field type will be GUID. GUID fields store registry-style strings consisting of 36 characters enclosed in curly brackets.

    • RasterThe field type will be raster. Raster fields can store raster data in or alongside the geodatabase. All ArcGIS software-supported raster dataset formats can be stored, but it is recommended that only small images be used.

Value Table

Bloc de code

(Facultatif)

Bloc de code utilisé pour des expressions complexes.

Une fonction ne permet pas de renvoyer plusieurs valeurs.

String

Appliquer des domaines

(Facultatif)

Indique si les règles de domaine de champs sont appliquées.

  • ActivéLes règles de domaine de champ sont appliquées.

  • DécochéLes règles de domaine de champ ne sont pas appliquées. Il s’agit de l’option par défaut.

Boolean

Sortie dérivée

Etiqueter Explication Type de données

Table en sortie

Table mise à jour.

Table View; Raster Layer; Mosaic Layer

Environnements

Conserver les ID globaux

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui