这些函数以 Well-Known Text (WKT) 表示作为参数,并可选择地使用空间参考系统标识符 (SRID)。它们返回相应的几何对象。有关 WKT 格式的说明,请参见 Well-Known Text (WKT) Format。These functions take as arguments a Well-Known Text (WKT) representation and, optionally, a spatial reference system identifier (SRID). They return the corresponding geometry. For a description of WKT format, see Well-Known Text (WKT) Format.
本节中的函数可以检测笛卡尔或地理空间参考系统(SRS)中的参数,并返回适合该 SRS 的结果。Functions in this section detect arguments in either Cartesian or geographic spatial reference systems (SRSs), and return results appropriate to the SRS.
ST_GeomFromText() 接受任何几何类型的 WKT 值作为其第一个参数。其他函数提供了针对每种几何类型的几何值构建的类型特定构建函数。ST_GeomFromText() accepts a WKT
value of any geometry type as its first argument. Other functions
provide type-specific construction functions for construction of
geometry values of each geometry type.
像 ST_MPointFromText() 和 ST_GeomFromText() 这样的函数接受 MultiPoint 值的 WKT 格式表示,允许值中的各个点用括号括起来。例如,下面的两个函数调用都是有效的:Functions such as
ST_MPointFromText() and
ST_GeomFromText() that accept
WKT-format representations of MultiPoint values
permit individual points within values to be surrounded by
parentheses. For example, both of the following function calls are
valid:
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()' 非标准语法。像 ST_AsWKT() 这样生成 WKT 值的函数,会生成 'GEOMETRYCOLLECTION
EMPTY' 标准语法:Functions such as ST_GeomFromText()
that accept WKT geometry collection arguments understand both
OpenGIS 'GEOMETRYCOLLECTION EMPTY' standard
syntax and MySQL 'GEOMETRYCOLLECTION()'
nonstandard syntax. Functions such as
ST_AsWKT()
that produce WKT values produce 'GEOMETRYCOLLECTION
EMPTY' standard syntax:
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 | +--------------------------+--------------------------+
除非另有说明,本节中的函数对其几何参数的处理方式如下:Unless otherwise specified, functions in this section handle their geometry arguments as follows:
如果任何几何参数为
NULL或语法上不是格式良好的几何体,或者 SRID 参数为NULL,则返回值为NULL。If any geometry argument isNULLor is not a syntactically well-formed geometry, or if the SRID argument isNULL, the return value isNULL.默认情况下,地理坐标(纬度,经度)按照几何参数的空间参考系统指定的顺序进行解释。可以提供一个可选的
options参数来覆盖默认的轴顺序。options由用逗号分隔的组成。唯一允许的key=valuekey值是axis-order,其允许的值为lat-long、long-lat和srid-defined(默认)。By default, geographic coordinates (latitude, longitude) are interpreted as in the order specified by the spatial reference system of geometry arguments. An optionaloptionsargument may be given to override the default axis order.optionsconsists of a list of comma-separated. The only permittedkey=valuekeyvalue isaxis-order, with permitted values oflat-long,long-latandsrid-defined(the default).如果
options参数为NULL,返回值为NULL。如果options参数无效,将产生错误以说明原因。If theoptionsargument isNULL, the return value isNULL. If theoptionsargument is invalid, an error occurs to indicate why.如果 SRID 参数引用了未定义的空间参考系统(SRS),将发生
ER_SRS_NOT_FOUND错误。If an SRID argument refers to an undefined spatial reference system (SRS), anER_SRS_NOT_FOUNDerror occurs.对于地理 SRS 几何参数,如果任何参数的经度或纬度超出范围,将会发生错误:For geographic SRS geometry arguments, if any argument has a longitude or latitude that is out of range, an error occurs:
如果经度值不在 (−180, 180] 范围内,将会发生
ER_LONGITUDE_OUT_OF_RANGE错误。If a longitude value is not in the range (−180, 180], anER_LONGITUDE_OUT_OF_RANGEerror occurs.如果纬度值不在 [−90, 90] 范围内,将会发生
ER_LATITUDE_OUT_OF_RANGE错误。If a latitude value is not in the range [−90, 90], anER_LATITUDE_OUT_OF_RANGEerror occurs.
显示的范围以度为单位。如果 SRS 使用其他单位,则范围使用其单位对应的数值。由于浮点运算,精确的范围限制会有轻微偏差。Ranges shown are in degrees. If an SRS uses another unit, the range uses the corresponding values in its unit. The exact range limits deviate slightly due to floating-point arithmetic.
这些函数可用于从 WKT 值创建几何图形:These functions are available for creating geometries from WKT values:
ST_GeomCollFromText(,wkt[,srid[,options]])ST_GeometryCollectionFromText(,wkt[,srid[,options]])ST_GeomCollFromTxt(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构建一个
GeometryCollection值。Constructs aGeometryCollectionvalue using its WKT representation and SRID.这些函数按照本节介绍中描述的方式处理它们的参数。These functions handle their arguments as described in the introduction to this section.
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 构建任意类型的几何值。Constructs a geometry value of any type using its WKT representation and SRID.
这些函数按照本节介绍中描述的方式处理它们的参数。These functions handle their arguments as described in the introduction to this section.
ST_LineFromText(,wkt[,srid[,options]])ST_LineStringFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构造一个
LineString值。Constructs aLineStringvalue using its WKT representation and SRID.这些函数按照本节介绍中描述的方式处理它们的参数。These functions handle their arguments as described in the introduction to this section.
ST_MLineFromText(,wkt[,srid[,options]])ST_MultiLineStringFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构造一个
MultiLineString值。Constructs aMultiLineStringvalue using its WKT representation and SRID.这些函数按照本节介绍中描述的方式处理它们的参数。These functions handle their arguments as described in the introduction to this section.
ST_MPointFromText(,wkt[,srid[,options]])ST_MultiPointFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构造一个
MultiPoint值。Constructs aMultiPointvalue using its WKT representation and SRID.这些函数按照本节介绍中描述的方式处理它们的参数。These functions handle their arguments as described in the introduction to this section.
ST_MPolyFromText(,wkt[,srid[,options]])ST_MultiPolygonFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构建一个
MultiPolygon值。Constructs aMultiPolygonvalue using its WKT representation and SRID.这些函数按照本节介绍中描述的方式处理它们的参数。These functions handle their arguments as described in the introduction to this section.
ST_PointFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构建一个
Point值。Constructs aPointvalue using its WKT representation and SRID.ST_PointFromText()按本节介绍中描述的方式处理其参数。ST_PointFromText()handles its arguments as described in the introduction to this section.ST_PolyFromText(,wkt[,srid[,options]])ST_PolygonFromText(wkt[,srid[,options]])使用其 WKT 表示和 SRID 构建一个
Polygon值。Constructs aPolygonvalue using its WKT representation and SRID.这些函数按照本节介绍中描述的方式处理它们的参数。These functions handle their arguments as described in the introduction to this section.