Validación de geometría en tablas que contienen columnas de ST_Geometry

El tipo ST_Geometry proporciona la validación de geometría por medio de las bibliotecas st_shapelib (Oracle) y st_geometry. Una vez que se crea la tabla, los datos se validan cuando se insertan o actualizan los registros.

Hay dos maneras principales de insertar datos en tablas espaciales:

Las funciones del descriptor de acceso están definidas por cada implementación de tipo espacial y puede usar diferentes métodos para validar los datos de geometría. Las funciones del descriptor de acceso Esri ST_Geometry y las API de ArcGIS utilizan la biblioteca de formas de Esri para validar los datos de geometría. Los tipos espaciales de terceros tienen sus propias funciones de descriptor de acceso y usan sus propias reglas de verificación de formas. Por lo tanto, para conocer las reglas de verificación de formas de tipos espaciales, tales como SDO_Geometry, la geometría de PostGIS, y la geometría o la geografía de Microsoft SQL Server, lea la documentación de Oracle, PostGIS, o SQL Server respectivamente.

Las reglas siguientes se aplican a la biblioteca de formas de Esri y consecuentemente a las funciones del descriptor de acceso de las API de Esri y de ST_Geometry.

Reglas de validación para formas de puntos

Reglas de validación para líneas o cadenas de líneas

Reglas de validación para líneas o cadenas tipo "espagueti"

Reglas de validación y operaciones para formas de área

Id. de referencia espacial

Si intenta insertar un valor que tiene coordenadas que están fuera de los límites del Id. de referencia espacial (SRID) provisto y con el cual se creó la tabla, la declaración INSERT emite un mensaje de error similar a los que aparecen en la lista siguiente:

DBMS

Mensaje de error

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/11/2012