这些函数将 Well-Known Binary (WKB) 表示形式的 BLOB 作为参数,并且可选地指定空间参考系统标识符 (SRID)。它们返回相应的几何体。有关 WKB 格式的描述,请参阅 Well-Known Binary (WKB) 格式。
本节中的函数可以检测 Cartesian 或地理空间参考系统 (SRS) 中的参数,并返回相应的结果。
ST_GeomFromWKB() 接受任何几何类型的 WKB 值作为其第一个参数。其他函数提供了每种几何类型的特定构造函数,以构建相应的几何值。
在 MySQL 8.3 之前,这些函数也接受了由 第 14.16.5 节“MySQL 特定函数 That Create Geometry Values” 中的函数返回的几何对象作为参数。几何参数不再被允许,并将产生错误。要将使用几何参数的调用迁移到使用 WKB 参数,按照以下指南进行:
-
重写构造,如
ST_GeomFromWKB(Point(0, 0)),重写为Point(0, 0)。 -
重写构造,如
ST_GeomFromWKB(Point(0, 0), 4326),重写为ST_SRID(Point(0, 0), 4326)或ST_GeomFromWKB(ST_AsWKB(Point(0, 0)), 4326)。
除非另有说明,本节中的函数将其几何参数处理如下:
-
如果 WKB 或 SRID 参数为
NULL,则返回值为NULL。 -
默认情况下,地理坐标(纬度、经度)按照几何参数的空间参考系统的顺序解释。可选的
options参数可以用来覆盖默认的轴顺序。options由逗号分隔的组成。唯一允许的key=valuekey值是axis-order,其允许值为lat-long、long-lat和srid-defined(默认值)。如果
options参数为NULL,则返回值为NULL。如果options参数无效,将发生错误以指示原因。 -
如果 SRID 参数引用了未定义的空间参考系统 (SRS),将发生
ER_SRS_NOT_FOUND错误。 -
对于地理 SRS 几何参数,如果任何参数的经度或纬度超出范围,将发生错误:
-
如果经度值不在范围 (−180, 180] 内,将发生
ER_LONGITUDE_OUT_OF_RANGE错误。 -
如果纬度值不在范围 [−90, 90] 内,将发生
ER_LATITUDE_OUT_OF_RANGE错误。
所示范围以度为单位。如果 SRS 使用其他单位,则范围使用相应的值。在浮点算术中,精确的范围限制略有偏差。
-
以下函数可用于从 WKB 值创建几何值:
-
ST_GeomCollFromWKB(,wkb[,srid[,options]])ST_GeometryCollectionFromWKB(wkb[,srid[,options]])使用 WKB 表示形式和 SRID 构建
GeometryCollection值。这些函数按照本节的介绍处理其参数。
-
ST_GeomFromWKB(,wkb[,srid[,options]])ST_GeometryFromWKB(wkb[,srid[,options]])使用 WKB 表示和 SRID 构建任意类型的几何值。
这些函数按照本节的介绍处理其参数。
-
ST_LineFromWKB(,wkb[,srid[,options]])ST_LineStringFromWKB(wkb[,srid[,options]])使用 WKB 表示和 SRID 构建 LineString 值。
这些函数按照本节的介绍处理其参数。
-
ST_MLineFromWKB(,wkb[,srid[,options]])ST_MultiLineStringFromWKB(wkb[,srid[,options]])使用 WKB 表示和 SRID 构建 MultiLineString 值。
这些函数按照本节的介绍处理其参数。
-
ST_MPointFromWKB(,wkb[,srid[,options]])ST_MultiPointFromWKB(wkb[,srid[,options]])使用 WKB 表示和 SRID 构建 MultiPoint 值。
这些函数按照本节的介绍处理其参数。
-
ST_MPolyFromWKB(,wkb[,srid[,options]])ST_MultiPolygonFromWKB(wkb[,srid[,options]])使用 WKB 表示和 SRID 构建 MultiPolygon 值。
这些函数按照本节的介绍处理其参数。
-
ST_PointFromWKB(wkb[,srid[,options]])使用 WKB 表示和 SRID 构建 Point 值。
ST_PointFromWKB()按照本节的介绍处理其参数。 -
ST_PolyFromWKB(,wkb[,srid[,options]])ST_PolygonFromWKB(wkb[,srid[,options]])使用 WKB 表示和 SRID 构建 Polygon 值。
这些函数按照本节的介绍处理其参数。