根据地球上两个地点的经度和纬度,如何获得这两点的距离?

来源:互联网 发布:java监控服务器 ssh 编辑:程序博客网 时间:2024/04/30 02:37

假设前提是两个地点均在地表面的零海拔,且地球为理想球体。
假设A点的经度、纬度分别为λA和ΦA  B点的经度、纬度分别为λB和ΦBd为距离。其中地球平均半径为6371.004 kmD单位为km    

D = arc cos((sin北纬A×sin北纬B) + (cos北纬A×cos北纬B×cosAB两地经度差绝对值) ) × 地球平均半径
    = arc cos((sinΦAsinΦB + (cosΦAcosΦBcos(λB—λA))) × 6371.004

 

------------------------------------------------------------------------------------------------
至于网上流传的以下公式,经推导验证都是错误的。
D111.12×cos-1[sinΦAsinΦBcosΦAcosΦBcos(λB—λA)]
D = arc cos(sin北纬A×sin北纬Bcos北纬A×cos北纬B×cosAB两地经度差绝对值)÷360×2PI×6371

验证条件:
经度或者纬度只差1度时的距离为
D1 = 地球经线或赤道周长÷360
   = 6371.004×2×3.1415926536÷360
   = 111.19499645809008 km
  
111.2千米

参考网址:http://www.movable-type.co.uk/scripts/LatLong.html