Доступные версии документации

Проверка корректности геометрических данных

Функция

Проверка корректности значения геометрического типа данных.

Спецификация

  GeoIsValid (<объект>)
<объект> – произвольный геометрический объект.

Возвращаемое значение

  1. Значение типа integer:

    • 1 – корректный объект;

    • 0 – некорректный объект.

  2. NULL, если геометрический объект пуст.

  3. Код завершения СУБД ЛИНТЕР (при неправильном аргументе функции).

Пример

Создаем таблицу и заносим в нее данные:

CREATE OR REPLACE TABLE GEOMCOLL_TEST(G GEOMETRYCOLLECTION);
SET CONNECTION GEODATA VALIDITY CHECKING OFF;

/* CORRECT POINT */
INSERT INTO GEOMCOLL_TEST VALUES('GEOMETRYCOLLECTION (POINT (1 1))');

/* RADIX < 0 */
INSERT INTO GEOMCOLL_TEST VALUES('GEOMETRYCOLLECTION (CIRCLE (1 1, -1))');

/* EXTERIOR RING IS NOT CORRECT */
INSERT INTO GEOMCOLL_TEST
VALUES('GEOMETRYCOLLECTION
(POLYGON ((0 0,0 3,3 3, 3 -1, 3 0, 0 0),(1 1,1 2,2 2,2 1,1 1)))');

/* POLYGONS INTERSECTS */
INSERT INTO GEOMCOLL_TEST
VALUES('GEOMETRYCOLLECTION
(MULTIPOLYGON(((0 1,1 2,2 1,1 0,0 1)),((2 2,3 1,2 0,1 1,2 2))))');

Проверяем корректность введенных данных:

SELECT GeoIsValid(G) FROM GEOMCOLL_TEST;
 INL : начальное время : 17:22:18 конечное время :  17:22:18

|          1|
|          0|
|          0|
|          0|
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter