Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_COLLECT

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

功能描述

将几何图形收集到几何图形集合中。

语法格式

sql
GEOMETRY ST_COLLECT(GEOMETRY g1, GEOMETRY g2);
GEOMETRY ST_COLLECT(GEOMETRY set g1field);

参数说明

  • g1:第一个目标 GEOMETRY 对象。
  • g2:第一个目标 GEOMETRY 对象。
  • g1field:GEOMETRY 对象在数据集中的字段。

函数返回类型

GEOMETRY类型

使用说明

  1. 此函数有 2 种形式:
  • 形式1:输入 2 个几何图形。
  • 形式2:聚合函数。为了确保输入几何的顺序,请在函数调用中使用ORDER BY,或使用带有ORDER BY子句的子查询。
  1. 结果是 Multi* 或 GeometryCollection,具体取决于输入几何图形是否具有相同或不同类型(同质或异构)。输入几何图形在集合中保持不变。
  2. ST_COLLECT 和 ST_UNION 区别:
  • ST_COLLECT:将几何图形聚合到一个集合中,而不以任何方式更改它们。
  • ST_UNION:在几何上合并重叠的几何图形,并在交叉点分割线串。合并边界时,可能会返回单个几何图形。
  1. 该函数支持 3d 并且不会丢失 z-index。
  2. 此方法支持圆形字符串和曲线。

示例:双输入格式

合并 2D 点:

sql
SQL> SELECT ST_AsText( ST_Collect( ST_GeomFromText('POINT(1 2)'),
             ST_GeomFromText('POINT(-2 3)') ));

+--------------------------+
|          EXPR1           |
+--------------------------+
| MULTIPOINT((1 2),(-2 3)) |
+--------------------------+

合并 3D 点:

sql
SQL> SELECT ST_AsEWKT( ST_Collect( ST_GeomFromEWKT('POINT(1 2 3)'),
                     ST_GeomFromEWKT('POINT(1 2 4)') ) );

+-------------------------+
|          EXPR1          |
+-------------------------+
| MULTIPOINT(1 2 3,1 2 4) |
+-------------------------+

合并曲线:

sql
SQL> SELECT ST_AsText( ST_Collect( 'CIRCULARSTRING(220268 150415,220227 150505,220227 150406)',
                     'CIRCULARSTRING(220227 150406,2220227 150407,220227 150406)'));

+----------------------------------------------------------------------------------------------------------------------------------+
|                                                              EXPR1                                                               |
+----------------------------------------------------------------------------------------------------------------------------------+
| MULTICURVE(CIRCULARSTRING(220268 150415,220227 150505,220227 150406),CIRCULARSTRING(220227 150406,2220227 150407,220227 150406)) |
+----------------------------------------------------------------------------------------------------------------------------------+