原理:
地球赤道上环绕地球一周走一圈共40075.04公里,而@一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的长度计算如下:
40075.04km/360°=111.31955km
111.31955km/60=1.8553258km=1855.3m
而每一分又有60秒,每一秒就代表1855.3m/60=30.92m
任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB—λA)]}
其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。
c#代码
private const double EARTH_RADIUS = 6378.137; //地球半径
private static double rad(double d)
{
return d * Math.PI / 180.0;
}
public static double GetDistance(double lat1, double lng1, double lat2, double lng2)
{
double radLat1 = rad(lat1);
double radLat2 = rad(lat2);
double a = radLat1 - radLat2;
double b = rad(lng1) - rad(lng2);
double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) +
Math.Cos(radLat1)*Math.Cos(radLat2)*Math.Pow(Math.Sin(b/2),2)));
s = s * EARTH_RADIUS;
s = Math.Round(s * 10000) / 10000;
return s;
}
返回值的单位是KM
分享到:
相关推荐
经纬度计算
asp.net c# 电子商务网站asp.net c# 电子商务网站
基于ASP.NET C#的全源码完整OA,包括人事管理、用户权限管理、信息发布、用车管理等内容。
asp.net C# 利用FTP 远程下载文件到指定盘符`
管理系统 mvc asp.net c# demo 示例 代码
asp.net c# 统计图 GoogleChartSharp 含实例
asp.net C# PDF阅读器源码,asp.net C# PDF阅读器源码
asp.net C# 网站 项目 我们老师写的,,很不错!为大家提供一个平台!!!
该资源是asp.net+c#页面程序,采用四种方法将数字形式的金额转换为中英文金额写法。
asp.net C# 物业管理系统asp.net C# 物业管理系统asp.net C# 物业管理系统asp.net C# 物业管理系统
ASP.NET C# 在线音乐网站 下载。 其主要功能有:会员管理,添加歌曲,点歌管理,歌曲查找,留言系统,网站管理等。 音乐网站
全部都是面试的宝典; c# asp.net .net .net面试题 c#面试题 c# asp.net .net .net面试题 c#面试题
ASP.NET c# 封装常用到的js通用函数ASP.NET c# 封装常用到的js通用函数ASP.NET c# 封装常用到的js通用函数ASP.NET c# 封装常用到的js通用函数ASP.NET c# 封装常用到的js通用函数ASP.NET c# 封装常用到的js通用函数
ASP.NET C# 餐饮消费管理系统 源代码 用来学习 帮助项目经验少的同学增加经验。
asp.net 下用c# 将excel导入网页,可以运行,自己编写的
asp.net c#基本语法
C#开发教程C#开发教程C#开发教程 asp.net C# asp.net C#asp.net C#
asp.net c#的代码实例,有数据库连接,最基本代码,还有指导书
asp.net c# 操作 Access数据库 开发环境:Visual Studio 2005 数据 :Access 2000 语言:c#
一个用于学习Asp.NET C#编程的简单三层架构新闻发布系统,此源码是我学习三层架构时做的一个新闻发布系统,供学习三层的朋友们参考。 源码中涉及用到的技术: C#,Sql Server2005存储过程,触发器,Div+Css,jQuery, ...