开发者

Retrieving the coordinates of the MySQL point type

I'm storing lat/long pairs in MySQL as a point using something like:

GeomFromTex开发者_C百科t('POINT(32 -122)')

Given the point, how do i retrieve the individual X/Y coordinates?


Let's say you store GeomFromText('POINT(32 -122)') as a column called MY_POINT in a table called MY_TABLE.

Getting the X coordinate (will return 32 in this example):

SELECT ST_X(MY_POINT) as longitude FROM MY_TABLE;

Getting the Y coordinate (will return -122 in this example):

SELECT ST_Y(MY_POINT) as latitude FROM MY_TABLE;

Important: Prior to version 5.6, use X() and Y() instead of ST_X() and ST_Y().


Let's say you store GeomFromText('POINT(32 -122)') as a column called MY_POINT in a table called MY_TABLE. There are several ways to get the point data.

  • First Check MySQL version

    SELECT VERSION()

  • For MySQL 5.6 or older version using

    SELECT X(MY_POINT) AS Latitude, Y(MY_POINT) AS Longitude FROM MY_TABLE

  • For MySQL 5.7 version using, although previous command also recognized.

    SELECT ST_X(MY_POINT) AS Latitude, ST_Y(MY_POINT) AS Longitude FROM MY_TABLE

  • For MySQL 8.0 version using, although previous command also recognized. The main difference is this command for Point objects that have a geographic spatial reference system (SRS).

    SELECT ST_Latitude(MY_POINT) AS Latitude, ST_Longitude(MY_POINT) AS Longitude FROM MY_TABLE

Hope this would helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜