gpt4 book ai didi

php - 查找两个接近相同的值mysql

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:56 25 4
gpt4 key购买 nike

在搜索了相当长一段时间后,我一直无法发现或编写正确的 mysql 查询来获取评估 GPS 点唯一性(或接近唯一性)的函数。这包括同一数据库行内的纬度和经度评估。

数据库 roads 包含 roadidlatlng 的行。

问题是我正在使用的 API 并不总是返回与之前调用相同的值,完全,我假设它们是插值的。尽管如此,这意味着响应可能是“35.000000, 40.000000”,下一次是“35.000008, 39.999992”。

我想编写一个 PHP 函数来传递数据库对象、纬度、经度和容差。容差应应用于纬度和经度点,以便找到“容差区域”内的任何点。

它应该返回 true(没有基于给定的公差和纬度/经度的匹配结果)或者它应该返回 mysql 响应对象以处理和进一步评估非唯一点。

这是我目前所拥有的:

private function checkunique($db, $lat, $lng, $tolerance = 0)
{
//check database for lat/lng
$response = $db->query("SELECT roadid FROM roads WHERE lat = " . $lat . " AND lng = " . $lng);
if($response->num_rows == 0)
{
//unique
return true;
}
else
{
//duplicate or duplicate within tolerance found.
$response = $response->fetch_object();
return $response;
}
}

我假设我真正需要的唯一东西是正确的 MySQL 语句,但我也在 PHP 中标记它。

最佳答案

基本上,您只需要这个:

SELECT ...
...
WHERE $lat BETWEEN (lat - $tolerance AND lat + $tolerance)

WHERE (abs(lat - $lat) <= $tolerance)

关于php - 查找两个接近相同的值mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27191248/

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