Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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类型

使用说明

  1. 此函数有 2 种形式:
  • 形式1:输入 2 个几何图形。
  • 形式2:聚合函数。为了确保输入几何的顺序,请在函数调用中使用ORDER BY,或使用带有ORDER BY子句的子查询。
  1. POINT、MULTIPOINT 或 LINE 以外的输入类型会导致错误。
  2. 输入 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) |
+-----------------------------+