gpt4 book ai didi

php - 如何从数据库中选择最近的 gps 坐标?

转载 作者:可可西里 更新时间:2023-11-01 08:47:34 26 4
gpt4 key购买 nike

我在 mysql 数据库 my_db 中有表 GPS_tbl。在 GPS_tbl 中有四列 1)uid 2)latitude 3)longitude 4)regid。在 2)latitude 3)longitude 列中,latitudelongitude 的不同值已经存储为 float,现在怎么办我想要的是当用户通过 POST() 发送他/她的 gps 经纬度坐标 将这些用户发送的坐标与 2 列中已存储的坐标进行比较)latitude 3)longitude2)latitude 3)longitude 列中最接近用户发送坐标的坐标选择regid 反对它。请有人帮助我如何在 php 中执行此操作。

这是用户发送他/她的 GPS 坐标的方式。

    $lati = $_POST['lati'];
$longi = $_POST['longi'];
$float_value_of_lati = floatval($lati);
$float_value_of_longi = floatval($longi);

这是GPS_tbl

+--------------+------------+-------------+-------------+
| uid | latitude | longitude | regid |
+--------------+------------+-------------+-------------+
| 1 | 73.3433 | 18.5223 |APA91W-ClDoS |
| | | | |
+--- ----------+------------+-------------+-------------+
| 2 | 43.3433 | 24.5523 |BON91W-ClDoS |
| | | | |
+--- ----------+------------+-------------+-------------+
| 3 | 55.3433 | 37.5323 |WCD71P-ClDoS |
| | | | |
+--- ----------+------------+-------------+-------------+

最佳答案

我不会向您解释如何连接到 MySQL 服务器、获取数据库实例以及运行 SQL 查询。有很多教程。我会帮你查询的。为此,我们将使用勾股定理。这不是最好的方法,因为地球不平坦,但我认为它会起作用(不过在我们从 -180º 到 180º 的太平洋中部行不通)

    "SELECT uid,regid, sqrt(latitude-".$users_latitude.")+sqrt(longitude-".user_longitude.") AS SQRT_DIST 
FROM GPS_tbl ORDER BY SQRT_DIST LIMIT 1;

这就是您获得最近点的方式。

请注意,返回的距离是 distance^2。

关于php - 如何从数据库中选择最近的 gps 坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23569376/

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