• 给定地球上两点的经纬度,求两点之间沿地球表面最短的弧线距离


    问题: 

      设地球上的两点A和B的的经纬度分别为A:a1, a2 (a1,a2的单位为度,a1表示经度,a2表示纬度,B亦然) 和B:b1,b2。如下图所示。现在想求出A和B两点之间沿着地球表面最短的弧线距离(图中红线标出部分)。

    思考:

      假设地球是个标准的球体(实际上地球是一个两极稍扁,赤道略鼓的椭球),很显然,只要知道A、B两点与地球球心形成的夹角θ(单位为弧度),设地球半径为R(R通常取为6371Km),则A、B两点之间沿地球表面最短的弧线距离为R*θ,所以问题变为求θ。

    求解过程:

      设A点所在经线与赤道交于点C, B点所在经线与赤道交于点D。

      延长射线OA,与“过点C且垂直于赤道所在平面的直线”交于点E;

      延长射线OB,与“过点D且垂直于赤道所在平面的直线”交于点F。

      过F作垂直于直线CE的直线,垂足为H。

    这里令

     

    注:a1表示经度,a2表示纬度,b亦然。

    有三角函数的知识知:

     对于三角形COD来说,由“余弦定理”有

     

    带入即

    把上面求得的DF和CE带入,得

    所以在直角三角形EHF中

     

    在三角形OEF中,利用三角形“余弦定理”有

     

    带入即

    整理得

     

    所以

     

    从而A和B两点之间沿地球表面最短的弧线距离为:

     

  • 相关阅读:
    python基础练习5-9
    python安装
    python虚拟环境
    python基础语法--逻辑实现
    python基础语法
    IDE(vscode)
    pycharm使用
    复习
    环境搭建+python基础
    ASP.NET 5行代码搞二维码
  • 原文地址:https://www.cnblogs.com/xinmomoyan/p/10864521.html
Copyright © 2020-2023  润新知