Validation de la géométrie dans les tables contenant des colonnes ST_Geometry

La validation de la géométrie est fournie par le type ST_Geometry via les bibliothèques st_shapelib (Oracle) et st_geometry. 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 accesseurs sont définis par chaque implémentation de type spatial et peuvent utiliser différentes méthodes pour valider des données géométriques. Les accesseurs ST_Geometry d'ESRI et l'API d'ArcGIS utilisent la bibliothèque de formes ESRI pour valider des données géométriques. Les types spatiaux tiers ont leurs propres accesseurs et utilisent leurs propres règles de vérification de formes. Par conséquent, pour les règles de vérification de formes des types spatiaux tels que SDO_Geometry, la géométrie PostGIS et la géométrie ou la géographie Microsoft SQL Server, consultez respectivement la documentation Oracle, PostGIS ou SQL Server.

Les règles suivantes s'appliquent à la bibliothèque de formes ESRI et, par conséquent, à l'API d'ESRI et aux accesseurs ST_Geometry.

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

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

7/10/2012