Modifier les champs (multiple) (Gestion des données)

Synthèse

Modifie les propriétés de plusieurs champs dans une table ou classe d’entités.

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Pour plus d’informations et connaître les stratégies permettant d’empêcher les modifications de données indésirables, reportez-vous à la rubrique Outils qui modifient ou mettent à jour les données en entrée.

  • Cet outil permet de renommer les champs ou les alias de champ d’une classe d’entités ou d’une table de géodatabase.

  • Vous pouvez utiliser cet outil pour modifier l’alias d’un champ dans une table ou une vue inscrite auprès de la géodatabase.

  • Si un champ en entrée est un champ obligatoire, seul l’alias de champ peut être modifié.

Paramètres

ÉtiquetteExplicationType de données
Table en entrée

Classe d’entités ou table de géodatabase en entrée contenant le champ qui sera modifié.

Table View; Raster Layer; Mosaic Layer
Propriétés du champ
(Facultatif)

Champs de la table en entrée, ainsi que leurs propriétés, qui seront modifiés.

  • Nom du champ : nom du champ qui sera modifié. S’il s’agit d’un champ obligatoire, seul l’alias de champ sera modifié.
  • Nouveau nom de champ (facultatif) : nouveau nom du champ.
  • Nouvel alias de champ (facultatif) : nouvel alias du champ.
  • Nouveau type de champ (facultatif) : indique le nouveau type du champ. Cette colonne s’applique uniquement si la table en entrée est vide (ne contient aucun enregistrement).
  • Nouvelle longueur de champ (facultatif) : nouvelle longueur du champ (type Long). Définit le nombre maximal de caractères autorisés pour chaque enregistrement du champ. Cette option ne s’applique qu’aux champs de type Texte ou Blob (données binaires). Si la table est vide, il est possible d’augmenter ou de diminuer la longueur de champ. Si la table n’est pas vide, il est possible uniquement d’augmenter la longueur à partir de la valeur actuelle.
  • Le nouveau champ accepte les valeurs nulles (facultatif) : indique si le champ peut contenir des valeurs nulles. Les valeurs Null sont prises en charge uniquement pour les champs d'une géodatabase. Cette option s’applique uniquement si la table est vide (ne contient aucun enregistrement). Si cette option est activée, le champ peut contenir des valeurs nulles. Il s’agit de l’option par défaut. Si cette option est désactivée, le champ ne peut pas contenir de valeurs nulles.
  • Supprimer l’alias (facultatif) : indique si l’alias du champ en entrée doit être effacé. La valeur Nouvel alias de champ doit être vide pour effacer l’alias du champ. Si cette option est activée, l’alias de champ sera effacé (défini sur nul). Si cette option est désactivée, l’alias de champ ne sera pas effacé. Il s’agit de l’option par défaut.

Les types de champs disponibles sont les suivants :

  • Short (16-bit integer) [Court (entier 16 bits)] : le type de champ sera court. Les champs courts prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • Long (32-bit integer) [Long (Entier 32 bits)] : le type de champ sera long. Les champs longs prennent en charge les nombres entiers compris entre -2 147 483 648 et 2 147 483 647.
  • Big integer (64-bit integer) [Très grand entier (entier 64 bits)] : le type de champ sera d’entier très grand. Les champs d’entiers très grands prennent en charge les nombres entiers compris entre -(253) et 253.
  • Float (32-bit floating point) [Flottant (32 bits à virgule flottante)] : le champ sera de type flottant. Les champs de type réel simple prennent en charge les nombres fractionnels compris entre -3,4E38 et 1,2E38.
  • Double (64-bit floating point) [Double (64 bits à virgule flottante)] : le champ sera de type double. Les champs de type réel double prennent en charge les nombres fractionnels compris entre -2,2E308 et 1,8E308.
  • Text (Texte) : le champ sera de type texte. Les champs de texte prennent en charge une chaîne de caractères.
  • Date : le champ sera de type date. Les champs de date prennent en charge les valeurs d’heure et de date.
  • Date (high precision) [Date (haute précision)] : le champ sera de type date en haute précision. Les champs de date en haute précision prennent en charge les valeurs de date et d’heure en millisecondes.
  • Date only (Date uniquement) : le champ sera de type date uniquement. Les champs Date uniquement prennent en charge des valeurs de date sans valeurs d’heure.
  • Time only (Heure uniquement) : le champ sera de type heure uniquement. Les champs Heure uniquement prennent en charge des valeurs d’heure sans valeurs de date.
  • Timestamp offset (Décalage de l’horodatage) : le champ sera de type décalage de l’horodatage. Les champs Décalage de l’horodatage prennent en charge des valeurs de date, d’heure et un décalage par rapport à une valeur de temps universel coordonné (UTC).
  • Blob (binary data) [Blob (données binaires)] : le champ sera de type BLOB. Les champs BLOB prennent en charge les données stockées sous forme d’une 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.
  • GUID (globally unique identifier) [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.
  • Raster imagery (Imagerie raster) : le champ sera de type raster. Les champs raster peuvent stocker des 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.
Value Table

Sortie obtenue

ÉtiquetteExplicationType de données
Table en entrée mise à jour

Table en entrée mise à jour.

Table View; Raster Layer; Mosaic Layer

arcpy.management.AlterFields(in_table, {field_description})
NomExplicationType de données
in_table

Classe d’entités ou table de géodatabase en entrée contenant le champ qui sera modifié.

Table View; Raster Layer; Mosaic Layer
field_description
[[Field Name, {New Field Name}, {New Field Alias}, {New Field Type}, {New Field Length}, {New Field IsNullable}, {Clear Alias}],...]
(Facultatif)

Champs de la table en entrée, ainsi que leurs propriétés, qui seront modifiés.

  • Field Name : nom du champ qui sera modifié. S’il s’agit d’un champ obligatoire, seul l’alias de champ sera modifié.
  • New Field Name (facultatif) : nouveau nom du champ.
  • New Field Alias (facultatif) : nouvel alias du champ.
  • New Field Type (facultatif) : indique le nouveau type du champ. Cette option s’applique uniquement si la table en entrée est vide (ne contient aucun enregistrement).
  • New Field Length (facultatif) : nouvelle longueur du champ. Définit le nombre maximal de caractères autorisés pour chaque enregistrement du champ. Cette option ne s’applique qu’aux champs de type TEXT ou BLOB. Si la table est vide, il est possible d’augmenter ou de diminuer la longueur de champ. Si la table n’est pas vide, il est possible uniquement d’augmenter la longueur à partir de la valeur actuelle.
  • New Field IsNullable (facultatif) : indique si le champ peut contenir des valeurs nulles. Les valeurs Null sont prises en charge uniquement pour les champs d'une géodatabase. Cette option s’applique uniquement si la table est vide (ne contient aucun enregistrement). Si le paramètre est défini sur True, le champ peut contenir des valeurs nulles. Il s’agit de l’option par défaut. Si le paramètre est défini sur False, le champ ne peut pas contenir de valeurs nulles.
  • Clear Alias (facultatif) : indique si l’alias du champ en entrée sera effacé. La valeur New Field Alias doit être vide pour effacer l’alias du champ. Si le paramètre est défini sur True, l’alias de champ sera effacé (défini sur nul). Si le paramètre est défini sur False, l’alias de champ ne sera pas effacé. Il s’agit de l’option par défaut.

Les types de champs disponibles sont les suivants :

  • SHORT : le champ sera de type court. Les champs courts prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • LONG : le champ sera de type long. Les champs longs prennent en charge les nombres entiers compris entre -2 147 483 648 et 2 147 483 647.
  • BIGINTEGER : le champ sera de type entier très grand. Les champs d’entiers très grands prennent en charge les nombres entiers compris entre -(253) et 253.
  • FLOAT : le champ sera de type flottant. Les champs de type réel simple prennent en charge les nombres fractionnels compris entre -3,4E38 et 1,2E38.
  • DOUBLE : le champ sera de type double. Les champs de type réel double prennent en charge les nombres fractionnels compris entre -2,2E308 et 1,8E308.
  • TEXT : le champ sera de type texte. Les champs de texte prennent en charge une chaîne de caractères.
  • DATE : le champ sera de type date. Les champs de date prennent en charge les valeurs d’heure et de date.
  • DATEHIGHPRECISION : le champ sera de type date en haute précision. Les champs de date en haute précision prennent en charge les valeurs de date et d’heure en millisecondes.
  • DATEONLY : le champ sera de type date uniquement. Les champs Date uniquement prennent en charge des valeurs de date sans valeurs d’heure.
  • TIMEONLY : le champ sera de type heure uniquement. Les champs Heure uniquement prennent en charge des valeurs d’heure sans valeurs de date.
  • TIMESTAMPOFFSET : le champ sera de type décalage de l’horodatage. Les champs Décalage de l’horodatage prennent en charge des valeurs de date, d’heure et un décalage par rapport à une valeur de temps universel coordonné (UTC).
  • BLOB : le champ sera de type BLOB. Les champs BLOB prennent en charge les données stockées sous forme d’une 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.
  • GUID : 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.
  • RASTER : le champ sera de type raster. Les champs raster peuvent stocker des 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.

Value Table

Sortie obtenue

NomExplicationType de données
out_table

Table en entrée mise à jour.

Table View; Raster Layer; Mosaic Layer

Exemple de code

Exemple 1 d’utilisation de la fonction AlterFields (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction AlterFields en vue de modifier les alias des champs dans une classe d’entités.

import arcpy

test_class = arcpy.management.CreateFeatureclass(out_gdb, "new_fc", geometry_type='POLYGON')
field_description = [
    ['SHORT_FIELD', 'SHORT', 'SHORT_FIELD_Alias', '#', '#', '#'],
    ['LONG_FIELD', 'LONG', 'LONG_FIELD_Alias', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER', 'BIGINTEGER_FIELD_Alias', '#', '#', '#'], 
    ['FLOAT_FIELD', 'FLOAT', 'FLOAT_FIELD_Alias', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE', 'DOUBLE_FIELD_Alias', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT', 'TEXT_FIELD_Alias', '#', '#', '#'],
    ['DATE_FIELD', 'DATE', 'DATE_FIELD_Alias', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY', 'DATEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY', 'TIMEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET', 'TIMESTAMPOFFSET_FIELD_Alias', '#', '#', '#']
]
arcpy.management.AddFields(test_class, field_description, None)

alter_field_description = [
    ['SHORT_FIELD', 'SHORT_FIELD_altered', '#', '#', '#', '#'],
    ['LONG_FIELD', 'LONG_FIELD_altered', '#', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER_FIELD_altered', '#', '#', '#', '#'],
    ['FLOAT_FIELD', 'FLOAT_FIELD_altered', '#', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE_FIELD_altered', '#', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT_FIELD_altered', '#', '#', '#', '#'],
    ['DATE_FIELD', 'DATE_FIELD_altered', '#', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY_FIELD_altered', '#', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY_FIELD_altered', '#', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET_FIELD_altered', '#', '#', '#', '#']
]
arcpy.management.AlterFields(in_table=test_class, field_description=alter_field_description)
Exemple 2 d’utilisation de la fonction AlterFields (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction AlterFields en vue de modifier la propriété du champ acceptant les valeurs nulles dans une table vide.

import arcpy

test_class = arcpy.management.CreateTable(out_gdb, "new_table")
field_description = [
    ['SHORT_FIELD', 'SHORT', 'SHORT_FIELD_Alias', '#', '#', '#'],
    ['LONG_FIELD', 'LONG', 'LONG_FIELD_Alias', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER', 'BIGINTEGER_FIELD_Alias', '#', '#', '#'],
    ['FLOAT_FIELD', 'FLOAT', 'FLOAT_FIELD_Alias', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE', 'DOUBLE_FIELD_Alias', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT', 'TEXT_FIELD_Alias', '#', '#', '#'],
    ['DATE_FIELD', 'DATE', 'DATE_FIELD_Alias', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY', 'DATEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY', 'TIMEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET', 'TIMESTAMPOFFSET_FIELD_Alias', '#', '#', '#']
]

arcpy.management.AddFields(test_class, field_description, None)

# Change the nullable property to true
alter_field_description = [
    ['SHORT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['LONG_FIELD', '#', '#', '#','#', 'true', '#'],
    ['BIGINTEGER_FIELD', '#', '#', '#','#', 'true', '#'],
    ['FLOAT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DOUBLE_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TEXT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DATE_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DATEONLY_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TIMEONLY_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TIMESTAMPOFFSET_FIELD', '#', '#', '#','#', 'true', '#']
]

arcpy.management.AlterFields(in_table=test_class, field_description=alter_field_description)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes