IsRing is supposed to apply if IsSimple and IsClosed. In the above example, IsClosed is true, while IsSimple is false, when it seems it should be true.
select ST_IsSimple(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)'));
|
+----------------------------------------------------------------+
|
| ST_IsSimple(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)')) |
|
+----------------------------------------------------------------+
|
| 0 |
|
+----------------------------------------------------------------+
|
|
select ST_IscLOSED(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)'));
|
+----------------------------------------------------------------+
|
| ST_IscLOSED(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)')) |
|
+----------------------------------------------------------------+
|
| 1 |
|
+----------------------------------------------------------------+
|
IsRing is supposed to apply if IsSimple and IsClosed. In the above example, IsClosed is true, while IsSimple is false, when it seems it should be true.
select ST_IsSimple(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)'));
+----------------------------------------------------------------+
| ST_IsSimple(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)')) |
+----------------------------------------------------------------+
| 0 |
+----------------------------------------------------------------+
select ST_IscLOSED(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)'));
+----------------------------------------------------------------+
| ST_IscLOSED(ST_LineFromText('LINESTRING(0 0,0 10,10 10,0 0)')) |
+----------------------------------------------------------------+
| 1 |
+----------------------------------------------------------------+