这些函数以 Well-Known Text (WKT) 表示为参数,可选地以空间参考系统标识符 (SRID) 为参数。它们返回相应的几何图形。有关 WKT 格式的描述,请参见Well-Known Text (WKT) 格式。
本节中的函数检测笛卡尔或地理空间参考系统 (SRS) 中的参数,并返回适合 SRS 的结果。
ST_GeomFromText() 以任何几何类型的 WKT 值作为其第一个参数。其他函数提供类型特定的构造函数,用于构造每种几何类型的几何值。
例如,接受 WKT 格式的 MultiPoint 值表示的函数,如 ST_MPointFromText() 和 ST_GeomFromText(),允许值内的各个点用括号括起来。例如,以下两个函数调用都是有效的
ST_MPointFromText('MULTIPOINT (1 1, 2 2, 3 3)')
ST_MPointFromText('MULTIPOINT ((1 1), (2 2), (3 3))')接受 WKT 几何集合参数的函数,例如 ST_GeomFromText(),理解 OpenGIS 'GEOMETRYCOLLECTION EMPTY' 标准语法和 MySQL 'GEOMETRYCOLLECTION()' 非标准语法。例如,ST_AsWKT() 等生成 WKT 值的函数会生成 '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=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 使用其他单位,则范围使用其单位中的对应值。由于浮点运算,确切的范围限制会有细微偏差。
这些函数可用于从 WKT 值创建几何图形
ST_GeomCollFromText(、wkt[,srid[,options]])ST_GeometryCollectionFromText(、wkt[,srid[,options]])ST_GeomCollFromTxt(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构造
GeometryCollection值。这些函数处理它们的参数的方式如本节开头所述。
mysql> SET @g = "MULTILINESTRING((10 10, 11 11), (9 9, 10 10))"; mysql> SELECT ST_AsText(ST_GeomCollFromText(@g)); +--------------------------------------------+ | ST_AsText(ST_GeomCollFromText(@g)) | +--------------------------------------------+ | MULTILINESTRING((10 10,11 11),(9 9,10 10)) | +--------------------------------------------+ST_GeomFromText(、wkt[,srid[,options]])ST_GeometryFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构造任何类型的几何值。
这些函数处理它们的参数的方式如本节开头所述。
ST_LineFromText(、wkt[,srid[,options]])ST_LineStringFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构造
LineString值。这些函数处理它们的参数的方式如本节开头所述。
ST_MLineFromText(、wkt[,srid[,options]])ST_MultiLineStringFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构造
MultiLineString值。这些函数处理它们的参数的方式如本节开头所述。
ST_MPointFromText(,wkt[,srid[,options]])ST_MultiPointFromText(wkt[,srid[,options]])使用其 WKT 表示形式和 SRID 构建一个
MultiPoint值。这些函数处理它们的参数的方式如本节开头所述。
ST_MPolyFromText(,wkt[,srid[,options]])ST_MultiPolygonFromText(wkt[,srid[,options]])使用其 WKT 表示形式和 SRID 构建一个
MultiPolygon值。这些函数处理它们的参数的方式如本节开头所述。
ST_PointFromText(wkt[,srid[,options]])使用其 WKT 表示形式和 SRID 构建一个
Point值。ST_PointFromText()处理其参数的方式如本节开头所述。ST_PolyFromText(,wkt[,srid[,options]])ST_PolygonFromText(wkt[,srid[,options]])使用其 WKT 表示形式和 SRID 构建一个
Polygon值。这些函数处理它们的参数的方式如本节开头所述。