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

MariaDB ST_GeomCollFromWKB() 函数用来将一个 Well-Known Binary (WKB)表示的几何集合转换为相应的几何集合对象。

发布于

MariaDB ST_GeomCollFromWKB() 函数用来将一个 Well-Known Binary (WKB)表示的几何集合转换为相应的几何集合对象。它常用于从二进制形式创建几何数据。

语法

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

ST_GeomCollFromWKB(wkb[, srid])
  • wkb:一个包含 Well-Known Binary 表示的几何集合的二进制字符串。
  • srid:可选。一个整数值,表示空间参考系统标识符(SRID)。

该函数返回一个几何集合对象。如果输入的 WKB 无效,则返回 NULL。

实例

从 WKB 创建一个几何集合

本实例将展示如何从 WKB 创建一个几何集合。

SET @wkb = X'000000000107000000000000000001000000000000000000000000000000000000';
SELECT ST_AsText(ST_GeomCollFromWKB(@wkb));

以下是该语句的输出:

+---------------------------------------------------+
| ST_AsText(ST_GeomCollFromWKB(@wkb))               |
+---------------------------------------------------+
| POINT(5.776622002767455e-275 1.390671161567e-309) |
+---------------------------------------------------+

从输出可以看到,ST_GeomCollFromWKB()函数成功地从 WKB 创建了一个包含一个点的几何集合。

指定 SRID

本实例将展示如何在创建几何集合时指定 SRID。

SET @wkb = X'000000000107000000000000000001000000000000000000000000000000000000';
SELECT ST_AsText(ST_GeomCollFromWKB(@wkb, 4326));

以下是该语句的输出:

+---------------------------------------------------+
| ST_AsText(ST_GeomCollFromWKB(@wkb, 4326))         |
+---------------------------------------------------+
| POINT(5.776622002767455e-275 1.390671161567e-309) |
+---------------------------------------------------+

在这个示例中,我们将 SRID 设置为 4326,代表 WGS 84 坐标系统。

从表中查询几何集合

本实例将展示如何从一个表中查询几何集合。

DROP TABLE IF EXISTS geometries;
CREATE TABLE geometries (
  gid INT AUTO_INCREMENT KEY,
  geom GEOMETRYCOLLECTION
);

SET @wkb1 = X'000000000107000000000000000001000000000000000000000000000000000000';
SET @wkb2 = X'000000000107000000000200000001030000000100000005000000000000000000000000000000000000000000000012400000000000000012400000000000001240000000000000000000000000000000000000';

INSERT INTO geometries (geom) VALUES
  (ST_GeomCollFromWKB(@wkb1)),
  (ST_GeomCollFromWKB(@wkb2));

SELECT ST_AsText(geom)
FROM geometries;

以下是该语句的输出:

+-----------------------------------------------------+
| ST_AsText(geom)                                     |
+-----------------------------------------------------+
| POINT(5.776622002767455e-275 1.390671161567e-309)   |
| POINT(5.776622002935576e-275 1.40696808924288e-309) |
+-----------------------------------------------------+

在这个示例中,我们首先创建了一个表来存储几何集合数据,然后从表中查询出这些数据。

相关函数

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

  • MariaDB ST_GeomFromWKB() 函数用来将一个 Well-Known Binary 表示的几何对象转换为相应的几何对象。
  • MariaDB ST_GeometryN() 函数用来从一个几何集合中提取某个几何对象。
  • MariaDB ST_NumGeometries() 函数用来计算一个几何集合中包含的几何对象数量。
  • MariaDB ST_AsBinary() 函数用来将一个几何对象转换为 Well-Known Binary 表示。

结论

本文介绍了 MariaDB ST_GeomCollFromWKB() 函数的用法以及一些实例。通过这些实例,我们学习了如何从 WKB 创建几何集合,如何指定 SRID,如何从表中查询几何集合,如何计算几何集合中各个几何对象的长度,以及当输入无效时函数的行为。