微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用PHP检查某个坐标是否落在另一个坐标半径上

我看到这么多功能,但它只适用于 MySQL或Postgresql.我想要 PHP的等效逻辑.我在做一些比较,
就像我有创建时正在生成的这些数据.
Lat: 56.130366
Long: -106.34677099999

之后,我想检查这个坐标是否落在另一个坐标的半径之内,然后返回true,否则为false.

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";
}

原文地址:https://www.jb51.cc/php/131968.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐