Validación de geometrías

El tipo ST_Geometry proporciona la validación de geometría por medio de las bibliotecas st_shapelib (Oracle) y st_geometry en PostgreSQL, IBM DB2 e Informix. 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 constructoras se definen para cada implementación de tipo espacial y pueden usar diferentes métodos para validar los datos de geometría. Las funciones constructoras ST_Geometry de Esri y e IBM utilizan la biblioteca de formas de Esri para validar los datos de geometría al crear la entidad. Otros tipos espaciales, como SDO_Geometry, la geometría de PostGIS, y la geometría o la geografía de Microsoft SQL Server, tienen sus propias funciones constructoras y utilizan sus propias reglas de verificación de formas. Por lo tanto, es necesario consultar las reglas de verificación que se aplican al insertar o actualizar entidades en estos tipos fuera de ArcGIS en la documentación de Oracle, PostGIS o SQL Server respectivamente.

ArcGIS también valida la geometría al leer los datos. Las geometrías que no sean válidas no se pueden representar en ArcGIS.

Las reglas siguientes de validación de geometrías se aplican a la API de Esri, las funciones constructoras de ST_Geometry y cuando ArcGIS lee geometrías:

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

Para clases de entidades que utilicen el tipo ST_Geometry, si se intenta insertar un valor con 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

SQLite

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

Temas relacionados

5/10/2014