如何在 PHP 中计算两个邮政编码之间的距离?

DDD
发布: 2024-11-02 11:44:30
原创
418 人浏览过

How to Calculate the Distance Between Two Zip Codes in PHP?

用 PHP 计算邮政编码之间的距离

计算两个邮政编码之间的距离需要访问包含每个邮政编码的纬度和经度信息的数据库代码。本问题探讨了如何使用 MySQL 表中的数据计算此距离。

解决方案

建议的解决方案利用 PHP 函数来计算给定两个点之间的距离纬度和经度。代码如下:

<code class="php">function calc_distance($point1, $point2)
{
    // Constants
    $radius       = 3958;      // Earth's radius (miles)
    $deg_per_rad  = 57.29578;  // Number of degrees/radian (for conversion)

    $distance = ($radius * pi() * sqrt(
        ($point1['lat'] - $point2['lat'])
        * ($point1['lat'] - $point2['lat'])
        + cos($point1['lat'] / $deg_per_rad)  // Convert to radians for cos()
        * cos($point2['lat'] / $deg_per_rad)  // Convert to radians for cos()
        * ($point1['long'] - $point2['long'])
        * ($point1['long'] - $point2['long'])
    ) / 180);

    return $distance;  // Returned using the units used for $radius.
}</code>
登录后复制

USAGE

此函数需要两个数据点($point1 和 $point2)作为参数,每个数据点包含一个点的纬度和经度邮政编码。返回的距离将采用与提供的半径常数相同的单位(在本例中为英里)。

以上是如何在 PHP 中计算两个邮政编码之间的距离?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板