从WKT值创建几何值的函数
这些函数将众所周知的文本(WKT)表示形式以及可选的空间参考系统标识符(SRID)作为参数。它们返回相应的几何。有关WKT格式的说明,请参见知名文本(WKT)格式。
本节中的函数检测笛卡尔或地理空间参考系统(SRS)中的自变量,并返回适合于SRS的结果。
ST_GeomFromText()
接受任何几何类型的WKT值作为其第一个参数。其他功能提供了特定于类型的构造功能,用于构造每种几何类型的几何值。
诸如ST_MPointFromText()
和ST_GeomFromText()
接受MultiPoint
值的WKT格式表示形式的函数允许值中的各个点用括号括起来。例如,以下两个函数调用均有效:
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'
标准语法:
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=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使用其他单位,则范围使用其单位中的相应值。精确的范围限制由于浮点运算而略有不同。
- 如果经度值不在(-180,180]范围内,
这些功能可用于从WKT值创建几何:
ST_GeomCollFromText(wkt[,srid[,options]])
,,ST_GeometryCollectionFromText(wkt[,srid[,options]])
ST_GeomCollFromTxt(wkt[,srid[,options]])
GeometryCollection
使用其WKT表示形式和SRID 构造一个值。这些函数按照本节简介中的描述处理其参数。
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]])
LineString
使用其WKT表示形式和SRID 构造一个值。这些函数按照本节简介中的描述处理其参数。
ST_MLineFromText(wkt[,srid[,options]])
,ST_MultiLineStringFromText(wkt[,srid[,options]])
MultiLineString
使用其WKT表示形式和SRID 构造一个值。这些函数按照本节简介中的描述处理其参数。
ST_MPointFromText(wkt[,srid[,options]])
,ST_MultiPointFromText(wkt[,srid[,options]])
MultiPoint
使用其WKT表示形式和SRID 构造一个值。这些函数按照本节简介中的描述处理其参数。
ST_MPolyFromText(wkt[,srid[,options]])
,ST_MultiPolygonFromText(wkt[,srid[,options]])
MultiPolygon
使用其WKT表示形式和SRID 构造一个值。这些函数按照本节简介中的描述处理其参数。
ST_PointFromText(wkt[,srid[,options]])
Point
使用其WKT表示形式和SRID 构造一个值。ST_PointFromText()
按照本节简介中所述处理其参数。ST_PolyFromText(wkt[,srid[,options]])
,ST_PolygonFromText(wkt[,srid[,options]])
Polygon
使用其WKT表示形式和SRID 构造一个值。这些函数按照本节简介中的描述处理其参数。