• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 从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=valuekeyaxis-orderlat-longlong-latsrid-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]])

      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 构造一个值。

      这些函数按照本节简介中的描述处理其参数。