Validation de la géométrie

La validation de géométrie est fournie par le type ST_Geometry via les bibliothèques st_shapelib (Oracle) et st_geometry dans PostgreSQL, IBM DB2 et Informix. Lorsqu'une table est créée, les données sont validées lorsque les enregistrements sont insérés ou mis à jour.

Vous pouvez insérer des données dans des tables spatiales de deux façons principalement :

Les fonctions constructeur sont définies par chaque implémentation de type spatial et peuvent utiliser différentes méthodes pour valider des données géométriques. 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. D'autres types spatiaux, tels que SDO_Geometry, la géométrie 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 formes. Par conséquent, vous devriez lire respectivement la documentation Oracle, PostGIS ou SQL Server pour connaître les règles de vérification qui s'appliquent lorsque les entités sont insérées ou mises à jour vers ces types en dehors d'ArcGIS.

ArcGIS valide également la géométrie lorsque les données sont lues. Les géométries non valides ne peuvent pas être affichées dans ArcGIS.

Les règles de validation de géométrie suivantes s'appliquent à l'API d'Esri, aux fonctions constructeur ST_Geometry et quand ArcGIS lit la géométrie :

Règles de validation pour les formes de point

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

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

Règles de validation et opérations pour les formes de surface

Identifiant de référence spatiale

Pour les classes d'entités utilisant le type ST_Geometry, si vous essayez d'insérer une valeur dont les coordonnées sont à l'extérieur de la limite de l'identifiant de référence spatiale (SRID) fourni et avec lequel la table a été créée, l'instruction INSERT échoue et un message similaire à ceux indiqués ci-dessous apparaît :

SGBD

Message d'erreur

Oracle

ERROR at line 1:
ORA-20004: Error generating shape from text (-112)
ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 42
ORA-06512: at "SDE.ST_POLYGON", line 69
ORA-06512: at line 1

PostgreSQL

ERROR: ESRI: error generating shape [-112]:

Informix

SQL Error (-937): Coordinates out of bounds in ST_PolyFromText.

DB2

GSE3416N Coordinate out of bounds

SQLite

Error: ST_Geometry failed with SDE error -139:
'The specified coordinate exceeds the valid coordinate range':[4]

Thèmes connexes

5/10/2014