Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_ISCLOSED

📄字数 769
👁️阅读量 加载中...

功能描述

测试 LINESTRINGS 的起点和终点是否重合。 对于多面体表面测试是否闭合(实心)。

语法格式

sql
BOOLEAN ST_ISCLOSED(GEOMETRY g);

参数说明

  • g:目标 GEOMETRY 对象;

函数返回类型

BOOLEAN 类型

使用说明

  1. 如果 LINESTRING 的起点和终点重合,则返回TRUE。对于多面体曲面,测试曲面是面状的(开放的)还是体状的(闭合的)。
  2. 该函数支持 3d 并且不会丢失 z-index。
  3. 此方法支持圆形字符串和曲线。
  4. 该函数支持多面体曲面。

示例

线串和点的示例:

sql

SQL> SELECT ST_ISCLOSED('LINESTRING(0 0, 1 1)'::geometry);

+-------+
| EXPR1 |
+-------+
| F     |
+-------+

SQL> SELECT ST_ISCLOSED('LINESTRING(0 0, 0 1, 1 1, 0 0)'::geometry);

+-------+
| EXPR1 |
+-------+
| T     |
+-------+

SQL> SELECT ST_ISCLOSED('MULTILINESTRING((0 0, 0 1, 1 1, 0 0),(0 0, 1 1))'::geometry);

+-------+
| EXPR1 |
+-------+
| F     |
+-------+

SQL> SELECT ST_ISCLOSED('POINT(0 0)'::geometry);

+-------+
| EXPR1 |
+-------+
| T     |
+-------+

SQL> SELECT ST_ISCLOSED('MULTIPOINT((0 0), (1 1))'::geometry);

+-------+
| EXPR1 |
+-------+
| T     |
+-------+

多面体曲面示例:

sql

SQL> SELECT ST_ISCLOSED(ST_GEOMFROMEWKT('POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
                     ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
                     ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),
                     ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)), ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) )'));

+-------+
| EXPR1 |
+-------+
| T     |
+-------+


SQL> SELECT ST_ISCLOSED(ST_GEOMFROMEWKT('POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
                     ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
                     ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),
                     ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)) )'));

+-------+
| EXPR1 |
+-------+
| F     |
+-------+