Types de données de champ de géodatabase

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 tous les types de données disponibles lors de la création d'une classe d'entités ou d'une table avec ArcMap ou ArcCatalog. Si vous stockez vos données dans une géodatabase ArcSDE ou personnelle, les types de données entre ArcGIS et votre système de gestion de bases de données (SGBD) peuvent 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. Pour en savoir plus sur le processus de mappage de types de données avec votre système de gestion de bases de données, reportez-vous à Types de données dans le SGBD.

Nombres

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

Dans le choix du type de données, considérez d'abord 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.

Ensuite, pour vous décider entre entier court ou long, réel simple ou double, choisissez le type de données qui occupe le moins d'espace de stockage. Cela permet de minimiser le volume de stockage requis et 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ée entier court parce qu'il n'occupe que 2 octets, alors que le type de données entier long en occupe 4. Si vous devez stocker uniquement des nombres fractionnels compris entre -3,4E-38 et 1,2E38, spécifiez le type de données réel simple, parce qu'il occupe 4 octets, alors que le type de données réel double en occupe 8. Le tableau suivant répertorie les types de données, leurs plages et les besoins en stockage. Les plages indiquées sont pour les géodatabases fichier et personnelles. Elles diffèrent légèrement pour les géodatabases ArcSDE.

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

Nombre à virgule flottante à simple précision (réel simple)

environ -3.4E38 à 1.2E38

4

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

Nombre à virgule flottante à double précision (réel double)

environ -2.2E308 à 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 personnelle, il suffit de spécifier le type de données. Si vous spécifiez des champs numériques pour une géodatabase ArcSDE, indiquez en outre la précision, qui correspond à la longueur maximale du champ, et l'échelle, qui correspond au 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 d'entrer 12,345 dans le champ, un message d'erreur s'affiche 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 d'entrer 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 pour des géodatabases ArcSDE.

Type de données

Précision (longueur du champ)

Echelle (nombre de décimales)

Entier court*

1–5 (Oracle, SQL Server, PostgreSQL) ; 5 (DB2, Informix)

0

Entier long

6–10 (Oracle et PostgreSQL) ; 6-9 (DB2, Informix et SQL Server)

0

Réel simple

1–6

1–6

Double

7+

0+

Utilisez ce tableau pour vous aider à choisir le type de données, la précision et l'échelle pour des géodatabases ArcSDE :

* Par défaut, dans ArcGIS Desktop, les nombres entiers courts sont créés avec une précision de 5. Cependant, les colonnes d'entiers courts ne peuvent stocker que des valeurs comprises dans la plage allant de -32 768 à 32 767. Vous ne pouvez donc pas stocker une valeur supérieure à 32 767 ou inférieure à -32 768 dans un champ d'entiers courts, même si vous définissez la précision sur 5. Il est inutile de spécifier une précision pour les colonnes d'entiers courts créées dans Arc Desktop sur des bases de données autres qu'Oracle. Cette remarque vaut également pour les colonnes d'entiers longs créées dans ArcGIS Desktop sur des bases de données SQL Server ou PostgreSQL.

Voici des exemples de plages de nombres et la manière dont vous pouvez les stocker dans une géodatabase ArcSDE.

Plage

Type de données

Précision (longueur du champ)

Echelle (nombre de décimales)

0 à 99

Entier court

2

0

-99 à 99*

Entier court

3

0

0 à 32 767*

Entier court

5

0

32,768 à 99,999

Entier long

5

0

0.001 à 0.999

Réel simple

4

3

1,000.00 à 9,999.99

Réel simple

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 géodatabases fichier, personnelles et ArcSDE 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 et personnelles 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 ou personnelle, 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 ArcSDE ne vous permettent pas d'entrer plus de chiffres que la précision pour le champ ; aucun arrondi n'a donc lieu.

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, 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 ArcMap ou dans ArcCatalog.

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.

En savoir plus sur le codage des caractères Unicode

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, ils sont convertis dans ce format.

BLOB

Un objet BLOB représente une série de données stockées dans la géodatabase sous la 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 ObjectID 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 de couche, le champ ObjectID 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 d'ArcGIS Desktop, telles que l'outil Identifier, nécessitent que l'identifiant d'objet soit unique. Par conséquent, lors de l'utilisation directe de la base de données, veillez à ne pas dupliquer les identifiants d'objet. Par exemple, lors de la création de vues avec une relation un vers plusieurs, les identifiants d'objet peuvent être dupliqués. Ceci peut causer un comportement incohérent dans le fonctionnement d'ArcGIS Desktop.

Identifiants globaux

Les types de données 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 à une entité dans l'arborescence du Catalogue en cliquant dessus avec le bouton droit puis en cliquant sur 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 les géodatabases personnelles et les géodatabases ArcSDE dans Microsoft SQL Server, stockent les valeurs d'ID global et 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

Champs de type raster

Contrairement à un hyperlien qui relie simplement le champ d'une entité à une image, un champ de type raster 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.

Géométrie

Dans ArcGIS, le type de données de géométrie indique le type de géométrie (point, ligne, polygone, multipoint ou multipatch) stocké dans la table. Le champ stocké comme type de géométrie est habituellement appelé SHAPE.

La géométrie est le type de données utilisé par ArcGIS. Si vous stockez vos données dans une géodatabase ArcSDE, le mode de stockage des données géométriques dans le SGBD dépend du type de SGBD que vous utilisez. En effet, ArcSDE utilise des types de stockage de géométries spécifiques pour chaque SGBD géré.

Par exemple, si vous choisissez Polygones pour une nouvelle classe d'entités

Nouvelle classe d'entités surfaciques
Nouvelle classe d'entités de type polygone

le champ SHAPE ajouté par défaut aura un type de données Géométrie. Dans la section Propriétés du champ de la boîte de dialogue Nouvelle classe d'entités, le Type de géométrie est répertorié comme Polygone.

Type de géométrie
Type de données et type de géométrie

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

Pour les SGBD utilisés avec ArcSDE, 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 le SGBD. Par conséquent, si vous créez une classe d'entités dans une géodatabase ArcSDE Personal, les valeurs du champ SHAPE sont stockées dans le type de stockage de géométries binaire compressé ArcSDE.

Rubriques associées


2/28/2012