PHPを使用して経度と緯度から距離を計算する方法


まず、以下のコードを使用して、2つの場所の経度と緯度を取得します。

$latitude1 = 35.6895;  // 最初の場所の緯度
$longitude1 = 139.6917;  // 最初の場所の経度
$latitude2 = 37.7749;  // 2番目の場所の緯度
$longitude2 = -122.4194;  // 2番目の場所の経度

次に、以下の関数を使用して、2つの場所の距離を計算します。

function calculateDistance($latitude1, $longitude1, $latitude2, $longitude2) {
    $earthRadius = 6371;  // 地球の半径(キロメートル)
    // 経度と緯度をラジアンに変換
    $lat1 = deg2rad($latitude1);
    $lon1 = deg2rad($longitude1);
    $lat2 = deg2rad($latitude2);
    $lon2 = deg2rad($longitude2);
    // ハバースイン法を使用して2つの地点間の距離を計算
    $deltaLat = $lat2 - $lat1;
    $deltaLon = $lon2 - $lon1;
    $angle = 2 * asin(sqrt(pow(sin($deltaLat / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($deltaLon / 2), 2)));
    // 距離を計算
    $distance = $angle * $earthRadius;
    return $distance;
}
// 距離を計算して結果を表示
$distance = calculateDistance($latitude1, $longitude1, $latitude2, $longitude2);
echo "2つの場所の距離は " . $distance . " キロメートルです。";

このコードを使用すると、2つの場所の経度と緯度から距離を計算することができます。距離はキロメートル単位で表示されます。