知道两地经纬度,如何求实地距离

本文详细介绍如何利用经纬度计算地球表面上两点之间的实际距离。通过理解地球的椭球形状及运用三角函数,介绍两种计算方法,包括勾股定理简化版和精确的三角推导公式。适用于地理信息系统、地图应用等领域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同一经线上

1纬度差大约等于111km

同一纬线上

1经度差大约等于111×(cos纬度)km

已知两点间的纬度差和经度差,则运用勾股定理可求两点间的斜边

地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。如果以0度经线为基 准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。设第一点A的经 纬度为(LonA, LatA),第二点B的经纬度为(LonB, LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90- Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA, MLatA)和(MLonB, MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式:
C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)cos(MLatB)
Distance = R
Arccos©*Pi/180
这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile

如果仅对经度作正负的处理,而不对纬度作90-Latitude(假设都是北半球,南半球只有澳洲具有应用意义)的处理

那么公式将是:
C = sin(LatA)*sin(LatB) + cos(LatA)cos(LatB)cos(MLonA-MLonB)
Distance = R
Arccos©Pi/180 以上通过简单的三角变换就可以推出。
如果三角函数的输入和输出都采用弧度值,那么公式还可以写作:
C = sin(LatA
Pi/180)sin(LatBPi/180) +cos(LatA
Pi/180)cos(LatBPi/180)cos((MLonA-MLonB)Pi/180)
Distance = R
Arccos©Pi/180
也就是:
C = sin(LatA/57.2958)sin(LatB/57.2958) +cos(LatA/57.2958)cos(LatB/57.2958)cos((MLonA-MLonB)/57.2958)
Distance = R
Arccos© = 6371.004
Arccos©
kilometer =0.621371192
6371.004
Arccos© mile = 3958.758349716768
Arccos© mile

引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小六的画布

我的热爱,与你的打赏很配喔!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值