跳到主要内容
最后于 更新

ST_ISCLOSED

SinceVersion dev

描述​

判断 LINESTRING 是否闭合。当 LINESTRING 的起点和终点完全相等时,该线为闭合线。此函数不使用距离容差。

语法​

ST_ISCLOSED( <shape> )

参数​

参数说明
<shape>由 ST_GeometryFromText、ST_LineFromText 等空间构造函数返回的编码几何值,类型为 VARCHAR。WKT 文本必须先通过构造函数转换。

返回值​

返回 BOOLEAN 值:

  • 如果输入是有效的 LINESTRING,且其起点和终点完全相等,则返回 true。
  • 如果输入是有效的 LINESTRING,且其起点和终点不同,则返回 false。
  • 如果输入为 NULL、不是 LINESTRING,或无法解码为有效的几何图形,则返回 NULL。

在 SQL 输出中,true 显示为 1,false 显示为 0。

举例​

闭合的 LINESTRING

SELECT ST_IsClosed(
ST_GeometryFromText('LINESTRING(0 0, 1 1, 0 0)')
) AS is_closed;
+-----------+
| is_closed |
+-----------+
| 1 |
+-----------+

未闭合的 LINESTRING

SELECT ST_IsClosed(
ST_GeometryFromText('LINESTRING(0 0, 1 1)')
) AS is_closed;
+-----------+
| is_closed |
+-----------+
| 0 |
+-----------+

NULL 输入

SELECT ST_IsClosed(NULL) AS is_closed;
+-----------+
| is_closed |
+-----------+
| NULL |
+-----------+

非 LINESTRING 输入

SELECT ST_IsClosed(ST_Point(0, 0)) AS is_closed;
+-----------+
| is_closed |
+-----------+
| NULL |
+-----------+