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 Field Length (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é (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 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.
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 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, 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 la 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, créez un champ de type entier. Lors de la création d’un champ de type entier, spécifiez une précision 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, cette valeur sera ignorée pendant l’exécution.
Les champs obligatoires sont permanents et ne peuvent pas être supprimés. Pour permettre leur suppression ultérieurement, le champ doit être défini comme facultatif (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.
Syntaxe
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})
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 | Le nom du champ qui sera ajouté à la table en entrée. | String |
field_type | Spécifie le type de champ du nouveau champ.
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. 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 uniquement utilisé dans les types de champs de données flottants et doubles. 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. Ce paramètre est uniquement applicable aux champs de type texte. | Long |
field_alias (Facultatif) | Autre nom donné au 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.
| 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.
| 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 dérivée
Nom | Explication | Type 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.AddField_management("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
# 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
- Basic: Oui
- Standard: Oui
- Advanced: Oui