Geometry validation

Geometry validation is provided by the ST_Geometry type through the st_shapelib (Oracle) and st_geometry libraries in PostgreSQL, IBM DB2, and Informix. Once a table is created, data is validated when records are inserted or updated.

There are two main ways to insert data into spatial tables:

Constructor functions are defined by each spatial type implementation and may use different methods to validate geometry data. Esri and IBM ST_Geometry constructor functions and ArcGIS API use the Esri shape library to validate geometry data when the feature is created. Other spatial types, such as SDO_Geometry, PostGIS geometry, and Microsoft SQL Server geometry or geography, have their own constructor functions and use their own shape verification rules. Therefore, you should read the Oracle, PostGIS, or SQL Server documentation respectively for verification rules applied when features are inserted or updated to those types outside ArcGIS.

ArcGIS also validates geometry when the data is read. Invalid geometries cannot be rendered in ArcGIS.

The following geometry validation rules apply to Esri API, ST_Geometry constructor functions, and when ArcGIS reads geometry:

Validation rules for point shapes

Validation rules for simple lines or linestrings

Validation rules for lines or spaghetti strings

Validation rules and operations for area shapes

Spatial reference ID

For feature classes using the ST_Geometry type, if you try to insert a value that has coordinates that are outside the bounds of the spatial reference ID (SRID) provided and with which the table was created, the INSERT statement fails with a message similar to the ones listed here:

DBMS

Error message

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]

Related Topics

6/19/2015