Проверка корректности значения геометрического типа данных.
GeoIsValid
(<объект>
)
<объект> –
произвольный геометрический объект. |
Значение типа integer:
1 – корректный объект;
0 – некорректный объект.
NULL, если геометрический объект пуст.
Код завершения СУБД ЛИНТЕР (при неправильном аргументе функции).
Создаем таблицу и заносим в нее данные:
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|