Documentation Home
MySQL 8.0 参考手册  / 第 12 章函数和运算符  / 12.17空间分析函数  /  12.17.3 从 WKT 值创建几何值的函数

12.17.3 从 WKT 值创建几何值的函数

这些函数将 Well-Known Text (WKT) 表示和可选的空间参考系统标识符 (SRID) 作为参数。他们返回相应的几何图形。有关 WKT 格式的说明,请参阅Well-Known Text (WKT) 格式

本节中的函数检测笛卡尔或地理空间参考系统 (SRS) 中的参数,并返回适合 SRS 的结果。

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

诸如 ST_MPointFromText()和 之类的函数ST_GeomFromText()接受 WKT 格式的MultiPoint值表示,允许值中的各个点用括号括起来。例如,以下两个函数调用都是有效的:

ST_MPointFromText('MULTIPOINT (1 1, 2 2, 3 3)')
ST_MPointFromText('MULTIPOINT ((1 1), (2 2), (3 3))')

诸如ST_GeomFromText() 接受 WKT 几何集合参数的函数理解 OpenGIS'GEOMETRYCOLLECTION EMPTY'标准语法和 MySQL'GEOMETRYCOLLECTION()' 非标准语法。生成 WKT 值的函数 ST_AsWKT() 生成'GEOMETRYCOLLECTION EMPTY'标准语法:

mysql> SET @s1 = ST_GeomFromText('GEOMETRYCOLLECTION()');
mysql> SET @s2 = ST_GeomFromText('GEOMETRYCOLLECTION EMPTY');
mysql> SELECT ST_AsWKT(@s1), ST_AsWKT(@s2);
+--------------------------+--------------------------+
| ST_AsWKT(@s1)            | ST_AsWKT(@s2)            |
+--------------------------+--------------------------+
| GEOMETRYCOLLECTION EMPTY | GEOMETRYCOLLECTION EMPTY |
+--------------------------+--------------------------+

除非另有说明,本节中的函数按如下方式处理它们的几何参数:

  • 如果任何几何参数是NULL或不是语法上格式正确的几何,或者如果 SRID 参数是NULL,则返回值为 NULL

  • 默认情况下,地理坐标(纬度、经度)按照几何参数的空间参考系统指定的顺序进行解释。可以提供一个可选 options参数来覆盖默认的轴顺序。options 由逗号分隔的列表组成 。唯一允许的值为 , 允许值为 ,和 (默认值)。 key=valuekeyaxis-orderlat-longlong-latsrid-defined

    如果options参数是 NULL,则返回值为 NULL。如果 options参数无效,则会出现错误以说明原因。

  • 如果 SRID 参数引用未定义的空间参考系统 (SRS), ER_SRS_NOT_FOUND则会发生错误。

  • 对于地理 SRS 几何参数,如果任何参数的经度或纬度超出范围,则会发生错误:

    显示的范围以度为单位。如果 SRS 使用另一个单位,则范围使用其单位中的相应值。由于浮点运算,确切的范围限制略有偏差。

这些函数可用于从 WKT 值创建几何: