MariaDB STARTPOINT() 函数的基础用法与实例
MariaDB ST_StartPoint()
函数用来获取一个线串(LINESTRING)的起点。
发布于
MariaDB ST_StartPoint()
函数用来获取一个线串(LINESTRING)的起点。在处理地理空间数据时,该函数非常有用。
语法
MairaDB ST_StartPoint()
函数的语法如下:
ST_StartPoint(linestring)
linestring
是一个 LINESTRING 类型的几何对象。- 函数返回该线串的起点,返回值的类型为 POINT。
实例
获取单个线串的起点
SELECT ST_AsText(ST_StartPoint(ST_LineStringFromText('LINESTRING(1 2, 3 4, 5 6)'))) result;
以下是该语句的输出:
+------------+
| result |
+------------+
| POINT(1 2) |
+------------+
结果显示该线串的起点是 POINT(1 2)
。
从表中获取所有线串的起点
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
(ST_LineStringFromText('LINESTRING(1 2, 3 4, 5 6)')),
(ST_LineStringFromText('LINESTRING(7 8, 9 10)')),
(ST_LineStringFromText('LINESTRING(11 12, 13 14, 15 16)'));
SELECT id, ST_AsText(ST_StartPoint(ln)) AS start_point
FROM lines_table;
以下是该语句的输出:
+----+--------------+
| id | start_point |
+----+--------------+
| 1 | POINT(1 2) |
| 2 | POINT(7 8) |
| 3 | POINT(11 12) |
+----+--------------+
结果显示了表中每条线串的起点。
获取多边形外圈的起点
DROP TABLE IF EXISTS polygons;
CREATE TABLE polygons (
id INT PRIMARY KEY AUTO_INCREMENT,
poly POLYGON NOT NULL
);
INSERT INTO polygons (poly) VALUES
(ST_PolygonFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))')),
(ST_PolygonFromText('POLYGON((5 5, 7 5, 7 7, 5 7, 5 5))'));
SELECT id, ST_AsText(ST_StartPoint(ST_ExteriorRing(poly))) AS start_point
FROM polygons;
以下是该语句的输出:
+----+-------------+
| id | start_point |
+----+-------------+
| 1 | POINT(1 1) |
| 2 | POINT(5 5) |
+----+-------------+
结果显示了每个多边形外圈的起点。
相关函数
以下是几个与 MairaDB ST_StartPoint()
相关的几个函数:
- MariaDB
ST_EndPoint()
函数用来获取一个线串的终点。 - MariaDB
ST_PointN()
函数用来获取一个线串上的第 N 个点。 - MariaDB
ST_ExteriorRing()
函数用来获取一个多边形的外圈。
结论
MariaDB ST_StartPoint()
函数是一个非常有用的空间函数,可以让我们快速获取线串的起点。通过本文提供的示例,相信您已经对该函数有了全面的理解。在处理线状地理空间数据时,ST_StartPoint()
函数将是您的得力助手。