Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_NODE

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

功能描述

返回一个 (Multi)LineString ,表示线串集合的完全节点版本。

语法格式

sql
GEOMETRY ST_NODE(GEOMETRY geom);

参数说明

  • geom:目标 GEOMETRY 对象。

函数返回类型

GEOMETRY 类型

使用说明

  1. 节点保留所有输入节点,并引入尽可能少的新节点。
  2. 生成的线条被溶解(重复的线条被删除)。
  3. 是创建适合用作 ST_Polygonize 输入的全节点线条的好方法。
  4. ST_UnaryUnion 也可用于节点和溶解线条。 它提供了一个指定 gridSize 的选项,这可以提供更简单、更稳健的输出。 另请参阅 ST_Union 了解聚合版本。
  5. 此函数是由 GEOS 模块执行的。
  6. 该函数支持 3d 并且不会丢失 z-index。

示例

节点自相交的 3D 线串:

sql
SQL> SELECT ST_AsText(
             ST_Node('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'::geometry)
         ) As  output;

+----------------------------------------------------------------------------------------+
|                                         OUTPUT                                         |
+----------------------------------------------------------------------------------------+
| MULTILINESTRING Z ((0 0 0,5 5 4.5),(5 5 4.5,10 10 10,0 10 5,5 5 4.5),(5 5 4.5,10 0 3)) |
+----------------------------------------------------------------------------------------+

(1 row)

将节点添加到共享一条线的两个线串。生成的线被溶解。

sql
SQL> SELECT ST_AsText(
             ST_Node('MULTILINESTRING ((2 5, 2 1, 7 1), (6 1, 4 1, 2 3, 2 5))'::geometry)
         ) As  output;

+------------------------------------------------------------------------+
|                                 OUTPUT                                 |
+------------------------------------------------------------------------+
| MULTILINESTRING((2 5,2 3),(2 3,2 1,4 1),(4 1,2 3),(4 1,6 1),(6 1,7 1)) |
+------------------------------------------------------------------------+

(1 row)