相关疑难解决方法(0)

根据纬度/经度获取两点之间的距离

我尝试实现这个公式:http ://andrew.hedges.name/experiments/haversine/ aplet对我测试的两个点有好处:

在此输入图像描述

但我的代码不起作用.

from math import sin, cos, sqrt, atan2

R = 6373.0

lat1 = 52.2296756
lon1 = 21.0122287
lat2 = 52.406374
lon2 = 16.9251681

dlon = lon2 - lon1
dlat = lat2 - lat1
a = (sin(dlat/2))**2 + cos(lat1) * cos(lat2) * (sin(dlon/2))**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
distance = R * c

print "Result", distance
print "Should be", 278.546
Run Code Online (Sandbox Code Playgroud)

它返回的距离是5447.05546147.为什么?

python geocoding geography geo

121
推荐指数
7
解决办法
17万
查看次数

标签 统计

geo ×1

geocoding ×1

geography ×1

python ×1