Résumé
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 Longueur du champ est uniquement applicable aux champs de type texte. Si aucune longueur n'est spécifiée, la longueur par défaut est de 255.
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 Champ acceptant les valeurs Null est activé (défini sur field_is_nullable="NULLABLE" dans Python).
Un champ ne pouvant contenir des valeurs nulles ne peut pas être ajouté à une table ou classe d'entités de géodatabase vide.
Un fichier de formes ne prend pas en charge les alias pour les champs. Vous ne pouvez donc pas ajouter d'alias de champ à un fichier de formes.
Le paramètre Domaine du champ peut utiliser un domaine existant d'une classe d'entités dans une géodatabase. Vous devez entrer le nom d'un domaine existant. La saisie de noms de domaine ou de valeurs non valides 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 taille maximale et la précision 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, si la valeur du champ est 54,234, l'échelle est égale à 3 et la précision à 5.
Utilisez les conseils suivants pour le choix du type de champ correct pour une précision et une échelle données :
- Si vous créez un champ de type réel simple, réel double ou entier et que vous spécifiez 0 pour la précision et l'échelle, l'outil essaiera de créer un champ de type binaire si la base de données sous-jacente le prend en charge. Les géodatabases fichier et personnelles prennent en charge les champs de type binaire uniquement, et la précision et l'échelle sont ignorées.
- Lorsque vous créez des champs de type réel et réel double et que vous spécifiez une précision et une échelle, si votre précision est supérieure à 6, utilisez un réel double ; sinon, utilisez un réel simple. Si vous créez un champ de type réel double et spécifiez une précision de 6 ou moins, un champ de type réel simple est créé. Si vous créez un champ de type réel simple et spécifiez une précision supérieure à 6, un champ de type réel double est créé.
- Si vous spécifiez une échelle de 0 et une précision de 10 ou moins, vous devriez créer des champs de type entier. Lors de la création de champs de type entier, votre précision doit être inférieure ou égale à 10, sinon votre champ peut être créé en tant que réel double.
Lorsque vous créez un champ dans une classe d'entités ou une table de géodatabase, vous pouvez spécifier le type du champ, mais pas sa précision ni son échelle. Même si la boîte de dialogue vous permet d'ajouter une valeur pour la précision ou l'échelle, elle sera ignorée pendant l'exécution.
Les champs obligatoires sont permanents et ne peuvent pas être supprimés. Pour permettre leur suppression ultérieure, ils doivent être définis comme non requis (valeur par défaut).
Un champ de type raster vous permet d'avoir 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.
Syntaxe
AddField_management (in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
Paramètre | Explication | Type 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 tables autonomes, des rasters avec tables attributaires et des couches. | Table View; Raster Layer; Raster Catalog Layer; Mosaic Layer |
field_name | Nom du champ qui sera ajouté à la table en entrée. | String |
field_type | Type du nouveau champ.
| String |
field_precision (Facultatif) | Nombre de chiffres pouvant être stockés dans le champ. Tous les chiffres sont comptabilisés, à gauche comme à droite de la virgule. Si la table en entrée est une géodatabase fichier ou personnelle, 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 utilisé uniquement dans les champs de données de type Réel simple ou Réel double. Si la table en entrée est une géodatabase fichier ou personnelle, la valeur d'échelle de champ est ignorée. | Long |
field_length (Facultatif) | Longueur du champ en cours d'ajout. Définit le nombre maximal de caractères autorisés pour chaque enregistrement du champ. Cette option est uniquement applicable aux champs de type texte. | Long |
field_alias (Facultatif) | Autre nom donné au champ. Ce nom permet d'attribuer des noms plus explicites aux champs portant des noms sibyllins. Ce paramètre d'alias de champs ne s'applique qu'aux géodatabases. | String |
field_is_nullable (Facultatif) | Indique si le champ peut contenir des valeurs Null. Les valeurs Null sont différentes de zéro ou de champs vides et sont uniquement valables pour les champs d'une géodatabase.
| Boolean |
field_is_required (Facultatif) | Précise si le champ en cours de création est obligatoire pour la table et est uniquement pris en charge pour les champs d'une géodatabase.
| Boolean |
field_domain (Facultatif) | Permet de forcer 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 |
Exemple de code
Exemple d'utilisation de l'outil AddField (fenêtre Python)
Le script de fenêtre Python suivant montre comment utiliser l'outil AddField en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.AddField_management("schools", "ref_ID", "LONG", 9, "", "", "refcode", "NULLABLE", "REQUIRED")
2e exemple d'utilisation de l'outil AddField (script autonome)
Le script autonome suivant illustre l'utilisation de l'outil 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
# Execute AddField twice for two new fields
arcpy.AddField_management(inFeatures, fieldName1, "LONG", fieldPrecision,
field_alias=fieldAlias, field_is_nullable="NULLABLE")
arcpy.AddField_management(inFeatures, fieldName2, "TEXT", field_length=fieldLength)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui