Ajouter un champ (Gestion des données)
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 annulable 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.
-
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.
-
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.
-
Le nom d'un domaine existant doit être spécifié pour le paramètre Domaine du champ. 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.
-
Les champs définis comme REQUIRED sont permanents et vous ne pouvez pas les supprimer avec des traitements ultérieurs. Pour permettre leur suppression ultérieurement, le champ doit être défini comme NON_REQUIRED (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
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 utilisé pour la création du nouveau champ.
| String |
field_precision (Facultatif) |
Décrit le 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) |
Définit le 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 ou 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) |
Entité géographique à laquelle aucune information d'attribut n'est associée. Ces valeurs 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 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
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")
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)