注册 登录
编程论坛 VFP论坛

请教:通过两个地点的经纬度,如何计算出两点间的距离?

lnfx2019 发布于 2023-04-19 17:37, 137 次点击
通过两个地点的经纬度,如何计算出两点间的距离

A点:沈阳桃仙国际机场
坐标:123.499721,41.639078

B点:沈阳国际展览中心
坐标:123.379689,41.668418

从百度地图上可以测出距离约为10.4公里。

请教个位大老,如何计算出来呢?

从网上查到如下公式,但计算出来的值不对

任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}

其中:A点经度,纬度分别为λA和ΦA
B点的经度、纬度分别为λB和ΦB,
d为距离
1 回复
#2
lnfx20192023-04-19 21:39
应该是上面的公式不对,又找到一个。这个是正确的。

lon1=123.499721      &&经度1   
lat1=41.639078      &&纬度1
lon2=123.379689      &&经度2   
lat2=41.668418      &&纬度2
R = 6371  &&  km 地球半径
PI=3.1415926
dLat = (lat2-lat1)*PI/180
dLon = (lon2-lon1)*PI/180
a = sin(dLat/2)*sin(dLat/2)+cos(lat1*PI/180)*cos(lat2*PI/180)*sin(dLon/2)*sin(dLon/2)
c = 2*asin(sqrt(a))
d = R*c
?"两坐标间直线距离为【公里】:",d
1