gpt4 book ai didi

php - 如何仅使用PHP检查某个坐标是否落入另一个坐标半径

转载 作者:IT王子 更新时间:2023-10-29 00:00:04 28 4
gpt4 key购买 nike

我见过这么多函数,但它恰好只适用于 MySQL 或 Postgresql。我想要 PHP 的等效逻辑。我在做一些比较,就像我拥有创建时正在生成的这些数据一样。

Lat: 56.130366
Long: -106.34677099999

稍后,我想检查这个坐标是否会落在另一个坐标的半径范围内。

Lat: 57.223366
Long: -106.34675644699
radius: 100000 ( meters )

提前致谢!

最佳答案

感谢您的帮助。下面是一个示例函数,它采用两组经度和纬度坐标并返回两者之间的距离。

function getDistance($latitude1, $longitude1, $latitude2, $longitude2) {  
$earth_radius = 6371;

$dLat = deg2rad($latitude2 - $latitude1);
$dLon = deg2rad($longitude2 - $longitude1);

$a = sin($dLat/2) * sin($dLat/2) + cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * sin($dLon/2) * sin($dLon/2);
$c = 2 * asin(sqrt($a));
$d = $earth_radius * $c;

return $d;
}

$distance = getDistance(56.130366, -106.34677099999, 57.223366, -106.34675644699);
if ($distance < 100) {
echo "Within 100 kilometer radius";
} else {
echo "Outside 100 kilometer radius";
}

关于php - 如何仅使用PHP检查某个坐标是否落入另一个坐标半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12439801/

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