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

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

发布于

MariaDB ST_GeometryFromWKB() 函数用来从二进制 WKB 格式的表示构造一个地理信息对象。该函数常用于从数据库中存储和读取地理空间数据。

语法

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

ST_GeometryFromWKB(wkb[, srid])
  • wkb: 必选参数,是一个 BLOB 数据类型,存储的是二进制 WKB 格式的地理空间数据。
  • srid: 可选参数,是一个整数,表示空间参考系统标识符 (SRID)。如果未指定,则使用默认 SRID 值 0。

该函数返回一个地理信息对象。返回值的类型取决于输入 WKB 类型。

实例

从 WKB 构造点对象

此实例演示如何从 WKB 构造一个点对象。

DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT PRIMARY KEY, pt POINT);
INSERT INTO test_table (id, pt) VALUES
  (1, ST_GeometryFromWKB(0x0101000000000000000000F03F000000000000F03F));

SELECT id, ST_AsText(pt) FROM test_table;

以下是该语句的输出:

+----+---------------+
| id | ST_AsText(pt) |
+----+---------------+
|  1 | POINT(1 1)    |
+----+---------------+

从 WKB 构造线对象

此实例演示如何从 WKB 构造一条线对象。

DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT PRIMARY KEY, ln LINESTRING);
INSERT INTO test_table (id, ln) VALUES
  (1, ST_GeometryFromWKB(0x0102000000020000000000000000000000000000000000F03F00000000000008400000000000001040));

SELECT id, ST_AsText(ln) FROM test_table;

以下是该语句的输出:

+----+---------------------+
| id | ST_AsText(ln)       |
+----+---------------------+
|  1 | LINESTRING(0 1,3 4) |
+----+---------------------+

从 WKB 构造多点对象

此实例演示如何从 WKB 构造一个多点对象。

DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT PRIMARY KEY, mpt MULTIPOINT);
INSERT INTO test_table (id, mpt) VALUES
  (1, ST_GeometryFromWKB(0x0104000000020000000101000000000000000000F03F0000000000000000010100000000000000000008400000000000001040));

SELECT id, ST_AsText(mpt) FROM test_table;

以下是该语句的输出:

+----+---------------------+
| id | ST_AsText(mpt)      |
+----+---------------------+
|  1 | MULTIPOINT(1 0,3 4) |
+----+---------------------+

相关函数

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

  • MariaDB ST_GeomFromText() 函数用来从 WKT 构造地理信息对象。
  • MariaDB ST_GeometryFromWKB() 函数用来将一个 Well-Known Binary 表示的几何对象转换为相应的几何对象(别名)。
  • MariaDB ST_AsBinary() 函数用来将一个几何对象转换为 Well-Known Binary 表示。
  • MariaDB ST_GeometryType() 函数用来获取一个几何对象的类型。
  • MariaDB ST_Dimension() 函数用来获取一个几何对象的维度。
  • MariaDB ST_AsWKB() 函数用来将一个地理信息对象转换为 WKB 格式的二进制表示。
  • MariaDB ST_AsText() 函数用来将一个地理信息对象转换为 WKT 格式的文本表示。

结论

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