ST_COLLECT
📄字数 931
👁️阅读量 加载中...
功能描述
将几何图形收集到几何图形集合中。
语法格式
sql
GEOMETRY ST_COLLECT(GEOMETRY g1, GEOMETRY g2);
GEOMETRY ST_COLLECT(GEOMETRY set g1field);参数说明
- g1:第一个目标 GEOMETRY 对象。
- g2:第一个目标 GEOMETRY 对象。
- g1field:GEOMETRY 对象在数据集中的字段。
函数返回类型
GEOMETRY类型
使用说明
- 此函数有 2 种形式:
- 形式1:输入 2 个几何图形。
- 形式2:聚合函数。为了确保输入几何的顺序,请在函数调用中使用
ORDER BY,或使用带有ORDER BY子句的子查询。
- 结果是 Multi* 或 GeometryCollection,具体取决于输入几何图形是否具有相同或不同类型(同质或异构)。输入几何图形在集合中保持不变。
- ST_COLLECT 和 ST_UNION 区别:
- ST_COLLECT:将几何图形聚合到一个集合中,而不以任何方式更改它们。
- ST_UNION:在几何上合并重叠的几何图形,并在交叉点分割线串。合并边界时,可能会返回单个几何图形。
- 该函数支持 3d 并且不会丢失 z-index。
- 此方法支持圆形字符串和曲线。
示例:双输入格式
合并 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)) |
+----------------------------------------------------------------------------------------------------------------------------------+