ST_IsValid function
The ST_IsValid function takes a geometry as an input parameter and returns 1 if it is valid. Otherwise 0 (zero) is returned.
A geometry is valid if the attributes are consistent and the internal representation is not corrupted.
If the specified geometry is null, then null is returned.
Syntax
Parameter
- geometry
- A value of type ST_Geometry or one of its subtypes.
Return type
INTEGER
Example
This example creates several geometries
and uses ST_IsValid to check if they are valid. All of the geometries
are valid because the constructor routines, such as ST_Geometry, do
not allow invalid geometries to be constructed.
CREATE TABLE sample_geoms (id INTEGER, geometry ST_Geometry)
INSERT INTO sample_geoms VALUES
(1, ST_Geometry('point EMPTY',0))
INSERT INTO sample_geoms VALUES
(2, ST_Geometry('polygon((40 120, 90 120, 90 150, 40 150, 40 120))' ,0))
INSERT INTO sample_geoms VALUES
(3, ST_Geometry('multipoint m (10 10 5, 50 10 6, 10 30 8)' ,0))
INSERT INTO sample_geoms VALUES
(4, ST_Geometry('linestring z (10 10 166, 20 10 168)',0))
INSERT INTO sample_geoms VALUES
(5, ST_Geometry('point zm (10 10 16 30)' ,0))
SELECT id, ST_IsValid(geometry) Is_Valid
FROM sample_geoms
Results:
ID IS_VALID
----------- -----------
1 1
2 1
3 1
4 1
5 1