ST_ISCLOSED
📄字数 769
👁️阅读量 加载中...
功能描述
测试 LINESTRINGS 的起点和终点是否重合。 对于多面体表面测试是否闭合(实心)。
语法格式
sql
BOOLEAN ST_ISCLOSED(GEOMETRY g);参数说明
- g:目标 GEOMETRY 对象;
函数返回类型
BOOLEAN 类型
使用说明
- 如果 LINESTRING 的起点和终点重合,则返回TRUE。对于多面体曲面,测试曲面是面状的(开放的)还是体状的(闭合的)。
- 该函数支持 3d 并且不会丢失 z-index。
- 此方法支持圆形字符串和曲线。
- 该函数支持多面体曲面。
示例
线串和点的示例:
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 |
+-------+