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) et 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 et 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 ceux disponibles pour 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 d’une base de données, les types de données ArcGIS et les types de données du système de gestion de base de données (SGBD) risquent de ne pas correspondre directement. Les types sont appariés au type de données de base de données le plus proche qui est disponible. Ce processus est appelé "mappage des types de données". Au cours du mappage, il se peut que les valeurs soient stockées dans la base de données sous un type de données différent, appliquant ainsi des critères différents à l’attribut de données. C’est pourquoi le type de données affiché dans les propriétés de classe d’entités ou de table, dans ArcGIS Pro, peut être différent du type que vous avez défini au départ. Pour en savoir plus sur l’appariement des types de données, reportez-vous à la rubrique Types de données SGBD pris en charge dans ArcGIS.
D’autres formats de stockage des données, comme des shapefiles ou des tables de fichiers dBase (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)
Pour le choix du type de données, tenez compte des besoins en nombres entiers ou en nombres fractionnaires. 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.
Si vous devez choisir entre entier court et entier long ou entre réel simple et réel double, optez pour le type de données qui occupe le moins d’espace de stockage pour les plages de nombres que vous devez stocker. Cela permet non seulement de minimiser le volume de stockage requis, mais aussi d’améliorer les performances. Par exemple, 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 fractionnaires compris entre -3.4E38 et 1.2E38, spécifiez le type de données réel simple qui occupe 4 octets, alors que le type de données réel double en nécessite 8.
Le tableau suivant répertorie les types de données, leur plage de valeurs et leur besoin en espace 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) | Application |
---|---|---|---|
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 |
Pour ajouter des champs numériques à une table ou à une classe d’entités d’une géodatabase fichier ou mobile, il vous suffit de spécifier le type de données. Pour ajouter un champ numérique à une table ou à une classe d’entités d’une base de données ou d’une géodatabase d’entreprise, vous pouvez spécifier la précision (la longueur maximale du champ). Si le champ est de type réel simple ou réel double, vous pouvez spécifier également l’échelle (le nombre maximal de décimales) pour les valeurs de champ.
En spécifiant la précision (longueur de champ) et l’échelle (nombre de décimales), vous pouvez restreindre la plage de valeurs et les formats numériques 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é. Ou bien, si vous spécifiez un réel simple avec une précision de 5 et une échelle de 3, vous pouvez saisir 12,345.
Les types de données ainsi que les valeurs de précision et d’échelle que vous définissez lors de l’ajout d’un champ dans la vue des champs sont indiqués ci-après. La précision doit toujours être supérieure à l’échelle. L’échelle ne s’applique pas aux types d’entier car ils ne stockent pas de valeurs décimales. Référez-vous à ces informations pour vous aider à choisir le type de données, la précision et l’échelle.
Type de données | Précision (longueur du champ) | Echelle (nombre de décimales) |
---|---|---|
Entier court* | 1–5 (Oracle) ; 5 (IBM Db2, Microsoft SQL Server et PostgreSQL) | 0 |
Entier long | 6–10 (Oracle) ; 6–9 (Db2), 10 (SQL Server et PostgreSQL) | 0 |
Flottant | 1–6 | 1–6 |
Double | 7+ | 1+ |
*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. 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 pour une autre base de données qu’une base de données Oracle.
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 :
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 |
-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 |
* 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 champs de type réel simple des géodatabases fichier ou mobiles peuvent stocker de façon précise des nombres qui contiennent jusqu’à six 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 saisir le nombre dans un champ réel simple d’une géodatabase fichier, mais il sera arrondi à 123 457, un nombre qui contient les six chiffres admis. Pour stocker ce nombre de façon précise, vous pouvez le stocker dans un champ réel double. Les champs réels simples des géodatabases d’entreprise et des bases de données n’acceptent pas plus de chiffres que la précision définie pour le champ, si bien qu’aucun arrondi n’est appliqué.
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. Dans ce cas, une description textuelle est précodée avec une valeur numérique. Par exemple, vous pouvez 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 des valeurs précodées dans un domaine de valeurs précodées de la géodatabase et que vous associez ce domaine au champ de nombre entier qui stocke les 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
Lorsque vous créez une table dans ArcGIS, un champ de nombre entier unique n’acceptant pas les valeurs nulles est ajouté à la table en tant qu’identifiant d’objet (ID 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 d’entités Web et les shapefiles. Des fonctions clés, telles que le défilement et l'affichage de sélections dépendent de la présence de ce champ.
Un ID d’objet est également requis lorsque vous inscrivez une table auprès d’une géodatabase d’entreprise. Pour en savoir plus sur les ID d’objet requis lors de l’inscription d’une table, reportez-vous à la rubrique Inscrire une table ou une vue auprès de la géodatabase.
Pour la plupart des fonctions disponibles dans ArcGIS Pro, notamment l’utilisation de l’outil Identifier, les valeurs du champ de l’ID d’objet doivent être uniques. Veillez donc à ce qu’il n’existe pas d’ID d’objet en double lorsque vous utilisez directement les données en dehors d’ArcGIS. Par exemple, lorsque vous créez une vue dans une base de données avec une relation un vers plusieurs, il se peut que des ID d’objet soient dupliqués. Des fonctions ArcGIS Pro peuvent alors s’exécuter de manière incohérente.
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 non nulle faisant office d’identifiant d’objet, vous êtes invité à choisir un champ à utiliser comme identifiant d’objet. Pour plus d’informations, reportez-vous à la rubrique Champs d’identifiant unique.
Remarque :
ArcGIS ne conserve pas les valeurs de ces champs de base de données, et il n’est pas garanti que toutes les valeurs de ces champs soient uniques.
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. Les identifiants globaux sont uniquement pris en charge dans les géodatabases. Dans toutes les géodatabases à l’exception de celles situées dans Microsoft SQL Server, les identifiants globaux sont stockés dans des champs de texte, et les caractères stockés dans un champ d’ID global de type texte sont toujours en majuscules.
Lors de la génération des identifiants globaux, le traitement prend en compte l’appareil et la dimension temporelle. Étant donné la probabilité négligeable de générer des doublons, 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 GUID. 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 d’une géodatabase à l’aide de l’outil de géotraitement Ajouter des ID globaux. La géodatabase gère ensuite ces valeurs automatiquement. Vous pouvez aussi créer un champ GUID mais vous devez en conserver les valeurs.
Les bases de données avec un type de données GUID natif, comme 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.
Remarques sur les identifiants globaux
Tenez compte des informations suivantes lorsque vous utilisez des ID globlaux
- Des champs GUID peuvent être ajoutés à des jeux de données de géodatabase par le biais de la vue des champs ou à l’aide de la commande New Field (Nouveau champ) de la fenêtre de la table.
- Vous pouvez ajouter des ID globaux à des classes d’entités autonomes, des tables et des 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. Lorsque vous activez les ID globaux dans un jeu de classes d’entités, ils sont ajoutés dans tous ses jeux de données.
- Les ID globaux ne peuvent pas être ajoutés aux tables d’une base de données.
- S’il existe une colonne d’ID global, l’outil Ajouter les ID globaux 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. Les classes d’entités dans le jeu de classes d’entités qui sont dotées d’une colonne d’ID global restent inchangées.
- Les actions copier et coller, extraire les données et importer/exporter un espace de travail XML conservent les valeurs d’identifiant global dans la géodatabase en sortie. Il est ainsi possible qu’une base de données contienne des identifiants globaux non uniques. 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 outils de géotraitement 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 s’intitule 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é par défaut est Geometry (Géométrie).
Le type de géométrie par défaut du paramètre Geometry Type (Type de géométrie) de l’outil Créer une classe d’entités est un 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 du champ SHAPEchange, 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 d’une base de données ou d’une géodatabase d’entreprise, vous devez également prendre en compte 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) qui se trouve dans la section Geodatabase Settings (Paramètres de géodatabase) de l’outil Create Feature Class (Créer une classe d’entités).
Vous avez un commentaire à formuler concernant cette rubrique ?