这些函数将包含熟知二进制 (WKB) 表示形式的 BLOB
以及可选的空间参考系统标识符 (SRID) 作为参数。它们返回相应的几何图形。有关 WKB 格式的说明,请参阅 熟知二进制 (WKB) 格式。
本节中的函数可以检测笛卡尔或地理空间参考系统 (SRS) 中的参数,并返回适合 SRS 的结果。
ST_GeomFromWKB()
接受任何几何类型的 WKB 值作为其第一个参数。其他函数为每种几何类型的几何值的构造提供了特定于类型的构造函数。
在 MySQL 9.0 之前,这些函数还接受 第 14.16.5 节 “MySQL 特定的创建几何值的函数” 中函数返回的几何对象作为参数。不再允许使用几何参数,并且会产生错误。要将调用从使用几何参数迁移到使用 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
=value
key
值是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
值。这些函数按本节引言中所述处理其参数。