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 only if all of the attributes in the structured type are consistent with the internal representation of geometry data, and if the internal representation is not corrupted.
If the given geometry is null, then null is returned.
This function can also be called as a method.
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.
SET CURRENT FUNCTION PATH = CURRENT FUNCTION PATH, db2gse
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