MariaDB ST_ISCLOSED() 函数的基础用法与实例
MariaDB ST_ISCLOSED()
函数用来检查一个线串是否闭合,即第一个点和最后一个点是否相同。
发布于
MariaDB ST_ISCLOSED()
函数用来检查一个线串是否闭合,即第一个点和最后一个点是否相同。该函数常用于验证线串对象的有效性。
语法
MairaDB ST_ISCLOSED()
函数的语法如下:
ST_ISCLOSED(ls)
ls
:必选参数,代表一个LINESTRING
类型的线串对象。
如果线串闭合,则函数返回 1;如果线串未闭合,则返回 0;如果输入参数为 NULL 或者不是 LINESTRING
,返回 NULL (MariaDB 10.1.5 之后返回 -1)。
实例
检查一个闭合的线串
此实例演示检查一个闭合的线串。
SELECT ST_ISCLOSED(ST_GeomFromText('LINESTRING(0 0, 1 1, 2 0, 0 0)'));
以下是该语句的输出:
+----------------------------------------------------------------+
| ST_ISCLOSED(ST_GeomFromText('LINESTRING(0 0, 1 1, 2 0, 0 0)')) |
+----------------------------------------------------------------+
| 1 |
+----------------------------------------------------------------+
检查一个未闭合的线串
此实例演示检查一个未闭合的线串。
DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT PRIMARY KEY, ls LINESTRING);
INSERT INTO test_table (id, ls) VALUES
(1, ST_GeomFromText('LINESTRING(0 0, 1 1, 2 0)'));
SELECT ST_ISCLOSED(ST_GeomFromText('LINESTRING(0 0, 1 1, 2 0)'));
以下是该语句的输出:
+-----------------------------------------------------------+
| ST_ISCLOSED(ST_GeomFromText('LINESTRING(0 0, 1 1, 2 0)')) |
+-----------------------------------------------------------+
| 0 |
+-----------------------------------------------------------+
检查一个单点线串
此实例演示检查一个单点线串时,ST_ISCLOSED()
函数的返回值。
DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT PRIMARY KEY, ls LINESTRING);
INSERT INTO test_table (id, ls) VALUES
(1, ST_GeomFromText('LINESTRING(0 0)'));
SELECT id, ST_ISCLOSED(ls) FROM test_table;
以下是该语句的输出:
+----+-----------------+
| id | ST_ISCLOSED(ls) |
+----+-----------------+
| 1 | 1 |
+----+-----------------+
检查一个空线串
此实例演示检查一个空线串时,ST_ISCLOSED()
函数的返回值。
DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT PRIMARY KEY, ls LINESTRING);
INSERT INTO test_table (id, ls) VALUES
(1, ST_GeomFromText('LINESTRING()'));
SELECT id, ST_ISCLOSED(ls) FROM test_table;
以下是该语句的输出:
+----+-----------------+
| id | ST_ISCLOSED(ls) |
+----+-----------------+
| 1 | -1 |
+----+-----------------+
检查一个无效线串
此实例演示检查一个无效线串时,ST_ISCLOSED()
函数的返回值。
DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT PRIMARY KEY, ls LINESTRING);
INSERT INTO test_table (id, ls) VALUES
(1, ST_GeomFromText('LINESTRING(0 0, NULL, 2 0)'));
SELECT id, ST_ISCLOSED(ls) FROM test_table;
以下是该语句的输出:
+----+-----------------+
| id | ST_ISCLOSED(ls) |
+----+-----------------+
| 1 | -1 |
+----+-----------------+
相关函数
以下是几个与 MairaDB ST_ISCLOSED()
相关的几个函数:
- MariaDB
ST_IsRing()
函数用来检查一个线串是否构成了一个闭合环。 - MariaDB
ST_IsClosed()
函数用来检查一个MULTILINESTRING
对象中的每个线串是否闭合。 - MariaDB
ST_IsSimple()
函数用来检查一个几何对象是否为简单对象。
结论
MariaDB ST_ISCLOSED()
函数是一个非常有用的函数,它允许我们检查一个线串是否闭合。通过本文的实例,我们更好地理解了如何使用这个函数,以及它的作用和用法。需要注意的是,在使用该函数时,需要确保输入的线串对象是有效的,否则可能会导致函数返回 NULL 或者出现错误。此外,该函数还可以与其他几何运算函数结合使用,以实现更加复杂的空间分析和计算。