我有一个带有POINT字段的MySQL表来存储GPS数据(经度和纬度),但是我无法在PHP中处理它。
$query = "SELECT COORDS FROM PHOTOS";
$result = mysqli_query($db_conn, $query);
mysqli_fetch_assoc($result);
echo $result['COORDS'];
这样我就得到了一个奇怪的字符串。
我在MySQL控制台中使用过AsText,它为我提供了带有坐标的WKT,但我想在PHP中捕获它。
我想做这样的事情:
$query = "SELECT AsText(COORDS) FROM PHOTOS";
但是我的问题是如何通过PHP访问该字段?
(我也听说过PHP中的unpack()函数,但它会向我抛出警告)
答案 0 :(得分:1)
假设您已在数据库中存储了从文本e GeomFromText('POINT(25 -118)')开始的几何图形 在名为MY_POINT的列
中您可以使用
轻松获取您的点的X,Y坐标SELECT ST_X(MY_POINT) as latitude, ST_Y(MY_POINT) as longitude FROM MY_TABLE;
在php中,您可以使用纬度和经度作为坐标数组中的列索引来访问值
SELECT ST_X(COORDS) as latitude, ST_Y(COORDS) as longitude FROM MY_TABLE;