擅长:python、mysql、java
<p>根据tcarbuce的建议,以下是我的上述意见:</p>
<p><a href="http://zips.sourceforge.net/" rel="noreferrer">Zip Code Database Project</a>有一个美国邮政编码纬度和经度的数据库,可以是SQL或CSV。它们还提供以下距离计算代码(slighlty由我编辑):</p>
<pre><code>from math import sin, cos, radians, degrees, acos
def calc_dist(lat_a, long_a, lat_b, long_b):
lat_a = radians(lat_a)
lat_b = radians(lat_b)
long_diff = radians(long_a - long_b)
distance = (sin(lat_a) * sin(lat_b) +
cos(lat_a) * cos(lat_b) * cos(long_diff))
return degrees(acos(distance)) * 69.09
</code></pre>
<p>注意,结果以法定英里数表示。</p>
<p>编辑:约翰·梅钦的更正。</p>