Récapitulatif
Ajoute un nouveau champ à une table ou la table d'une classe d'entités, couche d'entités, catalogue d'images, et/ou de rasters avec des tables attributaires.
Utilisation
Des couvertures, des tables autonomes, des classes d'entités d'ArcSDE et des géodatabases personnelles ou fichier, des fichiers de couches, des catalogues d'images et des shapefiles peuvent être utilisées en tant qu'entrée valide pour cette commande. Les superpositions de données d'entité VPF et DAO ne peuvent pas être utilisées puisqu'il s’agit de formats en lecture seule qui ne sont pas natifs d'ArcGIS.
Pour les couvertures, 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 champ ajouté sera toujours affiché à la fin de la table.
Le paramètre Longueur du champ est uniquement applicable sur les champs de type texte ou blob.
Pour les géodatabases, si le type de champ définit un caractère ou une valeur numérique, <null> est inséré dans chaque enregistrement si la valeur par défaut du paramètre de Champ acceptant les valeurs nulles est acceptée.
Un shapefile ne prend pas en charge les alias pour les champs, donc vous ne pouvez pas ajouter d'alias de champ à un shapefile.
Il est possible d'ajouter un champ qui n'accepte pas les valeurs Null uniquement à une classe d'entités ou une table de géodatabase vide. Cet outil ne peut pas ajouter de champ qui n'accepte pas les valeurs Null lorsqu'il existe déjà des enregistrements.
Le paramètre Domaine du champ peut utiliser un domaine existant d'une classe d'entités dans une géodatabase personnelle, fichier ou SDE. Vous devez spécifier le nom d’un domaine existant. L'entrée de noms de domaine ou de valeurs non valides ne fait pas échouer l'outil mais elle est ignorée et aucun domaine n'est alors 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, alors 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 personnelles et fichier 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.
Pour en savoir plus sur les types de données des champs ArcGIS
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 définis comme obligatoires sont permanents et vous ne pouvez pas les supprimer avec des traitements ultérieurs. Pour en permettre une suppression ultérieure, le champ doit être défini comme non obligatoire (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 de géodatabases ArcSDE, fichier ou personnelles, des couvertures, des fichiers de formes, des catalogues d'images, des tables autonomes, des rasters avec tables attributaires et/ou des couches. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
field_name | Nom du champ ajouté à la table en entrée. | String |
field_type | Type de champ 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 du champ ne sera pas prise en compte. | Long |
field_scale (Facultatif) | Nombre de décimales possibles dans un champ. Ce paramètre est utilisé uniquement dans les champs de données de type Réel simple et Réel double. Si la table en entrée est une géodatabase fichier ou personnelle, la valeur d'échelle du champ ne sera pas prise en compte. | 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 n'est applicable qu'aux champs de type texte ou blob. | 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 et aux couvertures. | String |
field_is_nullable (Facultatif) | Indique si le champ peut contenir des valeurs nulles. Des valeurs nulles sont différentes de champs zéro ou 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 ou non (valable uniquement 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
from arcpy import env
env.workspace = "C:/data/airport.gdb"
arcpy.AddField_management("schools", "ref_ID", "LONG", 9, "", "", "refcode", "NULLABLE", "REQUIRED")
Exemple 2 d'utilisation de l'outil AddField (script autonome)
Le script autonome suivant montre comment utiliser l'outil AddField.
# Name: AddField_Example2.py
# Description: Add a pair of new fields to a table
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
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, "", "",
fieldAlias, "NULLABLE")
arcpy.AddField_management(inFeatures, fieldName2, "TEXT", "", "", fieldLength)
Environnements
Informations de licence
- ArcGIS for Desktop Basic: Oui
- ArcGIS for Desktop Standard: Oui
- ArcGIS for Desktop Advanced: Oui