PROCÉDURE

convertir un champ de type chaîne en champ numérique

Last Published: January 13, 2023

Résumé

Il est parfois nécessaire de convertir un champ de valeurs de chaîne (texte) dans une table attributaire en champ de valeurs numériques. C’est généralement le cas lorsque le type de données d’origine n’est pas défini ou reconnu ou pour que les données puissent être correctement analysées. Dans un souci de conservation de l’intégrité des données (surtout dans le cas d’un partage ou d’une importation de données à partir de sources externes), la méthode de conversion des champs en d’autres types consiste à copier les données dans un nouveau champ du type souhaité.

Trois solutions sont décrites ci-dessous : la première solution concerne ArcGIS Pro 1.x et 2.x, la deuxième solution s’applique à ArcGIS Desktop 10.x et la troisième solution aux logiciels plus anciens (comme ArcView GIS 3.x).

Procédure

Dans ArcGIS Pro 1.x et 2.x

  1. Ouvrez un projet ArcGIS Pro et ajoutez les données applicables (ou la table) au projet.
  2. Cliquez avec le bouton droit sur la table ou les données dans la fenêtre Contents (Contenu) et choisissez Attribute Table (Table attributaire).
  3. Cliquez sur le bouton Add (Ajouter) pour créer un nouveau champ. Image du bouton Add (Ajouter)
  4. Dans la vue de liste Fields (Champs), définissez les propriétés suivantes :
    1. Donnez un nom au nouveau champ.
    2. Définissez le type de données (Data Type) sur un type numérique. Les types de champ Long (Entier long) ou Double sont les plus courants.
    3. Définissez le format de nombre (Number Format) sur Numeric (Numérique) et ajustez les paramètres souhaités.
    4. Si nécessaire, définissez le domaine, la valeur par défaut et la longueur du champ.
  5. Dans le ruban supérieur (onglet Fields (Champs)), utilisez l’option Save (Enregistrer) pour enregistrer la table et fermez la vue Fields (Champs).
  6. Cliquez avec le bouton droit sur l’en-tête du champ numérique que vous venez de créer et sélectionnez Calculate Field (Calculer un champ). La boîte de dialogue de géotraitement Calculate Field (Calculer un champ) s’ouvre.
  7. Les champs Input Table (Table en entrée), Field Name (Nom de champ) et Expression Type (Type d’expression) sont automatiquement renseignés. Dans la zone de liste Expression Fields (Expression - Champs), recherchez le champ de chaîne contenant les attributs à transférer vers le champ numérique créé et double-cliquez dessus. Le contenu suivant est renseigné dans la zone de texte Expression :
!<String field name>!
La boîte de dialogue Calculer un champ avec le nom du champ de type chaîne sélectionné.
  1. Cliquez sur Run (Exécuter) pour exécuter l’outil.
Remarque : L’exécution de l’outil risque d’échouer si le champ de type chaîne contient des valeurs NULL (vides). Lors de la création du champ numérique, assurez-vous que le champ accepte les valeurs NULL pour pouvoir importer ce type de valeurs à partir du champ de type chaîne. Pour plus d’informations, reportez-vous à l’aide d’ArcGIS Pro, Ajouter un champ.

Dans ArcGIS Desktop 10.x

  1. Ouvrez ArcMap, puis ouvrez la table attributaire de la couche ou de la géodatabase fichier.
  2. Dans ArcMap,vous pouvez vérifier le type de données du champ en cliquant avec le bouton droit sur l’en-tête du champ et en sélectionnant Properties (Propriétés).
La boîte de dialogue Propriétés du champ.
  1. En haut à gauche de la fenêtre Table, cliquez sur le bouton de liste déroulante Table Options (Options de la table) Le bouton Options de la table et sélectionnez Add Field (Ajouter un champ).
Remarque : L’option Add Field (Ajouter un champ) n’est disponible que si l’utilisateur dispose d’un accès en écriture aux données et si d’autres utilisateurs ou applications n’accèdent pas aux données. L’option est également désactivée lorsque la carte est ouverte dans une session de mise à jour.
  1. Donnez un nom (Name) au nouveau champ.
  2. Définissez le type de champ sur un type numérique tel que Long Integer (Entier long) ou Double.
  3. Définissez une valeur dans les champs Precision (Précision) et Scale (Échelle) si vous le souhaitez.
  4. Cliquez sur OK.
  1. Cliquez avec le bouton droit sur l’en-tête du champ que vous venez de créer, puis sélectionnez Field Calculator (Calculateur de champs).
  2. Si le champ de type chaîne contient seulement des valeurs numériques, conformez-vous aux étapes suivantes pour copier les attributs dans le champ numérique :
    1. Définissez Parser (Analyseur) sur VB Script (Script VB).
    2. Saisissez [Nom du champ de type chaîne] dans la section de l’expression ou sélectionnez le champ de type chaîne dans la zone Fields (Champs) et cliquez sur OK.
La boîte de dialogue Calculateur de champs.
  1. Si le champ de type chaîne contient une combinaison de valeurs numériques et alphanumériques, conformez-vous aux étapes suivantes pour copier les attributs :
    1. Définissez Parser (Analyseur) sur VB Script (Script VB) et cochez la case Show Codeblock (Afficher le bloc de code).
    2. Copiez le code ci-dessous et collez-le dans la zone de texte Pre-Logic Script Code (Code de script Pre-Logic), puis remplacez « Nom du champ de type chaîne » par le nom du champ à convertir. Conservez les parenthèses ouvrantes et fermantes :
Dim String, Check String = [String field name] Check = IsNumeric(String) If Check = True then Output = CDbl(String) else Output = null End if
Remarque : À la cinquième ligne, remplacez « CDbl(String) » par les fonctions suivantes selon le type de champ numérique sélectionné à l’étape 3(b) : - Entier : CInt(String) - Long : CLng(String) - Double : CDbl(String)
  1. Dans la deuxième section de l’expression, (dans l’exemple, « DoubleV = »), saisissez :
Output
L’image ci-dessous montre l’apparence de la boîte de dialogue Field Calculator (Calculateur de champs). Dans cet exemple, le champ de type chaîne est converti en un champ de type Double.
Le code saisi dans la fenêtre Field Calculator (Calculateur de champs).
  1. Cliquez sur OK. Une fois le script terminé, le champ numérique contient les valeurs issues du champ de type chaîne.
Remarque : Si un champ de type chaîne contient des valeurs comportant des caractères non numériques ou des symboles, la valeur de cette cellule reste <Null> par défaut lors de sa conversion en champ numérique.

Dans ArcView GIS 3.x

Remarque : Le produit ArcView GIS a été retiré depuis décembre 2012. Les instructions décrites ci-dessous sont fournies à titre d’information uniquement.

Pour convertir un champ de type chaîne en un champ numérique, créez un champ numérique et copiez les valeurs depuis le champ d’origine vers le nouveau champ.

Ajouter un champ numérique à la table

  1. Ouvrez la table et sélectionnez Start Editing (Ouvrir une session de mise à jour) dans le menu Table.
  2. Sélectionnez Add Field (Ajouter un champ) dans le menu Edit (Mise à jour).
  3. Dans la boîte de dialogue Field Definition (Définitions de champs) :
    1. Indiquez un nom approprié pour Name (Nom), par exemple « surface ».
    2. Définissez Type sur Number (Nombre).
    3. Définissez Width (Largeur) sur un nombre approprié, par exemple, « 32 ».
    4. Définissez Decimal Places (Décimales) sur le nombre souhaité, par exemple, « 6 ».
    5. Cliquez sur OK.
  4. Sélectionnez Stop Editing (Fermer la session de mise à jour) dans le menu Table et enregistrez les mises à jour.

Utiliser le Calculateur de champs pour copier les valeurs dans le nouveau champ et les convertir en nombres

  1. Ouvrez la table et commencez la mise à jour en sélectionnant l’option Start Editing (Ouvrir une session de mise à jour) si nécessaire.
  2. Sélectionnez le champ Number (Nombre).
  3. Sélectionnez Calculate (Calculer) dans le menu Field (Champ).
  4. Double-cliquez sur le champ de type chaîne dans la liste Fields (Champs).
  5. Définissez Type sur String (Chaîne).
  6. Faites défiler la liste Requests (Requêtes) et double-cliquez sur AsNumber.
  7. L’expression finale doit ressembler à la suivante :
[Strng_fld].AsNumber
  1. Cliquez sur OK.
  2. Sélectionnez Stop Editing (Fermer la session de mise à jour) dans le menu Table et enregistrez les mises à jour.

ID d’article:000002287

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Télécharger l’application Esri Support

Accéder aux options de téléchargement