MariaDB ST_ENDPOINT() 函数的基础用法与实例

MariaDB ST_ENDPOINT() 函数用来获取一个线串的终点坐标。该函数接受一个线串作为输入,并返回线串的终点坐标。如果输入的线串为空,则返回 NULL。

发布于

MariaDB ST_ENDPOINT() 函数用来获取一个线串的终点坐标。该函数接受一个线串作为输入,并返回线串的终点坐标。如果输入的线串为空,则返回 NULL。

语法

MairaDB ST_ENDPOINT() 函数的语法如下:

ST_ENDPOINT(ln)

参数说明:

  • ln:接受任意线串类型的几何值,如 LINESTRING。

返回值:

  • 如果输入的线串为空值,则返回 NULL。
  • 否则返回一个点类型的几何值,表示线串的终点坐标。

实例

获取线串终点坐标

本实例演示了如何获取一个线串的终点坐标。

DROP TABLE IF EXISTS lines_table;
CREATE TABLE lines_table (
    id INT PRIMARY KEY AUTO_INCREMENT,
    ln LINESTRING NOT NULL
);
INSERT INTO lines_table (ln) VALUES
    (LINESTRING(POINT(0, 0), POINT(1, 1), POINT(2, 2))),
    (LINESTRING(POINT(3, 3), POINT(4, 4)));

SELECT id, ST_AsText(ST_ENDPOINT(ln)) AS endpoint
FROM lines_table;

以下是该语句的输出:

+----+------------+
| id | endpoint   |
+----+------------+
|  1 | POINT(2 2) |
|  2 | POINT(4 4) |
+----+------------+

可以看到,ST_ENDPOINT() 函数返回了每个线串的终点坐标。

获取线串的起点坐标

本实例演示了如何获取一个线串的起点坐标。

DROP TABLE IF EXISTS lines_table;
CREATE TABLE lines_table (
    id INT PRIMARY KEY AUTO_INCREMENT,
    ln LINESTRING NOT NULL
);
INSERT INTO lines_table (ln) VALUES (LINESTRING(POINT(0, 0), POINT(1, 1), POINT(2, 2))), (LINESTRING(POINT(3, 3), POINT(4, 4)));

SELECT id, ST_AsText(ST_StartPoint(ln)) AS startpoint
FROM lines_table;

以下是该语句的输出:

+----+------------+
| id | startpoint |
+----+------------+
|  1 | POINT(0 0) |
|  2 | POINT(3 3) |
+----+------------+

可以看到,ST_StartPoint() 函数返回了每个线串的起点坐标。

获取空线串的终点坐标

本实例演示了如何获取一个空线串的终点坐标。

SELECT ST_ENDPOINT(NULL) AS endpoint;

以下是该语句的输出:

+----------+
| endpoint |
+----------+
| NULL     |
+----------+

可以看到,对于空线串,ST_ENDPOINT() 函数返回 NULL。

相关函数

以下是几个与 MairaDB ST_ENDPOINT() 相关的几个函数:

  • MariaDB ST_StartPoint() 函数用来获取一个线串的起点坐标。
  • MariaDB ST_PointN() 函数用来获取一个线串中的第 N 个点。
  • MariaDB ST_NumPoints() 函数用来获取一个线串中点的数量。
  • MariaDB ST_IsClosed() 函数用来检查一个线串是否为闭合的。

结论

MariaDB ST_ENDPOINT() 函数是一个非常有用的函数,可以获取一个线串的终点坐标。通过本文的实例,我们学习了如何使用该函数获取不同类型的线串的终点坐标,以及一些异常情况下的返回值。同时,我们还了解了一些与该函数相关的其他几何函数。掌握这些函数有助于我们更好地处理和操作空间数据,尤其是线性数据。