Ajouter un champ (Gestion des données)

Synthèse

Ajoute un nouveau champ à une table ou à la table d’une classe d’entités ou d’une couche d’entités, ainsi qu’à des rasters possédant des tables attributaires.

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Pour plus d’informations et connaître les stratégies permettant d’empêcher les modifications de données indésirables, reportez-vous à la rubrique Outils qui modifient ou mettent à jour les données en entrée.

  • Pour les shapefiles et les tables dBase, si le type d'attribut définit un caractère, des blancs sont insérés pour chaque enregistrement. Si le type de champ définit un attribut numérique, des zéros sont insérés pour chaque enregistrement.

  • Le paramètre Field Length (Longueur de champ) est applicable uniquement aux champs de type texte. Si aucune longueur de champ n’est spécifiée, une longueur égale à 255 est utilisée.

  • Pour les géodatabases, si le type de champ définit un caractère ou un nombre, <null> est inséré dans chaque enregistrement si le paramètre Field supports null values (Le champ prend en charge les valeurs nulles) est sélectionné.

  • Un champ qui n’accepte pas les valeurs Null ne peut pas être ajouté à une table ou à une classe d’entités de géodatabase non vide.

  • Un shapefile ne prend pas en charge les alias pour les champs ; par conséquent, vous ne pouvez pas ajouter d’alias de champ à un shapefile.

  • Vous pouvez utiliser un domaine existant d’une classe d’entités dans une géodatabase pour la valeur du paramètre Field Domain (Domaine de champ). Vous devez fournir le nom d’un domaine existant. Si vous fournissez une valeur ou un nom de domaine non valide, l’outil n’échoue pas, mais la valeur ou le nom non valide est ignoré et aucun domaine n’est défini pour le champ.

  • La précision et l’échelle d’un champ représentent la précision et la taille maximales des données qui peuvent être stockées dans le champ. La précision représente le nombre de chiffres qui peuvent être stockés dans le champ et l’échelle représente le nombre de décimales pour les champs réel simple et réel double. Par exemple, pour une valeur de 54,234, l’échelle est égale à 3 et la précision à 5.

    Remarque :

    La précision du champ et l’échelle ne sont pas prises en charge dans la table ou classe d’entités d’une géodatabase fichier. Si vous indiquez une valeur de précision ou d’échelle, elle sera ignorée.

    Pour les autres types de base de données, utilisez les conseils suivants pour le choix du type de champ correct pour une précision et une échelle données :

    • Lorsque vous créez un champ de type réel simple ou réel double et spécifiez une précision et une échelle, si la précision est supérieure à 6, utilisez le type réel double ; sinon, utilisez le type réel simple.
    • Pour un champ avec une échelle égale à 0, utilisez le type de champ d’entier long ou court. Lors de la création d’un champ d’entier long, spécifiez une précision égale ou inférieure à 10 ; autrement, il se peut qu’un champ de type réel double soit créé.

    En savoir plus sur les types de champ numérique

  • Les champs obligatoires sont permanents et ne peuvent pas être supprimés. Pour permettre une suppression ultérieure, définissez le champ de sorte qu’il ne soit pas requis (valeur par défaut).

  • Un champ de type raster permet d’inclure une image raster en tant qu’attribut. Il est stocké dans ou avec la géodatabase. Cela est utile lorsqu’une image est le meilleur moyen de décrire une entité. La précision, l'échelle et la longueur ne peuvent pas être définies pour les champs de type raster.

Paramètres

ÉtiquetteExplicationType de données
Table en entrée

Table en entrée à laquelle le champ spécifié est ajouté. Le champ est ajouté à la table en entrée existante ; il ne crée pas de table en sortie.

Vous pouvez ajouter des champs à des classes d'entités dans des géodatabases, des fichiers de formes, des couvertures, des tables autonomes, des catalogues d'images, des rasters avec tables attributaires et des couches.

Mosaic Layer; Raster Layer; Table View
Nom de champ

Nom du champ qui sera ajouté à la table en entrée.

String
Type de champ

Spécifie le type de champ du nouveau champ.

  • Court (Entier 16 bits)Le champ sera de type court. Les champs courts prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • Long (Entier 32 bits)Le champ sera de type long. Les champs longs prennent en charge les nombres entiers compris entre -2 147 483 648 et 2 147 483 647.
  • Entier très grand (entier de 64 bits)Le champ sera de type entier très grand. Les champs d’entiers très grands prennent en charge les nombres entiers compris entre -(253) et 253.
  • Réel simple (Virgule flottante 32 bits)Le champ sera de type réel simple. Les champs de type réel simple prennent en charge les nombres fractionnels compris entre -3,4E38 et 1,2E38.
  • Réel double (Virgule flottante 64 bits)Le champ sera de type réel double. Les champs de type réel double prennent en charge les nombres fractionnels compris entre -2,2E308 et 1,8E308.
  • TexteLe champ sera de type texte. Les champs de texte prennent en charge une chaîne de caractères.
  • DateLe champ sera de type date. Les champs de date prennent en charge les valeurs d’heure et de date.
  • Date uniquementLe champ sera de type date uniquement. Les champs Date uniquement prennent en charge des valeurs de date sans valeurs d’heure.
  • Heure uniquementLe champ sera de type heure uniquement. Les champs Heure uniquement prennent en charge des valeurs d’heure sans valeurs de date.
  • Décalage de l’horodatageLe champ sera de type décalage de l’horodatage. Les champs Décalage de l’horodatage prennent en charge des valeurs de date, d’heure et un décalage par rapport au temps universel coordonné (UTC).
  • Blob (données binaires)Le champ sera de type BLOB. Les champs BLOB prennent en charge les données stockées sous forme d’une longue séquence de nombres binaires. Vous avez besoin d'une visionneuse ou d’un chargeur personnalisé, ou d’une application tierce pour charger des attributs dans un champ BLOB ou afficher le contenu d’un champ BLOB.
  • GUID (identifiant unique global)Le champ sera de type GUID. Les champs GUID contiennent des chaînes de registre constituées de 36 caractères placés entre des accolades.
  • RasterLe champ sera de type raster. Les champs raster peuvent stocker des données raster dans ou avec la géodatabase. Tous les formats de jeu de données raster pris en charge par ArcGIS peuvent être stockés, mais il est recommandé de n’utiliser que des images de petite taille.
String
Précision de champ
(Facultatif)

Nombre de chiffres pouvant être stockés dans le champ. Tous les chiffres sont comptabilisés, qu’ils se trouvent à gauche ou à droite de la virgule.

Ce paramètre est applicable uniquement aux champs de type réel simple, réel double, court et long.

Si la table en entrée est une géodatabase fichier, la valeur de précision de champ est ignorée.

Long
Échelle de champ
(Facultatif)

Nombre de décimales stockées dans un champ.

Ce paramètre est applicable uniquement aux champs de type réel simple et réel double.

Si la table en entrée est une géodatabase fichier, la valeur d'échelle de champ est ignorée.

Long
Longueur du champ
(Facultatif)

Longueur du champ. Définit le nombre maximal de caractères autorisés pour chaque enregistrement du champ. Si aucune longueur de champ n’est spécifiée, une longueur égale à 255 est utilisée.

Ce paramètre est applicable uniquement aux champs de type texte.

Long
Alias du champ
(Facultatif)

Autre nom du champ. Ce nom est utilisé pour décrire les noms de champ sibyllins. Ce paramètre s’applique uniquement aux géodatabases.

String
Le champ prend en charge les valeurs nulles
(Facultatif)

Indique si le champ peut contenir des valeurs Null. Les valeurs Null sont des valeurs différentes de zéro ou des champs vides et ne sont prises en charge que dans les champs d’une géodatabase.

  • Option sélectionnée : le champ peut contenir des valeurs Null. Il s’agit de l’option par défaut.
  • Option désélectionnée : le champ ne peut pas contenir de valeurs Null.
Boolean
Champ obligatoire
(Facultatif)

Spécifie si le champ en cours de création est obligatoire pour la table. Les champs requis ne sont pris en charge que dans les géodatabases.

  • Activé - Le champ est obligatoire. Les champs obligatoires sont permanents et ne peuvent pas être supprimés.
  • Désactivé - Le champ n'est pas obligatoire. Il s’agit de l’option par défaut.
Boolean
Domaine de champ
(Facultatif)

Contraint les valeurs admises dans tout attribut d’une table, d’une classe d’entités ou d’un sous-type dans une géodatabase. Vous devez indiquer le nom d'un domaine existant pour qu'il soit appliqué au champ.

String

Sortie obtenue

ÉtiquetteExplicationType de données
Table en entrée mise à jour

Table en entrée mise à jour.

Table

arcpy.management.AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
NomExplicationType de données
in_table

Table en entrée à laquelle le champ spécifié est ajouté. Le champ est ajouté à la table en entrée existante ; il ne crée pas de table en sortie.

Vous pouvez ajouter des champs à des classes d'entités dans des géodatabases, des fichiers de formes, des couvertures, des tables autonomes, des catalogues d'images, des rasters avec tables attributaires et des couches.

Mosaic Layer; Raster Layer; Table View
field_name

Nom du champ qui sera ajouté à la table en entrée.

String
field_type

Spécifie le type de champ du nouveau champ.

  • SHORTLe champ sera de type court. Les champs courts prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • LONGLe champ sera de type long. Les champs longs prennent en charge les nombres entiers compris entre -2 147 483 648 et 2 147 483 647.
  • BIGINTEGERLe champ sera de type entier très grand. Les champs d’entiers très grands prennent en charge les nombres entiers compris entre -(253) et 253.
  • FLOATLe champ sera de type réel simple. Les champs de type réel simple prennent en charge les nombres fractionnels compris entre -3,4E38 et 1,2E38.
  • DOUBLELe champ sera de type réel double. Les champs de type réel double prennent en charge les nombres fractionnels compris entre -2,2E308 et 1,8E308.
  • TEXTLe champ sera de type texte. Les champs de texte prennent en charge une chaîne de caractères.
  • DATELe champ sera de type date. Les champs de date prennent en charge les valeurs d’heure et de date.
  • DATEONLYLe champ sera de type date uniquement. Les champs Date uniquement prennent en charge des valeurs de date sans valeurs d’heure.
  • TIMEONLYLe champ sera de type heure uniquement. Les champs Heure uniquement prennent en charge des valeurs d’heure sans valeurs de date.
  • TIMESTAMPOFFSETLe champ sera de type décalage de l’horodatage. Les champs Décalage de l’horodatage prennent en charge des valeurs de date, d’heure et un décalage par rapport au temps universel coordonné (UTC).
  • BLOBLe champ sera de type BLOB. Les champs BLOB prennent en charge les données stockées sous forme d’une longue séquence de nombres binaires. Vous avez besoin d'une visionneuse ou d’un chargeur personnalisé, ou d’une application tierce pour charger des attributs dans un champ BLOB ou afficher le contenu d’un champ BLOB.
  • GUIDLe champ sera de type GUID. Les champs GUID contiennent des chaînes de registre constituées de 36 caractères placés entre des accolades.
  • RASTERLe champ sera de type raster. Les champs raster peuvent stocker des données raster dans ou avec la géodatabase. Tous les formats de jeu de données raster pris en charge par ArcGIS peuvent être stockés, mais il est recommandé de n’utiliser que des images de petite taille.

Bien que les valeurs de la propriété type de l’objet Field ne correspondent pas exactement aux mots-clés utilisés par le paramètre field_type de l’outil Ajouter un champ, toutes les valeurs type de l’objet Field peuvent être utilisées comme entrée pour ce paramètre. Les différents types de champ sont appariés comme suit : Integer à LONG, String à TEXT et SmallInteger à SHORT.

String
field_precision
(Facultatif)

Nombre de chiffres pouvant être stockés dans le champ. Tous les chiffres sont comptabilisés, qu’ils se trouvent à gauche ou à droite de la virgule.

Ce paramètre est applicable uniquement aux champs de type réel simple, réel double, court et long.

Si la table en entrée est une géodatabase fichier, la valeur de précision de champ est ignorée.

Long
field_scale
(Facultatif)

Nombre de décimales stockées dans un champ.

Ce paramètre est applicable uniquement aux champs de type réel simple et réel double.

Si la table en entrée est une géodatabase fichier, la valeur d'échelle de champ est ignorée.

Long
field_length
(Facultatif)

Longueur du champ. Définit le nombre maximal de caractères autorisés pour chaque enregistrement du champ. Si aucune longueur de champ n’est spécifiée, une longueur égale à 255 est utilisée.

Ce paramètre est applicable uniquement aux champs de type texte.

Long
field_alias
(Facultatif)

Autre nom du champ. Ce nom est utilisé pour décrire les noms de champ sibyllins. Ce paramètre s’applique uniquement aux géodatabases.

String
field_is_nullable
(Facultatif)

Indique si le champ peut contenir des valeurs Null. Les valeurs Null sont des valeurs différentes de zéro ou des champs vides et ne sont prises en charge que dans les champs d’une géodatabase.

  • NULLABLELe champ peut contenir des valeurs Null. Il s’agit de l’option par défaut.
  • NON_NULLABLELe champ ne peut pas contenir de valeurs Null.
Boolean
field_is_required
(Facultatif)

Spécifie si le champ en cours de création est obligatoire pour la table. Les champs requis ne sont pris en charge que dans les géodatabases.

  • NON_REQUIREDLe champ n'est pas obligatoire. Il s’agit de l’option par défaut.
  • REQUIREDLe champ est obligatoire. Les champs obligatoires sont permanents et ne peuvent pas être supprimés.
Boolean
field_domain
(Facultatif)

Contraint les valeurs admises dans tout attribut d’une table, d’une classe d’entités ou d’un sous-type dans une géodatabase. Vous devez indiquer le nom d'un domaine existant pour qu'il soit appliqué au champ.

String

Sortie obtenue

NomExplicationType de données
out_table

Table en entrée mise à jour.

Table

Exemple de code

Exemple 1 d’ajout de champ (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction AddField en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.management.AddField("schools", "ref_ID", "LONG", 9, "", "", "refcode", 
                          "NULLABLE", "REQUIRED")
Exemple 2 d’ajout de champ (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction AddField.

# Name: AddField_Example2.py
# Description: Add a pair of new fields to a table
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
 
# Set local variables
inFeatures = "schools"
fieldName1 = "ref_ID"
fieldPrecision = 9
fieldAlias = "refcode"
fieldName2 = "status"
fieldLength = 10

# Run AddField twice for two new fields
arcpy.management.AddField(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")

arcpy.management.AddField(inFeatures, fieldName2, "TEXT", 
                          field_length=fieldLength)