Ajouter un champ (Gestion des données)

Synthèse

Ajoute un nouveau champ à une table ou la table d’une classe d’entités, couche d’entités et/ou de rasters avec des tables attributaires.

Utilisation

  • 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 du champ) est uniquement applicable aux champs de type texte. Si la longueur n’est pas spécifiée, elle est de 255 par défaut.

  • 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 Le champ prend en charge les valeurs nulles est sélectionné.

  • Un champ ne pouvant contenir des valeurs nulles ne peut pas être ajouté à une table ou classe d’entités de géodatabase non vide.

  • Un shapefile ne prend pas en charge les alias pour les champs, donc 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 le paramètre Domaine du champ. Vous devez entrer le nom d’un domaine existant. La saisie d’un nom de domaine ou d’une valeur non valide ne fait pas échouer l’outil, mais le nom ou la valeur non valide est ignoré(e) et aucun domaine n’est défini pour le champ.

  • La précision et l’échelle d’un champ décrivent la précision et la taille maximales des données qui peuvent être stockées dans le champ. La précision décrit le nombre de chiffres qui peuvent être stockés dans le champ et l'échelle décrit 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 et l’échelle du champ ne sont pas prises en charge dans une table ou une classe d’entités de géodatabase fichier. Si vous saisissez une valeur de précision ou d’échelle, elle est ignorée.

    Pour les autres types de base de données, suivez les conseils ci-après afin de choisir le type de champ approprié pour une précision et une échelle données :

    • Lorsque vous créez un champ de type flottant ou double et que vous spécifiez une précision et une échelle, si la précision est supérieure à 6, utilisez le type double ; sinon, utilisez le type flottant.
    • Dans le cas d’un champ doté d’une échelle de valeur 0, utilisez un champ de type entier long ou court. Lorsque vous créez un champ de type entier long, indiquez une précision inférieure ou égale à 10 ; sinon, le champ risque d’être créé avec un type double.

    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 vous 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 la meilleure méthode pour 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

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

String
Type de champ

Spécifie le type de champ du nouveau champ.

  • TexteLe champ est de type texte. Les champs de type texte prennent en charge une chaîne de caractères.
  • Flottant (Virgule flottante 32 bits)Le champ est de type réel simple. Les champs de type réel simple prennent en charge les nombres fractionnaires compris entre -3,4E38 et 1,2E38.
  • Double (Virgule flottante 64 bits)Le champ est de type réel double. Les champs de type réel double prennent en charge les nombres fractionnaires compris entre -2,2E308 et 1,8E308.
  • Court (Entier 16 bits)Le champ est de type court. Les champs de type court prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • Long (Entier 32 bits)Le champ est de type long. Les champs de type long prennent en charge les nombres entiers compris entre 2 147 483 648 et 2 147 483 647.
  • DateLe champ est de type date. Les champs de date prennent en charge les valeurs de date et d'heure.
  • Blob (données binaires)Le champ sera de type BLOB. Les champs de type BLOB prennent en charge les données stockées en tant que 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.
  • Imagerie rasterLe champ sera de type raster. Les champs raster peuvent stocker les 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.
  • 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.
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 du 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.

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

Long
Alias du champ
(Facultatif)

Autre nom du champ. Ce nom sert à décrire les noms de champs 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 (nulles). Les valeurs Null sont différentes de zéro ou les champs vides sont uniquement pris en charge pour 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 requis
(Facultatif)

Précise si le champ en cours de création est obligatoire pour la table ou non. Les champs obligatoires sont uniquement pris en charge dans une géodatabase.

  • 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)

Force les valeurs permises d’un attribut quelconque d’une table, d’une classe d’entités ou d’un sous-type d’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

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

String
field_type

Spécifie le type de champ du nouveau champ.

  • TEXTLe champ est de type texte. Les champs de type texte prennent en charge une chaîne de caractères.
  • FLOATLe champ est de type réel simple. Les champs de type réel simple prennent en charge les nombres fractionnaires compris entre -3,4E38 et 1,2E38.
  • DOUBLELe champ est de type réel double. Les champs de type réel double prennent en charge les nombres fractionnaires compris entre -2,2E308 et 1,8E308.
  • SHORTLe champ est de type court. Les champs de type court prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • LONGLe champ est de type long. Les champs de type long prennent en charge les nombres entiers compris entre 2 147 483 648 et 2 147 483 647.
  • DATELe champ est de type date. Les champs de date prennent en charge les valeurs de date et d'heure.
  • BLOBLe champ sera de type BLOB. Les champs de type BLOB prennent en charge les données stockées en tant que 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.
  • RASTERLe champ sera de type raster. Les champs raster peuvent stocker les 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.
  • 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.

Bien que les valeurs de propriétés type de l’objet Field ne soient une correspondance exacte pour les 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 de ce paramètre. Les différents types de champs 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.

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

Long
field_alias
(Facultatif)

Autre nom du champ. Ce nom sert à décrire les noms de champs sibyllins. Ce paramètre s’applique uniquement aux géodatabases.

String
field_is_nullable
(Facultatif)

Indique si le champ peut contenir des valeurs Null (nulles). Les valeurs Null sont différentes de zéro ou les champs vides sont uniquement pris en charge pour 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)

Précise si le champ en cours de création est obligatoire pour la table ou non. Les champs obligatoires sont uniquement pris en charge dans une géodatabase.

  • 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)

Force les valeurs permises d’un attribut quelconque d’une table, d’une classe d’entités ou d’un sous-type d’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’utilisation de l’outil AddField (fenêtre Python)

Le script ci-dessous pour la fenêtre Python 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")
AddField - Exemple 2 (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)