ST_MAKELINE
📄字数 737
👁️阅读量 加载中...
功能描述
创建包含 POINT、MULTIPOINT 或 LINESTRING 几何图形的点的 LINESTRING。
语法格式
sql
GEOMETRY ST_MakeLine(GEOMETRY geom1, GEOMETRY geom2);
GEOMETRY ST_MakeLine(GEOMETRY SET geoms);参数说明
- geom1:第一个目标 GEOMETRY 对象。
- geom2:第一个目标 GEOMETRY 对象。
- geoms:GEOMETRY 对象在数据集中的字段。
函数返回类型
GEOMETRY类型
使用说明
- 此函数有 2 种形式:
- 形式1:输入 2 个几何图形。
- 形式2:聚合函数。为了确保输入几何的顺序,请在函数调用中使用
ORDER BY,或使用带有ORDER BY子句的子查询。
- POINT、MULTIPOINT 或 LINE 以外的输入类型会导致错误。
- 输入 LINESTRING 开头的重复节点将折叠为单个点。 POINT 和 MULTIPOINT 输入中的重复点不会折叠。 ST_REMOVEREPEATEDPOINTS 可用于折叠输出 LINESTRING 中的重复点。
4 . 该函数支持 3d 并且不会丢失 z-index。
示例:双输入格式
生成一条由两个点组成的线:
sql
SQL> SELECT ST_ASTEXT( ST_MAKELINE(ST_POINT(1,2), ST_POINT(3,4)) );
+---------------------+
| EXPR1 |
+---------------------+
| LINESTRING(1 2,3 4) |
+---------------------+从两个三维点生成三维线:
sql
SQL> SELECT ST_ASEWKT( ST_MAKELINE(ST_MAKEPOINT(1,2,3), ST_MAKEPOINT(3,4,5) ));
+-------------------------+
| EXPR1 |
+-------------------------+
| LINESTRING(1 2 3,3 4 5) |
+-------------------------+从两个未连接的线串生成一条线:
sql
SQL> select ST_ASTEXT( ST_MAKELINE( 'LINESTRING(0 0, 1 1)', 'LINESTRING(2 2, 3 3)' ) );
+-----------------------------+
| EXPR1 |
+-----------------------------+
| LINESTRING(0 0,1 1,2 2,3 3) |
+-----------------------------+