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:
Formats:
ST_IsValidDetail(geom: Geometry)
ST_IsValidDetail(geom: Geometry, flag: Integer)
Return type: Struct<valid: Boolean, reason: String, location: Geometry>
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)| +-----+---------------------------------------------------------+-------------+