地球任意两点的距离怎么算?我知道地球某一点的经纬度与另外一点的经纬度,那么我怎么求出这两点之间的最短距离呢?列如:39°54′57.47〃N 116°21′59.66〃E 与19°59′53.53〃N 110°18′19.47〃E之
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 23:13:18
![地球任意两点的距离怎么算?我知道地球某一点的经纬度与另外一点的经纬度,那么我怎么求出这两点之间的最短距离呢?列如:39°54′57.47〃N 116°21′59.66〃E 与19°59′53.53〃N 110°18′19.47〃E之](/uploads/image/z/7021801-1-1.jpg?t=%E5%9C%B0%E7%90%83%E4%BB%BB%E6%84%8F%E4%B8%A4%E7%82%B9%E7%9A%84%E8%B7%9D%E7%A6%BB%E6%80%8E%E4%B9%88%E7%AE%97%3F%E6%88%91%E7%9F%A5%E9%81%93%E5%9C%B0%E7%90%83%E6%9F%90%E4%B8%80%E7%82%B9%E7%9A%84%E7%BB%8F%E7%BA%AC%E5%BA%A6%E4%B8%8E%E5%8F%A6%E5%A4%96%E4%B8%80%E7%82%B9%E7%9A%84%E7%BB%8F%E7%BA%AC%E5%BA%A6%2C%E9%82%A3%E4%B9%88%E6%88%91%E6%80%8E%E4%B9%88%E6%B1%82%E5%87%BA%E8%BF%99%E4%B8%A4%E7%82%B9%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%80%E7%9F%AD%E8%B7%9D%E7%A6%BB%E5%91%A2%3F%E5%88%97%E5%A6%82%EF%BC%9A39%C2%B054%E2%80%B257.47%E3%80%83N+116%C2%B021%E2%80%B259.66%E3%80%83E+%E4%B8%8E19%C2%B059%E2%80%B253.53%E3%80%83N+110%C2%B018%E2%80%B219.47%E3%80%83E%E4%B9%8B)
地球任意两点的距离怎么算?我知道地球某一点的经纬度与另外一点的经纬度,那么我怎么求出这两点之间的最短距离呢?列如:39°54′57.47〃N 116°21′59.66〃E 与19°59′53.53〃N 110°18′19.47〃E之
地球任意两点的距离怎么算?
我知道地球某一点的经纬度与另外一点的经纬度,那么我怎么求出这两点之间的最短距离呢?
列如:39°54′57.47〃N 116°21′59.66〃E 与
19°59′53.53〃N 110°18′19.47〃E
之间的距离为多少?(越精确越好,而且最好麻烦写出详细过程)
地球任意两点的距离怎么算?我知道地球某一点的经纬度与另外一点的经纬度,那么我怎么求出这两点之间的最短距离呢?列如:39°54′57.47〃N 116°21′59.66〃E 与19°59′53.53〃N 110°18′19.47〃E之
假设地球是一个标准球体,半径为R,并且假设东经为正,西经为负,北纬为正,南纬为负,
则 A(x,y)的坐标可表示为(R*cosy*cosx,R*cosy*sinx,R*siny)
B(a,b)可表示为(R*cosb*cosa,R*cosb*sina,R*sinb)
于是,AB对于球心所张的角的余弦大小为
cosb*cosy*(cosa*cosx+sina*sinx)+sinb*siny=cosb*cosy*cos(a-x)+sinb*siny
因此AB两点的球面距离为
R*{arccos[cosb*cosy*cos(a-x)+sinb*siny]}
注:1.x,y,a,b都是角度,最后结果中给出的arccos因为弧度形式.
2.所谓的“东经为正,西经为负,北纬为正,南纬为负”是为了计算的方便.
比如某点为西京145°,南纬36°,那么计算时可用(-145°,-36°)
3.AB对球心所张角的球法实际上是求和两向量的夹角K.
用公式*=|OA|*|OB|*cosK
可以得到.
不错的
一楼的回答很好
呵呵,球面距离的算法嘛~~一楼不错!