Types de données des champs ArcGIS

Lorsque vous créez des classes d'entités et des tables, vous sélectionnez un type de données pour chaque champ. Un éventail de types de nombre, de texte, de date, d'objets BLOB (Binary Large Object) ou d'identifiants GUID (globally unique identifiers) vous est présenté. La sélection du bon type de données vous permet de stocker les données convenablement, facilite l'analyse et la gestion des données et répond aussi à vos besoins professionnels.

Les types de données présentés dans cette rubrique incluent les types de données disponibles lors de la création d'une classe d'entités ou d'une table avec ArcGIS. Si vous stockez vos données dans une base de données ou une géodatabase au sein d'un système de gestion de base de données (SGBD), les types de données ArcGIS et les types de données du SGBD risquent de ne pas correspondre directement. Ils sont assimilés au type de données se rapprochant le plus du type disponible dans le SGBD. Ce processus est appelé "mappage des types de données". Au cours du mappage, il se peut que les valeurs soient stockées dans le SGBD sous un type de données différent, appliquant ainsi des critères différents à l'attribut de données. En conséquence, le type de données affiché dans les propriétés de classe d'entités ou de table d'ArcGIS Pro peut être différent du type que vous avez défini au départ.

D’autres formats de stockage de données, comme des fichiers de formes ou des tables DBF, présentent des limitations différentes concernant le type de données. Assurez-vous d'identifier les limitations concernant le type de données et la taille du format de stockage de destination lorsque vous déplacez les données entre différents types de stockage.

Nombres

Vous pouvez stocker les nombres dans l'un de quatre types de données numériques :

  • Entier court
  • Entier long
  • Réel simple (nombres à virgule flottante à simple précision)
  • Réel double (nombres à virgule flottante à double précision)

Dans le choix du type de données, considérez vos besoins en termes de nombres entiers ou de nombres fractionnels. Si vous avez uniquement besoin de stocker des nombres entiers, tels que 12 ou 12 345 678, spécifiez un type entier court ou long. Si vous devez stocker des fractions avec décimales, comme 0,23 ou 1234,5678, spécifiez un type réel simple ou double.

Pour décider entre entier court et long ou entre réel simple et double, choisissez le type de données qui occupe le moins d’espace de stockage. Cela permet non seulement de minimiser le volume de stockage requis, mais aussi d’améliorer les performances. Si vous devez stocker uniquement des nombres entiers compris entre -32 768 et 32 767, spécifiez le type de données entier court qui n'occupe que 2 octets, alors que le type de données entier long en nécessite 4. Si vous devez stocker des nombres décimaux compris entre -3.4E38 et 1.2E38, spécifiez le type de données réel simple qui occupe 2 octets, alors que le type de données réel double en nécessite 4. Le tableau suivant liste les types de données, leurs plages de valeurs et besoins de stockage. Les plages indiquées concernent les géodatabases fichier et les géodatabases mobiles. Les plages sont légèrement différentes dans les bases de données et les géodatabases d’entreprise.

Type de données Plage stockable Taille (en octets)Applications

Entier court

-32 768 à 32 767

2

Valeurs numériques sans fractions appartenant à une plage particulière ; valeurs précodées

Entier long

-2 147 483 648 à 2 147 483 647

4

Valeurs numériques sans fractions appartenant à une plage particulière

Réel simple (nombre à virgule flottante à simple précision)

Environ -3.4E38 to 1.2E38

4

Valeurs numériques avec des fractions appartenant à une plage particulière

Réel double (nombre à virgule flottante à double précision)

Environ -2.2E308 to 1.8E308

8

Valeurs numériques avec des fractions appartenant à une plage particulière

Table des types de données ArcGIS

Lorsque vous spécifiez des champs numériques pour une table dans une géodatabase fichier ou mobile, il suffit de spécifier le type de données. Si vous spécifiez des champs numériques pour une base de données ou une géodatabase d'entreprise, indiquez également la précision (la longueur maximale du champ) et l'échelle (le nombre maximal de décimales).

En spécifiant la précision et l'échelle, vous pouvez restreindre les plages de valeurs et les formats de nombre qu'un champ peut accepter, ce qui vous donne un meilleur contrôle. Par exemple, si vous spécifiez un réel simple avec une précision de 4 et une échelle de 2, le champ acceptera 12,34. Si vous essayez de saisir 12,345 dans le champ, un message d’erreur s’affichera car le nombre maximal de chiffres et de décimales est dépassé. En revanche, si vous spécifiez un réel simple avec une précision de 5 et une échelle de 3, le champ vous permet de saisir 12,345.

Les types de données avec les valeurs de précision et d'échelle possibles sont répertoriés dans le tableau suivant. Utilisez ce tableau pour vous aider à choisir le type de données, la précision et l'échelle :

Type de donnéesPrécision (longueur du champ)Echelle (nombre de décimales)

Entier court*

1–5 (Oracle, Microsoft SQL Server) ; 5 (IBM Db2) ; 1–4 (PostgreSQL)

0

Entier long

6-10 (Oracle) ; 6-9 (Db2, SQL Server) ; 5-9 (PostgreSQL)

0

Flottant

1–6

1–6

Double

7+

0+

*Par défaut, dans ArcGIS Pro, les nombres entiers courts sont créés avec une précision de 5. Toutefois, les colonnes de nombres entiers courts peuvent uniquement stocker des valeurs comprises entre -32,768 et 32,767. Par conséquent, vous ne pouvez pas stocker de valeur supérieure à 32 767 ou inférieure à - 32 768 dans un champ de nombre entier court même si vous avez défini une précision de 5. Il est inutile de spécifier une précision pour les colonnes de nombres entiers courts créées dans ArcGIS Pro dans les bases de données autres que les bases de données Oracle. Il est inutile de spécifier une précision pour les colonnes de nombres entiers longs créées dans ArcGIS Pro dans les bases de données SQL Server ou PostgreSQL.

La table suivante illustre des exemples de plages de nombres et la manière dont vous pouvez les stocker dans une base de données ou une géodatabase d’entreprise :

PlageType de donnéesPrécision (longueur du champ)Echelle (nombre de décimales)

0 à 99

Entier court

2

0

-99 à 99*

Entier court

3

0

-32 768 à 32 767*

Entier court

5

0

-99 999 à 99 999*

Entier long

5

0

0,001 à 0,999

Flottant

4

3

1,000.00 à 9,999.99

Flottant

6

2

-123 456,78 à 0*

Double

9

2

0 à 1,234.56789

Double

9

5

Exemples de plages de nombres, de types de données, de précision et d'échelles

* Les nombres négatifs nécessitent une précision supplémentaire pour stocker le signe moins.

Les ordinateurs peuvent stocker uniquement un nombre limité de chiffres en fonction de l'espace de stockage alloué. Les champs de type de données réel double dans les bases de données et les géodatabases peuvent stocker de façon précise des nombres qui contiennent jusqu'à 15 chiffres uniquement, parce que c'est le plus long nombre qui peut tenir dans 8 octets d'espace de stockage. Les nombres qui ont plus de chiffres sont arrondis et stockés dans un format semblable au format scientifique, ce qui en fait des nombres approximatifs uniquement. Par exemple, si vous entrez le nombre 12 345 678 901 234 567 890 comportant 20 chiffres, il est arrondi et stocké comme nombre 1,23456789012346E+19 comportant 15 chiffres. La valeur précodée à la fin, E+19, définit le placement de la virgule.

Les réels simples dans les géodatabases fichier ou mobiles peuvent stocker de façon précise des nombres qui contiennent jusqu’à 6 chiffres uniquement. Par exemple, vous ne pouvez pas stocker de façon précise le nombre 123 456,7 dans un champ réel simple car il est composé de plus de 6 chiffres. Vous pouvez entrer le nombre dans un champ réel simple dans une géodatabase fichier, mais il sera arrondi à 123 457, un nombre qui contient les 6 chiffres admis. Si vous devez stocker ce nombre de façon précise, vous pouvez le stocker dans un champ réel double. Les champs réels simples dans des géodatabases d’entreprise et des bases de données ne vous permettent pas d’entrer plus de chiffres que la précision pour le champ ; aucun arrondi n’a donc lieu.

objet Texte

Un champ de texte représente une série de symboles alphanumériques. Par exemple : noms de rues, propriétés attributaires ou autres descriptions textuelles. Au lieu de réutiliser des attributs textuels dans une géodatabase, vous définissez une valeur précodée. Une description textuelle est codée à l'aide d'une valeur numérique. Par exemple, vous pourriez coder des types de routes à l'aide de valeurs numériques en attribuant un 1 à une route pavée, un 2 à une route en gravier, etc. Cette méthode a l'avantage d'utiliser moins d'espace dans la géodatabase. Cependant, l'utilisateur doit maîtriser ces valeurs précodées. Si vous définissez vos valeurs précodées dans un domaine de la géodatabase et que vous associez ce domaine au champ d'entiers qui stocke vos codes, la géodatabase présente la description textuelle lorsque la table est affichée dans ArcGIS Pro.

Pour en savoir plus sur les sous-types et les domaines attributaires.

Les caractères utilisés pour le texte varient selon la langue. Pour permettre une conversion de texte plus facile entre les langues, ArcGIS utilise Unicode pour coder les caractères.

Dates

Le type de données de date peut stocker des dates, des heures ou des dates et des heures. Le format de présentation par défaut est : mm/jj/aaaa hh:mm:ss. Le moment de la journée est également indiqué (AM ou PM). Lorsque vous entrez des champs de date dans la table via ArcGIS, ils sont convertis dans ce format.

BLOB

Un BLOB représentent des données stockées sous forme d’une longue séquence de nombres binaires. ArcGIS stocke les annotations et les dimensions en tant qu'objets BLOB et les éléments tels que des images, des éléments multimédias ou des parties de codes peuvent être stockés dans ce type de champ. Vous devez utiliser une visionneuse ou un chargeur personnalisé, ou une application tierce pour charger des attributs dans un champ BLOB ou afficher le contenu d'un champ BLOB.

Identifiants d'objet

Le champ d’ID d’objet est mis à jour par ArcGIS et garantit un ID unique pour chaque ligne de la table. Lorsque vous affichez une table ou une table attributaire d’une couche, le champ d’ID d’objet apparaît généralement sous la liste des alias OID ou ObjectID pour les tables, et des alias FID pour les couches. Des fonctions clés, telles que le défilement et l'affichage de sélections dépendent de la présence de ce champ.

Il est important de noter que la plupart des fonctionnalités disponibles dans ArcGIS Pro, notamment l’outil Identifier, nécessitent que l’ID d’objet soit unique. Par conséquent, lors de l’utilisation directe de la base de données en dehors d’ArcGIS, veillez à ne pas dupliquer les ID d’objet. Par exemple, lors de la création de vues avec une relation un vers plusieurs, les ID d’objet peuvent être dupliqués. Ceci peut provoquer un comportement incohérent dans le fonctionnement d'ArcGIS Pro.

Lorsque vous ajoutez une table de base de données à la carte, un identifiant d’objet est nécessaire. Si ArcGIS ne trouve pas de champ de valeur entière et non nulle à utiliser comme identifiant d'objet, vous êtes invité à choisir un champ pour l'utiliser comme identifiant d'objet. Pour plus d'informations, reportez-vous à la rubrique Choisir un champ d'identifiant unique pour une couche de requête.

Identifiants globaux

Les types de données d'identifiant global (GlobalID) et GUID contiennent des chaînes de registre constituées de 36 caractères placés entre des accolades. Ces chaînes identifient de manière unique une entité ou une ligne de table dans une géodatabase et entre plusieurs géodatabases. C'est ainsi que les entités sont suivies dans la réplication de géodatabase monodirectionnelle et bidirectionnelle. Les développeurs peuvent les utiliser dans des relations ou dans toute application nécessitant des identifiants uniques. Dans une relation, si un champ d’ID global constitue la clé d’origine, un champ GUID doit constituer la clé de destination. Vous pouvez ajouter des ID globaux à un jeu de données dans une géodatabase à l'aide de l'outil de géotraitement Ajouter les ID globaux. La géodatabase gère ensuite ces valeurs automatiquement. Vous pouvez aussi créer le champ GUID mais vous devez en conserver les valeurs.

Les bases de données avec un type de données GUID natif, telles que SQL Server, stockent les valeurs de l’ID global et du GUID dans 16 octets. Les bases de données sans type de données GUID natif les stockent dans 38 octets.

Quelques remarques sur les identifiants globaux

  • Des champs GUID peuvent être ajoutés aux jeux de données de géodatabase à l’aide de la vue des champs ou de la commande New Field (Nouveau champ) dans la fenêtre de la table.
  • Vous pouvez ajouter des ID globaux pour les classes d’entités autonomes, les tables et les classes de relations attribuées dans des géodatabases. Les ID globaux ne peuvent pas être ajoutés à des jeux de données particuliers d’un jeu de classes d’entités. Ils ne peuvent être appliqués qu’au jeu de classes d’entités entier.
  • Les ID globaux ne peuvent pas être ajoutés aux tables d’une base de données.
  • S’il existe déjà une colonne d’ID global, l’outil la conserve ; il ne supprime pas la colonne d’ID global existante pour en ajouter une nouvelle.
  • Si vous ajoutez une classe d’entités à un jeu de classes d’entités dans une géodatabase, et que vous souhaitez lui ajouter une colonne d’ID global, vous devez exécuter l’outil Ajouter les ID globaux sur le jeu de classes d’entités. Cela a pour effet d’ajouter une colonne d’ID global à la nouvelle classe d’entités et à toutes les classes d’entités qui n’ont pas encore de colonne d’ID global. Les classes d’entités qui possèdent déjà une colonne d’ID global restent inchangées.
  • Les actions copier et coller, extraire les données et importer/exporter un document d'espace de travail XML conservent les valeurs d'identifiant global dans la géodatabase en sortie. Les autres méthodes d'exportation et d'importation de données ne conservent pas ces valeurs.

Champs de type raster

Contrairement à un hyperlien qui relie seulement le champ d’une entité à une image, un raster de type champ peut stocker les données raster dans ou avec la géodatabase. Pour en savoir plus, reportez-vous à Ajout des jeux de données raster en tant qu'attributs dans une classe d'entités.

Remarque :
Les géodatabases mobiles ne prennent pas en charge les colonnes de raster, mais elles autorisent l’utilisation des pièces jointes afin d’associer des données non géographiques comme des photos ou des documents à une entité.

En savoir plus sur l’utilisation des pièces jointes.

Géométrie

Dans ArcGIS, le type de données de géométrie indique le type de géométrie (point, ligne, polygone, multi-points ou multipatch) stocké dans la table. Le champ stocké comme type de géométrie a pour nom SHAPE lorsqu’il est créé dans ArcGIS.

La géométrie est le type de données utilisé par ArcGIS. Par exemple, si vous choisissez Polygon Features (Entités surfaciques) pour une nouvelle classe d’entités, le type de données ArcGIS du champ SHAPE ajouté est par défaut Geometry (Géométrie).

La propriété Geometry Type (Type de géométrie) de l’outil Create Feature Class (Créer une classe d’entités) indique alors Polygon (Polygone).

Si vous créez une classe d’entités avec un autre type d’entité (ligne, point, multi-points, multipatch, dimension ou annotation), le type de géométrie pour le champ SHAPE change, selon le cas, en ligne, point, multi-points, multipatch ou polygone pour la dimension et l’annotation.

Lorsque vous créez un champ de géométrie dans une classe d'entités au sein d'une base de données ou d'une géodatabase d'entreprise, vous devez prendre en compte un autre type de données : le type de données de la base de données. La manière dont la valeur du champ SHAPE est stockée dans le SGBD dépend du type de stockage de géométries utilisé par ce dernier. Lorsque vous créez une classe d’entités dans une géodatabase d’entreprise, le type de stockage de géométries utilisé est déterminé par le paramètre GEOMETRY_STORAGE du mot-clé de configuration que vous spécifiez. Lorsque vous créez une classe d’entités dans une base de données, vous définissez le type spatial du champ dans le paramètre Configuration Keyword (Mot-clé de configuration) dans la section Geodatabase Settings (Paramètres de géodatabase) de l’outil Create Feature Class (Créer une classe d’entités).