ST_IsSimpleDetail — Report locations of self-intersection or self-tangency, if any.
simple_detail ST_IsSimpleDetail(geometry geom, integer findAllLocations = 0, integer boundaryNodeRule = 1);
Returns a simple_detail row, containing a boolean (simple) stating if a geometry is simple and a geometry (location) pointing out where it is non-simple.
The optional findAllLocations parameter can be set to 1 to report all non-simple locations, rather than just one.
The optional boundaryNodeRule values are:
1: OGC-Mod2 - Linienendpunkte befinden sich in der Boundary, wenn sie eine ungerade Anzahl von Malen vorkommen. Dies ist die vom OGC SFS-Standard definierte Regel und ist die Vorgabe für ST_Relate.
2: Endpunkt - alle Endpunkte befinden sich in der Boundary.
3: MultivalentEndpoint - Endpunkte befinden sich in der Boundary, wenn sie mehr als einmal vorkommen. Mit anderen Worten, die Grenze sind alle "verbundenen" oder "inneren" Endpunkte (aber nicht die "unverbundenen/äußeren").
4: MonovalenterEndpunkt - Endpunkte befinden sich in der Boundary, wenn sie nur einmal vorkommen. Mit anderen Worten, die Begrenzung sind alle "unverbundenen" oder "äußeren" Endpunkte.
Availability: 3.7.0
SELECT ST_IsSimple('POLYGON((1 2,3 4,5 6,1 2))');
f
SELECT ST_IsSimple('LINESTRING(1 1,2 2,2 3.5,1 3,1 2,2 1)');
f