gpt4 book ai didi

php - 使用 SQL 获取矩形(或平面 2D map )内的 GPS 坐标

转载 作者:行者123 更新时间:2023-11-30 00:30:59 26 4
gpt4 key购买 nike

我有一个像谷歌地图这样的二维 map 。我想显示在可见的谷歌地图区域内具有 GPS 坐标的所有项目。

我尝试了这个实现:

        $lat_km = 0.0090000900009;

$lon_km = 1/(111.11* cos(deg2rad($lat)));

$lat_min = $lat - $radius*$lat_km;

$lat_max = $lat + $radius*$lat_km;

$lon_min = $lon - $radius*$lon_km;

$lon_max = $lon + $radius*$lon_km;

我只是将项目的经度和纬度转换为公里,然后检查纬度和经度是否在矩形中。但我不确定这是否是正确的方法(就执行速度和质量而言)。在 SQL 或 PHP 中可能有更好的方法吗?

最佳答案

您的方法对于第一个近似值很有用。当纬度接近 90 度时(近极点)。这是不正确的。

来自here的查询显示了更可靠的方法。

SELECT ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) 
+ COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon – lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS `distance`
FROM `members`
HAVING `distance`<=’10′ ORDER BY `distance` ASC

作为第一个近似值,我将选择 rect.y 内的位置

然后使用计算来正确测量距离。

关于php - 使用 SQL 获取矩形(或平面 2D map )内的 GPS 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22523155/

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