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

Synthèse

Transforme les champs d’une table ou d’une classe d’entités selon 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. L’outil produit une nouvelle table ou 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 Table de définition de structure en sortie.

    Voici un exemple de table de définition :

    Exemple de 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

    Remarque :

    Script ou Source field doit être renseigné.

  • L’outil permet de calculer de nouveaux champs à partir des champs existants en fournissant une zone de script dans la table de définition.

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

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

  • Utilisez le paramètre Fichier de script pour effectuer plusieurs lignes de calcul dans Python. Pour utiliser un fichier de script, créez un fichier doté de fonctions Python et faites référence à ces fonctions dans la table de définition.

    Voici un exemple de code de script pour un champ cible nommé Bev_Per_Capita :

    • Champ nommé Script dans la valeur du paramètre Table de définition de structure en sortie avec une valeur de Bev_Per_Capita(!Bev_Total!, !TOTPOP!)
    • Valeur du paramètre 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 l’exécution de l’outil :

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

Paramètres

ÉtiquetteExplicationType de données
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 définitions et calculs de champs qui seront utilisés pour créer la sortie.

Table View
Fichier de script
(Facultatif)

Fichier Python qui stocke plusieurs fonctions Python linéaires utilisées pour calculer les champs du paramètre Table en sortie.

File
Nom du champ en sortie
(Facultatif)

Nom du champ issu de la table de définition qui contient les noms de champs cibles de la table en sortie.

Field
Nom du champ de la source
(Facultatif)

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

Field
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 issu de la table de définition qui définit le nombre de décimales ou la longueur des champs en sortie.

Field
Alias du champ en sortie
(Facultatif)

Nom du champ issu de la table de définition qui définit les alias des champs de la table en sortie.

Field
Script du champ en sortie
(Facultatif)

Nom du champ issu de la table de définition qui définit les calculs des 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 définitions et calculs de champs qui seront utilisés pour créer la sortie.

Table View
script_file
(Facultatif)

Fichier Python qui stocke plusieurs fonctions Python linéaires utilisées pour calculer les champs du paramètre out_table.

File
output_field_name
(Facultatif)

Nom du champ issu de la table de définition qui contient les noms de champs cibles de la table en sortie.

Field
source_field_name
(Facultatif)

Nom du champ issu de la table de définition qui contient les noms de champs sources 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 issu de la table de définition qui définit le nombre de décimales ou la longueur des champs en sortie.

Field
output_field_alias
(Facultatif)

Nom du champ issu de la table de définition qui définit les alias des champs de la table en sortie.

Field
output_field_script
(Facultatif)

Nom du champ issu de la table de définition qui définit les calculs des champs en sortie.

Field

Exemple de code

Exemple d’utilisation de la fonction BatchUpdateFields (script autonome)

Le script de fenêtre Python ci-dessous 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")

Informations de licence

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

Rubriques connexes