MariaDB ST_NUMGEOMETRIES() 函数的基础用法与实例
MariaDB ST_NUMGEOMETRIES()
函数用来获取一个几何体集合中包含的几何体个数。
发布于
MariaDB ST_NUMGEOMETRIES()
函数用来获取一个几何体集合中包含的几何体个数。它是处理几何体相关操作时一个非常有用的函数。
语法
MairaDB ST_NUMGEOMETRIES()
函数的语法如下:
ST_NUMGEOMETRIES(geom)
geom
:一个 GEOMETRYCOLLECTION 值。
该函数返回一个整数,表示给定几何体集合中包含的几何体的个数。如果输入的不是几何体集合,则返回 NULL。
实例
获取集合中几何体的个数
本实例将展示如何获取一个几何体集合中包含的几何体的个数。
SET @g1 = ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,1 1))');
SET @g2 = ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), POLYGON((0 0,1 1,1 0,0 0)))');
SELECT ST_NUMGEOMETRIES(@g1), ST_NUMGEOMETRIES(@g2);
以下是该语句的输出:
+-----------------------+-----------------------+
| ST_NUMGEOMETRIES(@g1) | ST_NUMGEOMETRIES(@g2) |
+-----------------------+-----------------------+
| 2 | 2 |
+-----------------------+-----------------------+
输出显示,给定的两个几何体集合中分别包含 2 个几何体。
获取空几何体集合中几何体的个数
本实例将展示空的几何体集合的情况。
SELECT ST_NUMGEOMETRIES(ST_GeomFromText('GEOMETRYCOLLECTION()'));
以下是该语句的输出:
+-----------------------------------------------------------+
| ST_NUMGEOMETRIES(ST_GeomFromText('GEOMETRYCOLLECTION()')) |
+-----------------------------------------------------------+
| 0 |
+-----------------------------------------------------------+
对于空的几何体集合,函数返回 0。
输入非几何体集合的情况
本实例将展示输入非几何体集合时的情况。
SELECT ST_NUMGEOMETRIES(ST_GeomFromText('POINT(0 0)'));
以下是该语句的输出:
+-------------------------------------------------+
| ST_NUMGEOMETRIES(ST_GeomFromText('POINT(0 0)')) |
+-------------------------------------------------+
| NULL |
+-------------------------------------------------+
当输入的不是几何体集合时,函数返回 NULL。
结合其他函数使用
本实例将展示如何结合其他函数使用 ST_NUMGEOMETRIES()
。
SELECT ST_AsText(ST_GeometryN(ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,1 1))'), n)) AS result
FROM (SELECT 1 AS n UNION ALL SELECT 2) AS x;
以下是该语句的输出:
+---------------------+
| result |
+---------------------+
| POINT(0 0) |
| LINESTRING(0 0,1 1) |
+---------------------+
通过结合 ST_GeometryN()
,可以获取几何体集合中指定索引的几何体。
相关函数
以下是几个与 MairaDB ST_NUMGEOMETRIES()
相关的几个函数:
- MariaDB
ST_GeometryN()
函数用来获取几何体集合中指定索引的几何体。 - MariaDB
ST_NumInteriorRings()
函数用来获取一个多边形内环的个数。 - MariaDB
ST_NumPoints()
函数用来获取一个线串或多边形中的点的个数。
结论
ST_NUMGEOMETRIES()
是 MariaDB 中处理几何体集合时一个非常有用的函数。通过本文的介绍和实例,相信您已经对它的用法有了较为全面的了解。在处理空间数据时,掌握这些空间函数将会给您带来很大的帮助。