Tout sur comment formater un tableau Excel pour ArcGis

ArcGis lit directement les tables Excel. Vous pouvez donc ajouter une tableau à ArcMap, ou importer un tableau dans une geodatabase, ou bien créer une jointure ou une relation entre une couche Arcgis et un tableau Excel. Oui mais… Si vous n’avez pas connaissance de comment formater au préalable votre tableau, vous ouvrez une boîte à surprises!

Voici, dans le détail, tout ce que vous devez savoir pour travailler tranquillement.

Nous allons voir les contraintes sur :

  • les colonnes du tableau
  • les lignes du tableau
  • les cellules du tableau

Contraintes sur les colonnes du tableau Excel

1- Toutes les colonnes doivent comporter des valeurs

Selon l’historique de votre tableau Excel, vous pouvez vous retrouver avec des colonnes vides à droite de votre tableau. Si ceci n’a aucune conséquence sous Excel, sous ArcGis va générer autant de champs attributaires que de colonnes vides. Vous pouvez alors vous retrouver avec des dizaines, voir des centaines de champs inutiles.

Comment voir le problème? Simple, positionnez le curseur des colonnes (en bas, à droite) à la limite de votre zone de travail. Si l’ascenseur horizontal n’est pas au bout du curseur, vous avez des colonnes vides.

visualiser les colonnes vides sous excelSi vous ouvrez ce tableau sous ArcMap vous aurez:

résultat de colonnes vides sous ArcMapLes colonnes vides sont converties en champs génériques Fxx et remplies de valeurs nulles.

Solutions:

Avant de charger le tableau dans ArcMap : supprimez les colonnes vides.

Après avoir chargé le tableau dans ArcMap: cliquer droit sur l’entête de colonne de la table (pour chaque colonne) et sélectionner l’option de ne pas afficher cette colonne:

ex42- La première ligne doit contenir les noms des champs attributaires

Bon, ça vous le savez déjà, mais c’est toujours utile de le rappeler. Si la première ligne ne contient pas les noms des champs, soit vous vous retrouvez avec des champs génériques Fxx (dans le meilleur des cas), soit avec une table vide.

Solution:

Avant d’ouvrir une table Excel avec ArcMap, assurez-vous de nommer les champs sur la première ligne du tableau.

3-Le premier caractère du nom d’un champ doit être une lettre

FAUX!

C’était le cas dans le passé, mais si vous avez la version 10.3 comme moi, ceci n’est plus valable. Voici un exemple d’import de table Excel avec l’outil Excel to Table:

champs sans lettre au debutVous remarquerez des champs commençant par des chiffres, des # et des &.

Mais si vous cherchez dans la doc ESRI, c’est bien écrit que ça ne peux pas marcher…

Ceci est aussi valable pour l=a règle qui veut que vous ne devez pas mettre des caractères spéciaux  dans le nom du champ. C’est censé ne pas passer la validation des jointures. Dans la version 10.3.1 que j’utilise, ça marche sans problème.

Alors? Pour plus de sécurité, évitez les caractères spéciaux dans les noms, mais s’ils sont déjà là, ne perdez pas votre temps à les modifier.

4-Ne dépassez pas une certaine longueur dans les noms des champs

Les longueurs maximales dépendent du format de la table résultante. Si vous dépassez la longueur autorisée, le nom du champ sera tronqué à cette longueur.

Les longueurs autorisées sont:

  • 64 caractères pour les geodatabases fichier
  • 31 caractères pour SQL Server et SQL Server Express
  • 30 caractères pour Oracle et DB2
  • 10 caractères pour Dbase (shapefiles)

5-Evitez les noms dupliqués

Ceci n’est pas un facteur bloquant. Le deuxième nom identique sera affecté d’un 1 à la fin, le troisième d’un 2, etc.

6- Évitez les noms réservés d’ArcMap

Si vous avez des noms tels que OID dans votre tableau Excel, il sera affecté d’un _ à la fin. Mais dans certains cas, la table ne pourra pas être affichée. Alors, évitez les mots suivants dans vos noms de champs Excel:

  • ObjectID
  • OID
  • FID
  • Shape_Length
  • Shape_Area
  • ADD
  • ALTER
  • AND
  • BETWEEN
  • BY
  • COLUMN
  • CREATE
  • DELETE
  • DROP
  • EXISTS
  • FOR
  • FROM
  • GROUP
  • IN
  • INSERT
  • INTO
  • IS
  • LIKE
  • NOT
  • NULL
  • OR
  • ORDER
  • SELECT
  • SET
  • TABLE
  • UPDATE
  • VALUES
  • WHERE

7- Affectez des types de données de base à vos cellules Excel

Dans Excel vous avez toute une série de types possibles pour vos données. Dans ArcGis vous aurez que Texte, Nombre et Date.

Ce sont les types de base de colonne spécifiés dans Excel qui sont utilisés pour définir le type de champ dans ArcGIS. Lorsque le type de colonne n’est pas spécifié (autrement dit, c’est Standard) le type de champ dans ArcGIS est déterminé par une analyse des valeurs dans les huit premières lignes de cette colonne. Si l’analyse détecte les types de données mixtes dans les huit premières lignes, cette colonne deviendra un champ Texte dans ArcGIS et les valeurs seront converties en chaînes de caractères.

Les types Nombre et Fraction dans Excel sont converties en types de champ Double ou Entier Long dans ArcGIS, selon ce que le scan trouve dans les huit premières rangées des colonnes numériques.

Les types Date et Heure dans Excel sont converties vers le type de champ Date dans ArcGIS.

Les ypes de champ avancés dans Excel (c’est-à-dire, monétaire, comptabilité, pourcentage, Fraction et scientifique) sont converties vers le type de champ Texte dans ArcGIS.

Retenez bien que la recherche de données pour déterminer le type de champ à créer se limite aux huit premières lignes du tableau.

Si vous n’avez pas de valeurs pour un champ dans ces huit premières lignes, vous vous retrouvez avec des champs Texte.

ex6

Contraintes sur les lignes du tableau Excel

Toutes les lignes devraient comporter des valeurs

Pour chaque ligne dans le tableau Excel, vous aurez un enregistrement dans la table ArcGis. Si la ligne Excel ne contient pas de valeurs, vous aurez un enregistrement rempli de valeurs Nulles.

Ce n’est pas forcément bloquant, mais ça peut devenir vite agaçant.

Supprimez les lignes vides avant de charger le tableau dans ArcMap ou dans une geodatabase.

Contraintes sur les cellules du tableau Excel

1- Les cellules ne doivent pas contenir des formules

Les cellules contenant des formules sont ignorées par ArcGis et ne seront pas dans la table résultante.

Pour résoudre ce problème: copiez-collez la colonne avec la formule dans une nouvelle colonne, copiez puis collez spécial/valeurs cette colonne sur la colonne originale.

2-Le contenu d’une cellule ne doit pas dépasser 255 caractères

D’après la documentation, si une cellule a plus de 255 caractères, le champ est converti en BLOB et son contenu n’est pas affiché. Peut être que si vous importez la table Excel dans une Geodatabase personnelle (Access) ceci est vrai. Mais en ce qui concerne l’affichage dans ArcMap, vous ne pourrez pas charger le tableau (il apparaîtra complètement vide) dans les couches ArcMap.

Par contre, si vous utilisez l’outil Excel to Table vers une geodatabase fichier, vous n’êtes pas limité dans la longueur du texte. Même des textes de plus de 255 caractères seront chargés et disponibles (visibles) dans la table de la geodatabase.

3-Les cellules numériques ne doivent pas contenir du texte

Dans votre tableau Excel vous ne devez pas utiliser des textes tels que NoData, NA, Null ou même des espaces, pour indiquer l’absence de données.

Si vous le faites, le champ sera converti en champ Texte.

Effacez toutes les cellules contenant vos textes. Le champ sera de type Numérique sous ArcGis et les cellules auront la valeur <Null>.

4-Evitez les espaces avant et après les chaînes de caractère

Si cet aspect peut ne pas être bloquant dans la plupart des cas, si vous allez utiliser un champ Texte pour créer des étiquettes ou des annotations ou bien pour créer des jointures entre tables, supprimez les espaces avant et après la chaîne de caractères en utilisant la fonction SUPPRESPACE d’Excel, avant de charger la table dans ArcGis.

5- Les cellules ne doivent pas avoir été fusionnées.

Si deux cellules sont fusionnées dans Excel, le contenu de la première cellule disparaît et le deuxième est remplacé par la valeur <Null>.

Voilà! On a fait le tour de tout ce qu’il faut savoir pour charger des tableaux Excel dans ArcMap.

 

5 réflexions sur « Tout sur comment formater un tableau Excel pour ArcGis »

  1. Bonjour,

    Ce petit tuto est très bien fait mais il n’évoque pas forcément le cas de figure d’un passage d’une colonne Excel en texte vers un champ Réel double sur ArcGIS.
    J’ai un fichier excel que j’ai converti en table dans ArcGIS, j’ai recréé un champ en réel double pour y copier mes données textuelles sous forme numérique mais ça ne passe pas.
    Dans Excel, le fait de changer le format de cellule de Texte vers Nombre ne marche jamais.
    Je n’ai pas Access non plus donc je ne vois pas trop de solutions.
    Mes données en question sont des coordonnées XY à chiffres à virgule.

    Merci de votre aide.

    1. La première chose qui me vient à l’esprit (ce n’est pas forcément la solution) est de changer les virgules par des points. Cela fait des années que j’ai opté par configurer mon système en numérotation anglaise(un point pour le signe de décimales et la virgule pour séparer les listes). Dans Excel mes valeurs numériques apparaissent avec un point et pas avec une virgule.
      Si ça coince dans ArcMap, utilisez la calculatrice de valeurs de champ sur le champ texte, sélectionnez Python (en haut) et rentrez
      !NAME!.replace(« , », ». ») en remplaçant NAME par le nom de votre champ
      Après ça, vous devriez pouvoir charger le champ réel juste en rentrant le nom du champ texte dans la calculatrice

      1. Je me doutais que ça pouvait venir de là et effectivement, le fait de basculer en points me permet de convertir en nombre dans Excel donc de pouvoir projeter mes données ensuite dans ArcGIS.

        Merci

  2. Ca fait une journee que je fais un fichier dans excel et que j essais de l’envoyer dans arc gis la seule chose que je veux ces controller les largeurs de champ texte qui sont tjrs egale a 255 dans les tables gis ou dans dbf ou les shape file pourtant dans excel les champs texte sont de largeur defini a 10 mais on les retrouvent tjrs a 255, il y t il une facon de controller les largeur de texte…
    Merci

    1. Cela fait partie, hélas, des tracas habituels. Avec les outils d’ArcGis je ne connais pas de solution. Une fois créée, la table ne peut être modifiée qu’en augmentant la longueur d’un champ, pas en la diminuant. La solution que j’utilise est FME mais c’est cher si c’est jute que pour résoudre ce problème.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *