.NET资料之-根据两点经纬度计算直线距离
时间: 2023-08-13 16:09:08 浏览: 172
经过两点之间经纬度计算直线距离
在 .NET 中,可以使用以下代码来计算两点经纬度之间的直线距离:
```csharp
public static double Distance(double lat1, double lon1, double lat2, double lon2)
{
var R = 6371; // 地球半径,单位为千米
var dLat = (lat2 - lat1) * Math.PI / 180;
var dLon = (lon2 - lon1) * Math.PI / 180;
var a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) + Math.Cos(lat1 * Math.PI / 180) * Math.Cos(lat2 * Math.PI / 180) * Math.Sin(dLon / 2) * Math.Sin(dLon / 2);
var c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
var distance = R * c;
return distance;
}
```
其中,`lat1` 和 `lon1` 分别表示第一个点的纬度和经度,`lat2` 和 `lon2` 分别表示第二个点的纬度和经度。函数返回的单位为千米。
阅读全文