Проверка геометрии в таблицах со столбцом ST_Geometry

Проверка геометрии производится при помощи типа данных ST_Geometry посредством библиотек st_shapelib (Oracle) и st_geometry. После создания таблицы проверка выполняется при вставке или обновлении данных.

Существует два основных способа вставки данных в пространственные таблицы:

Функции доступа определяются реализацией каждого пространственного типа, и они могут применять для проверки геометрии данных различные методы. Функции доступа Esri ST_Geometry, так же как и ArcGIS API, используют для проверки геометрии данных библиотеку форм Esri (Esri shape library). Сторонние пространственные типы применяют свои собственные функции доступа и правила проверки формы. Поэтому за правилами проверки формы для таких пространственных типов, как SDO_Geometry, геометрия PostGIS и геометрия или география Microsoft SQL Server, следует обращаться к соответствующей документации (Oracle, PostGIS или SQL Server).

Нижеследующие правила применимы к библиотеке формы Esri и, как следствие, к Esri API и функциям доступа ST_Geometry.

Правила проверки для точечных форм (point shapes)

Правила проверки для простых линий (simple lines) или последовательностей линий (linestrings)

Правила проверки для линий (lines) или слабо структурированных последовательностей линий (spaghetti strings)

Правила проверки и операции для форм площадей (area shapes)

Идентификатор пространственной привязки

При попытке вставить значение с координатами, лежащими вне пределов идентификатора пространственной привязки (SRID), с которым была создана таблица, оператор INSERT даст сбой с подобным сообщением об ошибке:

СУБД

Сообщение об ошибке

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

Связанные темы

9/11/2013