gpt4 book ai didi

php - 通过坐标计算出的一定距离内在数据库中查找记录

转载 作者:行者123 更新时间:2023-11-29 02:51:05 26 4
gpt4 key购买 nike

我在查询时遇到问题:

SELECT Store_name, GPS_latitude, GPS_longitude, SQRT(
POW(69.1 * (GPS_latitude - $longitude), 2) +
POW(69.1 * ($latitude - GPS_longitude) * COS(GPS_latitude / 57.3), 2)) AS distance
FROM table HAVING distance < 25 ORDER BY distance

网站的用户应该能够输入坐标(纬度和经度)。从那里开始,我希望上面的查询按照给定的 $latitude 和 $longitude 与用户的距离排序列出表中的商店。

我确实得到了结果,但前提是我将查询从“distance < 25”编辑为“distance < 5000”(或其他大数字),尽管结果似乎没有根据与用户的距离排序给定坐标。

是查询以错误的方式计算出来的吗?我被困住了,似乎找不到任何解决方案。

最佳答案

试试这个:

select * from (
SELECT Store_name, GPS_latitude, GPS_longitude,
SQRT(
POW(69.1 * (GPS_latitude - $longitude), 2) +
POW(69.1 * ($latitude - GPS_longitude) * COS(GPS_latitude / 57.3), 2)
) AS distance
FROM table
) as vtab
WHERE distance < 25
ORDER BY distance;

PS 但我强烈建议您看一下“MySQL 特定的空间关系函数”

关于php - 通过坐标计算出的一定距离内在数据库中查找记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35631110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com