10bet网址
MySQL 8.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr)- 41.6Mb
PDF (A4)- 41.7Mb
Man Pages (TGZ)- 262.2Kb
Man Pages (Zip)- 372.3Kb
Info (Gzip)- 4.0Mb
Info (Zip)- 4.0Mb
Excerpts from this Manual

12.17.7.2 Point Property Functions

A虽然tconsists of X and Y coordinates, which may be obtained using theST_X()andST_Y()functions, respectively. These functions also permit an optional second argument that specifies an X or Y coordinate value, in which case the function result is the虽然tobject from the first argument with the appropriate coordinate modified to be equal to the second argument.

For虽然tobjects that have a geographic spatial reference system (SRS), the longitude and latitude may be obtained using theST_Longitude()andST_Latitude()functions, respectively. These functions also permit an optional second argument that specifies a longitude or latitude value, in which case the function result is the虽然tobject from the first argument with the longitude or latitude modified to be equal to the second argument.

Unless otherwise specified, functions in this section handle their geometry arguments as follows:

  • If any argument isNULL, the return value isNULL.

  • If any geometry argument is a valid geometry but not a虽然tobject, anER_UNEXPECTED_GEOMETRY_TYPEerror occurs.

  • If any geometry argument is not a syntactically well-formed geometry, anER_GIS_INVALID_DATAerror occurs.

  • If any geometry argument is a syntactically well-formed geometry in an undefined spatial reference system (SRS), anER_SRS_NOT_FOUNDerror occurs.

  • If an X or Y coordinate argument is provided and the value is-inf,+inf, orNaN, anER_DATA_OUT_OF_RANGEerror occurs.

  • If a longitude or latitude value is out of range, an error occurs:

    Ranges shown are in degrees. The exact range limits deviate slightly due to floating-point arithmetic.

  • Otherwise, the return value is non-NULL.

These functions are available for obtaining point properties:

  • ST_Latitude(p[,new_latitude_val])

    With a single argument representing a valid虽然tobjectpthat has a geographic spatial reference system (SRS),ST_Latitude()returns the latitude value ofpas a double-precision number.

    With the optional second argument representing a valid latitude value,ST_Latitude()返回一个虽然tobject like the first argument with its latitude equal to the second argument.

    ST_Latitude()handles its arguments as described in the introduction to this section, with the addition that if the虽然tobject is valid but does not have a geographic SRS, anER_SRS_NOT_GEOGRAPHICerror occurs.

    mysql> SET @pt = ST_GeomFromText('POINT(45 90)', 4326); mysql> SELECT ST_Latitude(@pt); +------------------+ | ST_Latitude(@pt) | +------------------+ | 45 | +------------------+ mysql> SELECT ST_AsText(ST_Latitude(@pt, 10)); +---------------------------------+ | ST_AsText(ST_Latitude(@pt, 10)) | +---------------------------------+ | POINT(10 90) | +---------------------------------+

    This function was added in MySQL 8.0.12.

  • ST_Longitude(p[,new_longitude_val])

    With a single argument representing a valid虽然tobjectpthat has a geographic spatial reference system (SRS),ST_Longitude()returns the longitude value ofpas a double-precision number.

    With the optional second argument representing a valid longitude value,ST_Longitude()返回一个虽然tobject like the first argument with its longitude equal to the second argument.

    ST_Longitude()handles its arguments as described in the introduction to this section, with the addition that if the虽然tobject is valid but does not have a geographic SRS, anER_SRS_NOT_GEOGRAPHICerror occurs.

    mysql> SET @pt = ST_GeomFromText('POINT(45 90)', 4326); mysql> SELECT ST_Longitude(@pt); +-------------------+ | ST_Longitude(@pt) | +-------------------+ | 90 | +-------------------+ mysql> SELECT ST_AsText(ST_Longitude(@pt, 10)); +----------------------------------+ | ST_AsText(ST_Longitude(@pt, 10)) | +----------------------------------+ | POINT(45 10) | +----------------------------------+

    This function was added in MySQL 8.0.12.

  • ST_X(p[,new_x_val])

    With a single argument representing a valid虽然tobjectp,ST_X()returns the X-coordinate value ofpas a double-precision number. As of MySQL 8.0.12, the X coordinate is considered to refer to the axis that appears first in the虽然tspatial reference system (SRS) definition.

    With the optional second argument,ST_X()返回一个虽然tobject like the first argument with its X coordinate equal to the second argument. As of MySQL 8.0.12, if the虽然tobject has a geographic SRS, the second argument must be in the proper range for longitude or latitude values.

    ST_X()handles its arguments as described in the introduction to this section.

    mysql> SELECT ST_X(Point(56.7, 53.34)); +--------------------------+ | ST_X(Point(56.7, 53.34)) | +--------------------------+ | 56.7 | +--------------------------+ mysql> SELECT ST_AsText(ST_X(Point(56.7, 53.34), 10.5)); +-------------------------------------------+ | ST_AsText(ST_X(Point(56.7, 53.34), 10.5)) | +-------------------------------------------+ | POINT(10.5 53.34) | +-------------------------------------------+
  • ST_Y(p[,new_y_val])

    With a single argument representing a valid虽然tobjectp,ST_Y()returns the Y-coordinate value ofpas a double-precision number. As of MySQL 8.0.12, the Y coordinate is considered to refer to the axis that appears second in the虽然tspatial reference system (SRS) definition.

    With the optional second argument,ST_Y()返回一个虽然tobject like the first argument with its Y coordinate equal to the second argument. As of MySQL 8.0.12, if the虽然tobject has a geographic SRS, the second argument must be in the proper range for longitude or latitude values.

    ST_Y()handles its arguments as described in the introduction to this section.

    mysql> SELECT ST_Y(Point(56.7, 53.34)); +--------------------------+ | ST_Y(Point(56.7, 53.34)) | +--------------------------+ | 53.34 | +--------------------------+ mysql> SELECT ST_AsText(ST_Y(Point(56.7, 53.34), 10.5)); +-------------------------------------------+ | ST_AsText(ST_Y(Point(56.7, 53.34), 10.5)) | +-------------------------------------------+ | POINT(56.7 10.5) | +-------------------------------------------+