作业帮 > 数学 > 作业

如何通过两个地点的经度和纬度,得到他们之间的实际距离?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/07/02 15:07:27
如何通过两个地点的经度和纬度,得到他们之间的实际距离?
我做一个课题时需要分析一组实际数据,但是数据里只给出了一些城市的经度纬度,我想得到这些城市之间的实际距离,请问有什么现成的算法或者程序吗?
如何通过两个地点的经度和纬度,得到他们之间的实际距离?
由于地球是个近似球体,故首先要知道地球的半径R,两地的距离就是一段弧长l.根据两地的经纬度可以算出两地所在弧的圆心角α;弧长公式:n是圆心角度数,r是半径,α是圆心角弧度. l=nπr÷180 或 l=n/180·πr 或 l=|α|r ,求出的l 则为两地的距离.
再问: 额,怎么把关键的部分跳过了呢,请问怎么通过经纬度求圆心角呢
再答: 假设经纬度为B地为(60°N,120°E),C地为:(30°N,100°E),求圆心角∠BOC;取A为(30°N,120°E),D为(60°N,100°E),ABCD构成矩形,由于是球体,所以有OA=OB=OC=OD=R;所以COS∠AOB=向量OA·向量OB/R^2,COS∠AOC=向量OA·向量OC/R^2,COS∠BOC=向量OB·向量OC/R^2;得到公式:COS∠BOC=COS∠AOB×COS∠AOC×R^2,知道∠AOB=(120-100)°=20°,∠AOC=(60-30)°=30°,R已知,则可得圆心角∠BOC。
再问: 谢谢,不过指出一个问题,就是经度之差只有在赤道上是等于圆心角的,不在赤道上的时候需要乘以cos(纬度),不过还是谢谢啦,其实我想结合你的答案加上Vicky2zj 的答案,如果能分开给分就好了