Skip to content
🎉 Apache Sedona 1.8.1 is now available! Check out the new features and improvements.

ST_IsValidDetail

Introduction: Returns a row, containing a boolean valid stating if a geometry is valid, a string reason stating why it is invalid and a geometry location pointing out where it is invalid.

This function is a combination of ST_IsValid and ST_IsValidReason.

The flags parameter is a bitfield with the following options:

  • 0 (default): Use usual OGC SFS (Simple Features Specification) validity semantics.
  • 1: "ESRI flag", Accepts certain self-touching rings as valid, which are considered invalid under OGC standards.

Formats:

ST_IsValidDetail(geom: Geometry)
ST_IsValidDetail(geom: Geometry, flag: Integer)

Since: v1.6.1

SQL Example:

SELECT ST_IsValidDetail(ST_GeomFromWKT('POLYGON ((30 10, 40 40, 20 40, 30 10, 10 20, 30 10))'))

Output:

+-----+---------------------------------------------------------+-------------+
|valid|reason                                                   |location     |
+-----+---------------------------------------------------------+-------------+
|false|Ring Self-intersection at or near point (30.0, 10.0, NaN)|POINT (30 10)|
+-----+---------------------------------------------------------+-------------+