Données de base de données et de stockage de données cloud dans ArcGIS.

ArcGIS applique certaines règles au moment de la connexion à une source de données. Les règles suivantes s’appliquent lorsqu’ArcGIS se connecte aux données d’une base de données ou d’un stockage de données cloud et les lit :

Noms des objets

Les systèmes de gestion de bases de données et les fournisseurs de stockage de données cloud définissent de manière différente les caractères acceptables pour les noms d’objet. La base de données vous autorise parfois à utiliser des caractères non pris en charge dans les noms d’objet si vous entourez le nom d’objet de délimiteurs (des guillemets doubles, par exemple). Toutefois, ArcGIS ne délimite pas les noms d’objet lorsqu’il interroge la base de données ; il ne peut donc pas les reconnaître. Voir Limites de noms d’objet pour de plus amples informations.

Longueur du nom

ArcGIS peut lire et (dans certains cas) créer des objets de base de données, tels que des tables, vues et utilisateurs. La longueur maximale du nom qu’ArcGIS autorise pour ces objets est indiquée dans la table suivante, ainsi que les éventuelles exceptions applicables.

Remarque :

Si votre base de données autorise moins de caractères qu’ArcGIS, vous êtes limité au nombre de caractères autorisés par la base de données. Consultez la documentation de votre système de gestion de bases de données pour prendre connaissance des limites de nom d’objet applicables.

Le nombre de caractères indiqué part du principe qu’il s’agit de caractères à un octet.

Type d’objetNombre maximal de caractères créés par ArcGIS*Nombre maximal de caractères lus par ArcGISExceptions

Nom de base de données

Non applicable pour toutes les bases de données, sauf SQLite.

250 lors de la création dans SQLite.

250 lors de la lecture dans SQLite.

31 lors de la lecture dans d’autres bases de données.

127 lors de la lecture dans Amazon Redshift et Snowflake.

ArcGIS peut lire la longueur maximale du nom de base de données autorisée par Oracle.

Les valeurs de noms de base de données ne s’appliquent pas pour SAP HANA.

Le nom de base de données pour SQLite se compose du chemin d’accès au fichier, du nom de fichier et de l’extension de fichier. Si la base de données SQLite est configurée de façon à utiliser le type spatial ST_Geometry ou SpatiaLite, l’extension de fichier est (.sqlite). Si la base de données SQLite est configurée en tant qu’OGC GeoPackage, l’extension de fichier est (.gpkg).

Nom de table, de classe d’entités ou de vue

128

158 lors de la création dans SQLite.

128

158 lors de la lecture dans SQLite.

127 lors de la lecture dans Redshift.

Nom d’index

16 dans toutes les bases de données sauf SQL Server et SQLite, pour lesquelles vous pouvez créer des noms d’index allant jusqu’à 128 caractères.

Jusqu’à la limite de la base de données.

Les noms d’index ne s’appliquent pas dans SAP HANA ou aux stockages de données cloud.

Nom de champ (colonne)

31 lors de la création dans SQL Server, PostgreSQL, SAP HANA, Teradata et SQLite.

30 lors de la création dans Db2 et Oracle.

31 lors de la lecture dans PostgreSQL et SQLite.

30 lors de la lecture dans Db2 et Oracle 12.1 ou versions antérieures.

128 lors de la lecture dans Snowflake ou Google BigQuery.

127 lors de la lecture dans Redshift.

Jusqu’à la limite de la base de données pour les autres bases de données prises en charge.

Nom d'utilisateur

ArcGIS ne créé des utilisateurs que dans les bases de données suivantes : Les longueurs maximales des noms d’utilisateur créées sont indiquées.

  • Oracle : 30 dans la version 12.1 et les versions antérieures ; 31 dans la version 12.2 et les versions ultérieures
  • PostgreSQL : 31
  • SAP HANA : 31
  • SQL Server : 31

Selon la manière dont vous êtes connecté, la boîte de dialogue Connexion à la base de données autorise un maximum de 31 caractères.

L’outil de géotraitement Create Database Connection (Créer une connexion à une base de données) autorise le nombre de caractères dans la limite fixée pour la base de données, mais il est uniquement pris en charge avec les bases de données, pas avec les stockages de données cloud.

Les valeurs de noms d’utilisateur ne s’appliquent pas à SQLite ou BigQuery.

Mot de passe

ArcGIS ne créé des mots de passe pour les utilisateurs que dans les bases de données suivantes : Les longueurs de mots de passe d’utilisateur maximales créées sont indiquées.

  • Oracle : 30
  • PostgreSQL : 75
  • SAP HANA : 31
  • SQL Server : 128

256 pour toutes les bases de données et stockages de données cloud pris en charge, sauf Teradata et Redshift, pour lesquels, respectivement, 31 caractères et 64 caractères sont uniquement pris en charge.

Les valeurs de mots de passe ne s’appliquent pas à SQLite ni à BigQuery.

*Vous ne pouvez pas utiliser ArcGIS pour créer des objets dans des stockages de données cloud.

Pour BigQuery, la longueur maximale prise en charge pour le nom de jeu de données par défaut est de 31 caractères. La longueur maximale prise en charge pour le nom de projet est de 30 caractères.

Validation de la géométrie

Lorsque vous créez des données dans une base de données à l'aide d'un client ArcGIS, ArcGIS valide la géométrie en fonction de règles spécifiques. Si la géométrie que vous construisez dans un client ArcGIS n'est pas valide, ArcGIS ne vous autorise pas à l'insérer dans la base de données.

Les fonctions constructeur ST_Geometry Esri et IBM et l’API ArcGIS utilisent la bibliothèque de formes Esri pour valider les données géométriques lorsque l’entité est créée. Par conséquent, même si vous créez une forme ST_Geometry Esri ou IBM avec SQL, les règles de validation sont appliquées et les géométries non valides ne sont pas validées dans la base de données.

D’autres types spatiaux, tels que SDO_Geometry, la géométrie ou la géographie PostGIS et la géométrie ou la géographie Microsoft SQL Server, possèdent leurs propres fonctions constructeur et utilisent leurs propres règles de vérification de géométrie. Ces règles peuvent être différentes de celles appliquées par ArcGIS. Les clients ArcGIS vérifient la géométrie au moment de la lecture des données et n'affichent pas les géométries qui enfreignent les règles de validation de la géométrie ArcGIS. Si vous vous connectez à une base de données qui contient des données créées en dehors d'ArcGIS, vous devez connaître les règles appliquées par ArcGIS.

Règles de validation pour les points

Les règles de validation suivantes sont appliquées pour les entités ponctuelles :

  • La surface et la longueur des points sont 0.0.
  • L'enveloppe d'un seul point est égale aux valeurs x,y du point.
  • L'enveloppe d'un point multi-parties est l'emprise minimale.

Règles de validation pour les lignes simples ou les chaînes de lignes

Les règles de validation suivantes sont appliquées pour les entités linéaires simples :

  • Chaque partie doit avoir au moins deux points distincts.
  • Chaque partie ne peut pas se croiser. Le point de début et l’extrémité peuvent être identiques, mais l’anneau résultant n’est pas traité comme un polygone.
  • Les parties peuvent se toucher aux extrémités.
  • La longueur est la somme de toutes les parties.

Règles de validation pour les lignes ou les chaînes non structurées

Les règles de validation suivantes sont appliquées pour les entités linéaires plus complexes :

  • Les lignes peuvent se croiser.
  • Chaque partie doit avoir au moins deux points distincts.
  • La longueur est la somme de toutes les parties.

Règles de validation et opérations pour les polygones

  • Les arcs pendants ne sont pas valides.
  • Les segments de ligne qui composent le polygone doivent être fermés (les coordonnées z au point de début et à l’extrémité doivent également être identiques) et ne pas se couper.
  • Pour les polygones avec des trous, les trous doivent se trouver entièrement dans la limite externe. Les trous qui se trouvent à l'extérieur de la limite externe ne sont pas valides.
  • Un trou qui touche une limite externe à un seul point commun est converti en une inversion du polygone.
  • Plusieurs trous qui se touchent à des points communs sont fusionnés en un seul trou.
  • Les polygones multi-parties ne peuvent pas se chevaucher. Toutefois, deux parties peuvent se toucher à un point.
  • Les polygones multi-parties ne peuvent pas partager de limite commune.
  • Si deux anneaux ont une limite commune, ils sont fusionnés en un seul anneau.
  • Le périmètre de géométrie total, y compris les limites de tous les trous dans les polygones en anneau, est calculé et stocké comme longueur de la géométrie.
  • La surface est calculée.
  • L'enveloppe est calculée.
  • Les points d'un polygone sont stockés dans le sens anti-horaire bien que les clients ArcGIS puissent renvoyer des points dans un sens ou dans l'autre. Si vous générez un polygone qui contient des coordonnées dans le sens horaire, ArcGIS modifie la rotation pour s'assurer que les coordonnées suivent un sens anti-horaire.

    Sommets de polygone stockés dans un sens anti-horaire.

    Dans cet exemple, le point de départ est a et la description correcte des coordonnées est a, b, c, d, a.

  • Un polygone peut avoir des inversions. Il s'agit d'espaces vides à l'intérieur du polygone qui touchent la limite externe.

    Direction du sommet pour un polygone avec inversions

  • Les polygones inversés ont un anneau intérieur qui touche la limite externe. Il ne s'agit pas polygones en anneau.
  • Lorsqu'un polygone comporte un trou en anneau, la limite externe est lue en premier. Les points des trous sont stockés dans le sens opposé de la limite externe.

    Dans l'illustration suivante, la description de la limite externe est a, b, c, d, a et la description du trou est e, f, g, h, e. Pour l'ensemble du polygone, l'entité est stockée sous la forme a,b,c,d,a,e,f,g,h,e.

    Direction du sommet pour un polygone avec un trou

  • Si deux trous se touchent à un point, ils sont traités comme un seul trou, et non deux.

    Direction du sommet pour un polygone avec deux trous qui partagent un point commun

    Dans cet exemple, les deux surfaces intérieures sont un trou unique parce qu'elles partagent un point commun, g.

  • La combinaison de polygones et de polygones avec trous peut devenir assez complexe, comme le montre l’illustration ci-après. La limite externe est un lac avec un îlot. Un petit lac se trouve sur l'îlot.

    Polygones imbriqués

    Il est possible de représenter ces polygones comme une, deux ou trois entités. Vous pouvez stocker chaque polygone en tant qu'entité distincte. Le lac le plus vaste est un polygone en anneau. La limite du grand lac est la limite externe tandis que l'îlot est la limite du trou en anneau seul. L'îlot est également un polygone en anneau. La limite de l'îlot est la limite externe tandis que le petit lac est le trou. Le petit lac est un polygone unique.

    Si les lacs sont les entités importantes, une entité avec un trou représente le grand lac, alors qu'une deuxième forme représente le petit lac. Vous pouvez également utiliser un polygone multi-parties pour représenter l'entité. La première partie de polygone est le grand lac avec un trou en anneau qui représente l'îlot. La deuxième partie est le petit lac.

  • Les géométries NIL sont valides et jouent le rôle d'espaces réservés. Elles vous permettent de disposer d'une ligne d'attributs sans géométrie correspondante. Pour obtenir une géométrie NIL, vous pouvez par exemple demander l'intersection de deux polygones qui ne se coupent pas.

    Les polygones qui ne se coupent pas entraînent une géométrie NIL.

    Comme les surfaces A et B ne se touchent pas, le résultat d'une requête d'intersection produit une géométrie vide.

  • Les entités possèdent des dimensions. Une entité avec uniquement des coordonnées x,y est considérée comme bidimensionnelle. Une entité qui a des coordonnées z ou des mesures est tridimensionnelle. Une entité peut également comporter une mesure NIL.

Métadonnées spatiales

Une géodatabase stocke des informations sur les données spatiales qu’elle contient. Les clients ArcGIS peuvent lire les informations sur le type d’entité de la classe d’entités (par exemple, des points, lignes ou polygones), la dimensionnalité (coordonnées x, y, z et m), la référence spatiale, l’identifiant unique et l’étendue de la classe d’entités à partir des tables système de la géodatabase. Ces tables ne sont pas disponibles lorsqu'ArcGIS se connecte à une classe d'entités dans une base de données. C'est pour cela qu'ArcGIS doit obtenir ces informations auprès d'autres sources.

Lorsque vous faites glisser une classe d’entités (table spatiale) vers une carte d’ArcGIS Pro, une couche de requête est créée. Pour définir la couche de requête, ArcGIS Pro effectue les actions suivantes :

  1. Il interroge la base de données pour obtenir des informations concernant la table spatiale, telles que la dimensionnalité, la référence spatiale et le type de géométrie.
  2. Si ces informations ne sont pas définies pour la table dans son ensemble, ArcGIS Pro lit la première ligne de la table et utilise les informations provenant de cette entité.
  3. Si la référence spatiale, le type de géométrie ou la dimensionnalité ne peuvent pas être déterminés en examinant la première ligne. Par exemple, si la table ne contient aucune donnée ou si la ligne utilise une référence spatiale personnalisée, vous êtes invité à fournir ces informations à utiliser pour la définition de couche.
  4. ArcGIS Pro interroge la base de données pour trouver une colonne non Null pouvant servir comme identifiant unique (ObjectID) pour les lignes de la table spécifiée. Si aucune ligne correspondante n’est trouvée, vous êtes invité à définir un ObjectID pour la table.
  5. Enfin, ArcGIS Pro calcule l’étendue de la couche lorsque vous l’ajoutez à la carte.

Etant donné que les éléments affichés dans la carte sont basés sur une requête, vous pouvez ouvrir la définition de couche de requête et la modifier. Par exemple, si votre classe d'entités contient des points et des polygones, vous pouvez ouvrir la définition de couche de requête et sélectionner le type de géométrie à afficher. De la même manière, si votre classe d’entités contient plusieurs colonnes spatiales, vous pouvez ouvrir la définition de couche de requête et modifier la requête de manière à inclure une autre colonne spatiale à la place. Sachez néanmoins que la requête ne peut pas être modifiée de façon à afficher des types de données. non pris en charge.