Mettre les champs à jour par lots (Gestion des données)

Synthèse

Transforme les champs dans une table ou classe d’entités en fonction d’une structure définie dans la table de définition et crée une nouvelle table ou classe d’entités.

Cet outil vous permet d’effectuer les actions suivantes :

  • Ajouter de nouveaux champs.
  • Mettre à jour les champs existants.
  • Réorganiser les champs.
  • Modifier les types de champ.
  • Modifier les propriétés de champ.
  • Attribuer ou mettre à jour les alias de champ.
  • Calculer les valeurs d’un champ à partir de champs existants à l’aide de Python.
  • Supprimer des champs.

Utilisation

  • La table en entrée peut être une table ou une classe d’entités. Cet outil produit une table ou une nouvelle classe d’entités avec la structure mise à jour.

  • Les modifications de la structure de la table en sortie sont définies par le paramètre Output Schema Definition Table (Table de définition de structure en sortie).

    Voici un exemple de table de définition :

    Exemple d’une table de définition

    Si le paramètre Output Schema Definition Table (Table de définition de structure en sortie) inclut les noms de champ suivants, comme dans l’exemple ci-dessus, les valeurs de paramètre suivantes sont renseignées automatiquement :

    • Target field
    • Source field
    • Type
    • Decimals/Length
    • Alias
    • Script

  • L’outil calcule de nouveaux champs à l’aide de champs existants en indiquant un champ de script dans la table de définition.

    !TOTPOP!/!AREA! est un exemple de valeur dans le champ Script de la table de définition, qui calcule le champ Population Density. Les noms de champ doivent être délimités par des points d’exclamation.

  • L’outil permet également de créer des champs supplémentaires dépendant des calculs d’autres champs. Par exemple, le champ Bev_Index est calculé à l’aide du champ Bev_Per_Capita, qui est également calculé lorsque l’outil est exécuté.

  • Utilisez le paramètre Script File (Fichier de script) pour les calculs Python de plusieurs lignes. Pour utiliser un fichier de script, créez un fichier avec des fonctions Python et référencez celles-ci dans la table de définition.

    L’exemple suivant est un code de script pour un champ cible nommé Bev_Per_Capita :

    • Champ nommé Script dans la valeur du paramètre Output Schema Definition Table (Table de définition de structure en sortie), avec la valeur Bev_Per_Capita(!Bev_Total!, !TOTPOP!)
    • Valeur du paramètre Script File (Fichier de script) avec la fonction suivante :
      
      def Bev_Per_Capita(Bev_Total, TOTPOP):
          return Bev_Total / TOTPOP

    L’exemple suivant illustre la table attributaire avant et après exécution de l’outil :

    Exemple d’utilisation de l’outil Mettre les champs à jour par lots

Paramètres

ÉtiquetteExplicationType de données
Input Table (Table en entrée)

Table ou classe d’entités en entrée.

Table View
Table en sortie

Table ou classe d’entités en sortie contenant les champs mis à jour.

Table
Table de définition de structure en sortie

Table contenant les calculs et définitions de champ qui vont servir à créer la sortie.

Table View
Fichier de script
(Facultatif)

Fichier Python qui stocke les fonctions Python de plusieurs lignes pour effectuer les calculs pour les champs du paramètre Output Table (Table en sortie).

File
Output Field Name (Nom du champ en sortie)
(Facultatif)

Nom du champ de la table de définition qui contient les noms de champ cible pour la table en sortie.

Field
Nom du champ source
(Facultatif)

Nom du champ de la table de définition qui contient les noms de champ source de la table en entrée.

Field
Output Field Type (Type de champ en sortie)
(Facultatif)

Champ dans la valeur du paramètre Output Schema Definition Table (Table de définition de structure en sortie) qui définit les types de données pour la table en sortie. Ce champ doit être de type Text (Texte).

Champ dans la field_definition_table qui définit les types de données pour la table en sortie. Ce champ doit être de type Text (Texte).

Les valeurs suivantes sont prises en charge :

  • BigInteger : entier de 64 bits
  • Blob : grand objet binaire
  • Date : date
  • DateOnly : date uniquement
  • Double : nombre à virgule flottante à double précision
  • GlobalID : ID global
  • GUID : identifiant unique global
  • Integer (ou Long) : entier 32 bits
  • Raster : raster
  • Float (ou Single) : nombre à virgule flottante à simple précision
  • Short (ou SmallInteger) : entier 16 bits
  • Text (ou String) : chaîne de caractères
  • TimeOnly : heure uniquement
  • TimestampOffset’ : décalage de l’horodatage
Field
Décimales ou longueur du champ en sortie
(Facultatif)

Nom du champ de la table de définition qui définir le nombre de décimales ou la longueur du champ des champs en sortie.

Field
Alias du champ en sortie
(Facultatif)

Nom du champ de la table de définition qui contient les noms d’alias de la table en sortie.

Field
Script du champ en sortie
(Facultatif)

Nom du champ de la table de définition qui définir les calculs pour les champs en sortie.

Field

arcpy.management.BatchUpdateFields(in_table, out_table, field_definition_table, {script_file}, {output_field_name}, {source_field_name}, {output_field_type}, {output_field_decimals_or_length}, {output_field_alias}, {output_field_script})
NomExplicationType de données
in_table

Table ou classe d’entités en entrée.

Table View
out_table

Table ou classe d’entités en sortie contenant les champs mis à jour.

Table
field_definition_table

Table contenant les calculs et définitions de champ qui vont servir à créer la sortie.

Table View
script_file
(Facultatif)

Fichier Python qui stocke les fonctions Python de plusieurs lignes pour effectuer les calculs pour les champs du paramètre out_table.

File
output_field_name
(Facultatif)

Nom du champ de la table de définition qui contient les noms de champ cible pour la table en sortie.

Field
source_field_name
(Facultatif)

Nom du champ de la table de définition qui contient les noms de champ source de la table en entrée.

Field
output_field_type
(Facultatif)

Champ dans la valeur du paramètre Output Schema Definition Table (Table de définition de structure en sortie) qui définit les types de données pour la table en sortie. Ce champ doit être de type Text (Texte).

Champ dans la field_definition_table qui définit les types de données pour la table en sortie. Ce champ doit être de type Text (Texte).

Les valeurs suivantes sont prises en charge :

  • BigInteger : entier de 64 bits
  • Blob : grand objet binaire
  • Date : date
  • DateOnly : date uniquement
  • Double : nombre à virgule flottante à double précision
  • GlobalID : ID global
  • GUID : identifiant unique global
  • Integer (ou Long) : entier 32 bits
  • Raster : raster
  • Float (ou Single) : nombre à virgule flottante à simple précision
  • Short (ou SmallInteger) : entier 16 bits
  • Text (ou String) : chaîne de caractères
  • TimeOnly : heure uniquement
  • TimestampOffset’ : décalage de l’horodatage
Field
output_field_decimals_or_length
(Facultatif)

Nom du champ de la table de définition qui définir le nombre de décimales ou la longueur du champ des champs en sortie.

Field
output_field_alias
(Facultatif)

Nom du champ de la table de définition qui contient les noms d’alias de la table en sortie.

Field
output_field_script
(Facultatif)

Nom du champ de la table de définition qui définir les calculs pour les champs en sortie.

Field

Exemple de code

Exemple d’utilisation de l’outil BatchUpdateFields (script autonome)

Le script de fenêtre Python suivant illustre l’utilisation de la fonction BatchUpdateFields dans un script autonome.

import arcpy
arcpy.management.BatchUpdateFields(
    "zip_codes", "MyProject.gdb\zip_codes_BatchUpdateFields",
    "DATA_TRANSFORMATION.csv", r"C:\BatchUpdate\script.py", "TARGET",
    "SOURCE", "DATATYPE", "DECIMALS", "ALIAS", "SCRIPT")

Rubriques connexes