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 fournisseurs de bases de données et d’entrepôts 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.
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 la 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 la plateforme de base de données que vous utilisez pour connaître les limites de noms d’objet.
Le nombre de caractères indiqué ci-dessous part du principe qu’il s’agit de caractères à un octet.
Type d’objet | Nombre maximal de caractères créés par ArcGIS* | Nombre maximal de caractères lus par ArcGIS | Exceptions |
---|---|---|---|
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, Elasticsearch ou OpenSearch. 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. 255 lors de la lecture dans Elasticsearch ou OpenSearch. | |
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, dans les entrepôts de données Cloud, dans Elasticsearch ou dans OpenSearch. |
Nom de champ (colonne) | 128 lors de la création dans SQL Server, SQLite, GeoPackage, Oracle, Dameng, Db2 ou Teradata. 127 lors de la création dans SAP HANA. 63 lors de la création dans PostgreSQL. | 63 lors de la lecture dans PostgreSQL. 127 lors de la lecture dans Redshift ou SAP HANA. 128 lors de la lecture dans Dameng, Db2, Elasticsearch, GeoPackage, Google BigQuery, OpenSearch, Oracle, Snowflake, SQLite, SQL Server ou Teradata | |
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 de 31 caractères.
| 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.
| 256 pour toutes les bases de données et tous les entrepôts de données Cloud pris en charge, à l’exception des suivants :
| 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 entrepôts de données Cloud ou des bases de données orientées document.
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.
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.
- 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.
- Si deux trous se touchent à un point, ils sont traités comme un seul trou, et non deux.
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.
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.
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 système 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) sur une carte dans ArcGIS Pro, une couche de requête est créée. Pour définir la couche de requête, ArcGIS Pro effectue les actions suivantes :
- 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.
- 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é.
- Si la référence spatiale, le type de géométrie ou la dimensionnalité ne peuvent pas être déterminés en interrogeant 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.
- ArcGIS Pro interroge la base de données pour trouver une colonne non nulle pouvant servir comme identifiant unique (ObjectID) pour les lignes de la table. Si aucune ligne correspondante n’est trouvée, vous êtes invité à définir un ID d’objet pour la table.
- Enfin, ArcGIS Pro calcule l’étendue de la couche lorsque vous l’ajoutez à la carte.
Étant 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 la classe d’entités contient des entités ponctuelles et surfaciques, 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 la 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.
Vous avez un commentaire à formuler concernant cette rubrique ?