ホームページ > データベース > mysql チュートリアル > PHPで2つの郵便番号間の距離を計算するにはどうすればよいですか?

PHPで2つの郵便番号間の距離を計算するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-02 07:38:29
オリジナル
849 人が閲覧しました

How to Calculate Distance Between Two Zip Codes in PHP?

PHP での郵便番号間の距離の決定

2 つの郵便番号間の距離を計算するというユーザーのリクエストでは、郵便番号のデータベースを利用する必要があります。対応する緯度と経度。このガイドでは、提供されたデータ フィールドに基づいて PHP でソリューションを提供します:

ソリューション:

2 つの郵便番号間の距離を計算するには、次の手順を実行できます。

  1. 定義されたデータベース フィールド (LATITUDE と LATITUDE) を使用して、2 つの郵便番号の緯度と経度の値を結合します。
  2. 次の式を使用してハーバーサイン距離を計算します。
<code class="php">function calc_distance($point1, $point2)
{
    $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 these to
                * cos($point2['lat'] / $deg_per_rad)  // radians for cos()
                * ($point1['long'] - $point2['long'])
                * ($point1['long'] - $point2['long'])
        ) / 180);

    return $distance;  // Returned using the units used for $radius.
}</code>
ログイン後にコピー

このコードは、地球の半径定数 (3958 マイル) を利用し、緯度と緯度を変換します。正確な距離を計算するために、経度の値をラジアンに変換します。

以上がPHPで2つの郵便番号間の距離を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート