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 - 如果线条端点出现奇数次,则它们位于边界内。 这是 OGC SFS 标准定义的规则,也是 ST_Relate 的默认规则。
2:Endpoint - 所有端点都在边界内。
3:MultivalentEndpoint - 如果端点出现多次,则它们位于边界内。 换句话说,边界是所有“附加”或“内部”端点(但不是“未附加/外部”端点)。
4:MonovalentEndpoint - 如果端点仅出现一次,则端点位于边界内。 换句话说,边界是所有“未连接”或“外部”端点。
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