---
title: "创建几何值函数 - OceanBase 数据库 V4.3.4 | OceanBase 文档中心"
description: 创建几何值函数 创建几何值函数用于以各种格式（如 Well-Known Text (WKT) 或 Well-Known Binary (WKB)）创建几何图形。OceanBase 数据库当前版本所支持的创建几何值的函数包括 ST_GeomFromText() 和 ST_GeometryFromText() 、 ST_…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.4

# 创建几何值函数

更新时间：2025-03-06 14:26:07

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.4/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/800.spatial-functions-of-mysql-mode/150.create-a-geometry-function-of-mysql-mode.md)  

创建几何值函数用于以各种格式（如 Well-Known Text (WKT) 或 Well-Known Binary (WKB)）创建几何图形。OceanBase 数据库当前版本所支持的创建几何值的函数包括 `ST_GeomFromText()` 和 `ST_GeometryFromText()`、`ST_GeomFromWKB()` 和 `ST_GeometryFromWKB()`。

- `ST_GeomFromText()`：从 WKT 格式的字符串中创建几何图形。
 - `ST_GeometryFromText()`：功能上与 `ST_GeomFromText()` 相似，也是从 WKT 格式的字符串创建几何图形。不同的数据库系统可能会提供不同命名的函数，但功能类似。
 - `ST_GeomFromWKB()`：从 WKB 格式的二进制数据中创建几何图形。
 - `ST_GeometryFromWKB()`: 功能上与 `ST_GeomFromWKB()` 相似，也是从 WKB 格式的二进制数据创建几何图形。
 - `_ST_MakePoint`：用于创建新的点几何对象。

## ST_GeomFromText 和 ST_GeometryFromText

`ST_GeomFromText()` 和 `ST_GeometryFromText()` 函数将 Well-Known Text（WKT） 表示形式和可选的空间参考系统标识符 (SRID) 作为参数，返回相应的几何图形。有关 WKT 格式的说明，请参见 [空间数据格式](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001578846)。

`ST_GeomFromText()` 接受任何几何类型的 WKT 值作为其第一个参数。其他函数提供特定类型的构造函数，用于构造每种几何类型的几何值。 函数的语法如下：

```sql
ST_GeomFromText(wkt [, srid [, options]]), ST_GeometryFromText(wkt [, srid [, options]])

```

示例如下：

```sql
obclient [test]> SET @geo = "MULTILINESTRING((10 10, 11 11), (9 9, 10 10))";
Query OK, 0 rows affected

obclient [test]> SELECT ST_AsText(ST_GeomFromText(@geo));
+--------------------------------------------+
| ST_AsText(ST_GeomFromText(@geo))           |
+--------------------------------------------+
| MULTILINESTRING((10 10,11 11),(9 9,10 10)) |
+--------------------------------------------+
1 row in set

```

## ST_GeomFromWKB 和 ST_GeometryFromWKB

`ST_GeomFromWKB()` 和 `ST_GeometryFromWKB()` 函数将包含 Well-Known Binary (WKB) 表示和可选的空间参考系统标识符 (SRID) 的 `BLOB` 作为参数，返回相应的几何图形。有关 WKB 格式的说明，请参见 [空间数据格式](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001578846)。

函数的语法如下：

```sql
ST_GeomFromWKB(wkb [, srid [, options]]), ST_GeometryFromWKB(wkb [, srid [, options]])

```

## 参数的注意事项

创建几何值函数中几何参数何参数的返回值为非 `NULL`，以下情况除外：

- 如果任何几何参数为 `NULL` 或不是语法格式不正确，则返回值为 `NULL`。
 - 可选的 `options` 参数可以使地理坐标的纬度和经度按照几何参数的空间参考系统指定的顺序进行解析。`options` 由逗号分隔的 `key=value` 列表组成。`key` 值只能是 `axis-order`，允许的值为 `lat-long`、`long-lat` 和 `srid-defined`（默认值）。如果 `options` 参数为 `NULL`，则返回值为 `NULL`。如果选项参数无效，则会发生报错。
 - 如果 `SRID` 参数引用未定义的空间参考系统 (SRS)，则会发生 `ER_SRS_NOT_FOUND` 错误。
 - 对于地理 SRS 几何参数，如果任何参数的经度或纬度超出范围（范围以度为单位，如果 SRS 使用其他单位，则范围使用其单位中的相应值），则会发生报错：

     - 如果经度值不在范围 (-180, 180] 内，则会发生 `ER_LONGITUDE_OUT_OF_RANGE` 错误。
     - 如果纬度值不在 [−90, 90] 范围内，则会发生 `ER_LATITUDE_OUT_OF_RANGE` 错误。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
