博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据两点的经纬度计算两地距离
阅读量:4946 次
发布时间:2019-06-11

本文共 1247 字,大约阅读时间需要 4 分钟。

学着做项目需要根据很据给出的两点经纬度信息计算两地的实际距离,查了查,有公式奉上:

google地图提供的方法

关于经纬度求距离 - cza55007 - NO.1.LY

相关c#代码如下

private static double rad(double d)         {            return d * Math.PI / 180.0;        }        //根据两点的经纬度计算两地距离         public static double GetDistance(double lon1, double lat1, double lon2, double lat2)         {             double radLat1 = rad(lat1);             double radLat2 = rad(lat2);             double a = radLat1 - radLat2;             double b = rad(lon1) - rad(lon2);             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;         }

js代码如下:

function rad(d){ 	return d*Math.PI/180.0;	}	 function distance(lon,lat,lon1,lat1){ 	  //  lon1=108; lat1=34.0;	  //  lon2=108; lat2=35.0;		var radLat1 = rad(lat1);  	    var radLat2 = rad(lat2);          var a = radLat1 - radLat2;         var b = rad(lon1) - rad(lon2);         var 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)))*6378.137;          return s;       }

 

实测精确度比较还算比较高,很有用,记下来。

转载于:https://www.cnblogs.com/gary156/p/4989181.html

你可能感兴趣的文章
获取mssqlserver数据库表的字段名称,字段说明,数据类型,主键等表的信息
查看>>
阿里大鱼发送短信使用记录
查看>>
定时器实现延时处理
查看>>
理解管理信息系统
查看>>
获取当前屏幕显示的视图控制器
查看>>
自定义AXI-IP核(转)
查看>>
UVa 1442 - Cave
查看>>
数据结构的特性
查看>>
第二次作业——结对项目之需求分析与原型设计
查看>>
c++实验7 二叉树
查看>>
创建一个node.js express类型的app
查看>>
项目营销
查看>>
夹角有多大(题目已修改,注意读题)
查看>>
PAT 1007. 素数对猜想
查看>>
ORACLE基本语法
查看>>
BZOJ1036;[ZJOI2008]树的统计
查看>>
激活码
查看>>
php 获取优酷视频的真实地址(2014.6月新算法)
查看>>
SQL数据库知识二(Day 25)
查看>>
WPF 入门笔记之事件
查看>>