php 两个经纬度计算距离
时间: 2024-10-23 11:13:09 浏览: 20
golang与php实现计算两个经纬度之间距离的方法
在PHP中,你可以使用Haversine公式来计算两个经度纬度之间的距离。这个公式用于估算地球上两点之间的球面距离,考虑到地球是一个近似的球体。以下是一个简化的函数示例:
```php
function distanceInKm($lat1, $lon1, $lat2, $lon2) {
const R = 6371; // 地球平均半径,单位:公里
$dLat = deg2rad($lat2 - $lat1);
$dLon = deg2rad($lon2 - $lon1);
$a = sin($dLat / 2) * sin($dLat / 2) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * sin($dLon / 2) * sin($dLon / 2);
$c = 2 * atan2(sqrt($a), sqrt(1 - $a));
$distance = $R * $c; // 返回距离,单位为公里
return round($distance, 2); // 四舍五入保留两位小数
}
// 使用示例
$lat1 = 31.23; // 第一个点的纬度
$lon1 = 121.45; // 第一个点的经度
$lat2 = 39.90; // 第二个点的纬度
$lon2 = 116.40; // 第二个点的经度
$distance = distanceInKm($lat1, $lon1, $lat2, $lon2);
echo "两点之间的距离大约是: " . $distance . " km";
```
此函数接受两个坐标对,分别代表经度和纬度,并返回它们之间的距离。
阅读全文