经纬度常用词   经度 longitude, 维度 latitude

图和解读来源网上资料,自我也进行一遍推导,有些地方会加入自己的一些理解,重新温故了之前学的三角函数,度,弧度,弧长的概念,记忆模糊的建议大家也去看看

说明:说明下面计算以弧度带入计算,如果获取的经纬度为角度需要转换为弧度计算

(角度(360度)等于2pi*r/r(r为圆半径)等于2pi,所以一度等于pi/180)

将地球看成一个球体,A(WA,JA)、B(WB,JB)两点分别为两个点的位置,其中W为纬度,J为经度,O为球心,球半径为R,过A点画出A的纬度圈并与B所在的经度相交与点C,分别过B、C两点做球心O所在直线 的垂线相交与E、H,点B做垂线与CH的延长线相交于点D,OH与BC延长线相交与点F。添加辅助线后的两点距离示意图如图所示。

由示意图可知, H、E分别为A、B两点所在纬度圈的圆心,C点为与A点纬度相同,与B点经度相同,F为BC与HE延长线的交点,△HCF∽△DCB,对角平行函数,因此:

因为△AHF为直角三角形,所以

AF^2 = AH^2 + HF^2 (原文错误)                                (3)

由于A、C点在同一个纬度圈上,所以

AH = CH                                                                      (4)

设∠ACF为α,则设∠ACB为π-α,根据(余弦定理)这个很重要,得:

综上则可以得出:

说明为得出7公式,需要由5推导出cosa,过程中使用了1,2,3,4,10,11等,cosa带入6中得出公式7

补充公式:

BC^2 - BD^2 = CD^2                                   (10)

CH + CD = HD = BE                                    (11)

根据A、B两点经纬度可知:

说明此处推导需要结合(余弦定理)

带入公式(7),化简得

外说明,我推导过程中都呆着地球半径R,公式中没体现,应该是当作1常量处理了(最后的结果R会抵消,最终结果一致),后续乘以地球半径 6378.137 (单位KM)

AB弧长(AB两点的距离)为:解读说明AB弧长等于弧度乘以圆半径R,弧度则为(sin弧度)的反函数arcsin值

对(8)进行化简,得

也附图一张自己的手算吧

原文:https://blog.csdn.net/xiejm2333/article/details/73297004

同样感谢作者推导

根据经纬度计算两点之间的距离---google计算公式推导相关推荐

  1. 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度

    [Google Map]怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度 根据两站点的经纬度求两站点间的距离  /**** 根据两站点的经纬度求两站点间的距离 ****/ d ...

  2. Java根据经纬度计算两点之间的距离

    1. 前言   在我们平时使用美团,饿了么等app进行订餐,或者使用猫眼进行订电影票的时候,都有一个距离的排序,表明该家店距离我们当前的位置,这种基于地理位置的服务,统一被称为LBS(Location ...

  3. php 如何根据经纬度计算距离,小程序实例:如何根据经纬度计算两点之间的距离(代码)...

    本篇文章给大家带来的内容是关于小程序实例:如何根据经纬度计算两点之间的距离(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.//计算两点位置距离 getDistance: fun ...

  4. 根据经纬度计算两点之间的距离(单位米)

    package com.xiao.map;// 算法工程师!! public class MapUtils {private static double rad(double d) {return d ...

  5. php根据经纬度计算两点之间的距离

    之前我们已经说过了如何根据IP获取当前用户的经纬度,不会获取的小童鞋可以去看一下之前的文章. 这回我们将功能再延伸一下,根据将纬度计算两点之间的距离. 废话不多说,直接上码: function get ...

  6. 计算两点之间的距离(经度)

    根据两个点的经纬度值计算这两个点之间的距离,返回距离单位米. /** * 地球半径,单位 km */ private static final double EARTH_RADIUS = 6378.1 ...

  7. Java对接高德地图计算距离_高德地图计算两点之间的距离java+html

    高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题.下面提供一个很好的解决方案. 代码如下: /** * 两点的经纬度获取两点距离米 * @param (121.293986,37.27 ...

  8. 根据经纬度获取两点之间的距离 -- 腾讯地图(PHP后台)

    项目需求:根据经纬度获取两点之间的距离,我这里用的是腾讯地图的api php代码: /*** 利用腾讯地图api* 计算两点地理坐标之间的距离*/function getDistance(){$key ...

  9. 本关任务:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对

    #java编程基础 以后会时常更新java编程题,分享所遇之难,答疑解惑,共同努力. 本关任务:编写一个Point类,有x.y两个属性.编写一个PointDemo类,并提供一个distance(Poi ...

最新文章

  1. openlayers2中selectcontrol用法
  2. hdu1530 最大团简单题目
  3. 153.复用的相关概念 154.信道共享技术有哪些?
  4. IDEA-使用IDEA创建maven多模块父子工程
  5. HTML5各种标签总结(HTML、head)
  6. 前台后台进程转换问题
  7. 万万没想到,刷1000道题目,还不如搞懂这几个机械动图!
  8. Nordic nRF52832程序下载问题分析
  9. PPC(Pocket PC)中显示二进制数组(byte[])类型的图片
  10. python traceback most recent_pyspider启动错误: Traceback (most recent call last):
  11. idhttpserver是按线程接受请求的吗_1000个并发线程,10台机器,每台机器4核,设计线程池大小...
  12. 判断一个字符(小写变为大写,大写变小写,数字不变,空格输出space,其他字符输出other)C语言
  13. 前后端混合开发模式和前后端分离开发模式
  14. Linux系统编程 -- 进程与线程之间差别 进程是系统资源分配的最小单位,线程是进程执行的最小单位
  15. C++ minidump类
  16. python 最小二乘回归 高斯核_[数值计算] 数据拟合——非线性最小二乘法
  17. D1~D5 CIF 720P~1080P 视频各格式参数
  18. 王垠面阿里P9,面跪后与P10赵海平互怼:人性最大的愚蠢,是互相为难
  19. 从你的全世界路过(张嘉佳)
  20. 74LVC245APW数据资料

热门文章

  1. BlenderSubstance Painter流程:高模(Blender/Substance Painter)
  2. IM 协议 IMPP、PRIM、SIMPLE、XMPP
  3. SQL Server从本地Excel表格导入数据
  4. idea超实用的设置——修改注释颜色、分割线
  5. 从风险评估到应急救援,实景三维为抗震减灾提供精细化决策依据
  6. 采用头插插法和尾插法建立单项链表
  7. 是谁在偷窥我们的网络隐私?
  8. [VS Code]-代码高亮设置
  9. 最新百度站长POST网址自动提交工具+附Aardio源代码
  10. 8月12日科技资讯|今日头条搜索网页版上线;华为筹建中国开源基金;Racket v7.4 发布