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 - 端点が 2回以上出現する場合に境界内にあるとします。言い換えると、境界は全ての「接続された」または「内部の」端点です (「接続していない」や「外部の」端点ではない)。
4: MonovalentEndpoint - 端点が 1回だけ出現する場合に限って、境界内にあるとします。言い換えると境界は全ての「接続していない」または「外部の」端点です。
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