c#中利用google map距离计算公式实现两点间距离的计算

王朝学院·作者佚名  2009-12-11
窄屏简体版  字體: |||超大  

计算公式如下:

说明:

1、公式中经纬度均用弧度表示;

2、Lat1 Lng1 分别表示A点经、纬度,Lat2 Lng2 分别表示B点经纬度;

3、a=Lng1 -Lng2 为两点纬度之差 b=Lat1 – Lat2 为两点经度之差;

4、6378.137为地球半径,单位为公里;

c#实现函数如下:

public double DistanceOfTwoPoints(double lat1, double lng1, double lat2, double lng2)

{

double radLng1 = lng1 * Math.PI / 180.0;

double radLng2 = lng2 * Math.PI / 180.0;

double a = radLng1 - radLng2;

double b = (lat1-lat2) * Math.PI / 180.0;

double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2), 2) +

Math.Cos(radLng1) * Math.Cos(radLng2) * Math.Pow(Math.Sin(b/2), 2)))* 6378.137;

s =Math.Round(s * 10000) / 10000;

return s;

}

经实际验证正确通过(返回结果单位为:公里)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航