你如何计算两个城市之间的距离?
如果您需要考虑地球的曲率,那么大圆距离就是您正在寻找的.维基百科的文章可能更好地解释了公式如何比我更有效,并且还有这个航空公式的页面涵盖了更详细的内容.
这些公式只是拼图的第一部分,如果你需要让这个工作适用于任意城市,你需要一个位置数据库来获得纬度/经度.幸运的是,你可以从Geonames.org免费获得这个,虽然有商业数据库可用(请谷歌).所以,一般来说,查看你想要的两个城市,得到纬度/长度的联合并将它们插入到公式中,如维基百科工作示例中所示.
其他建议:
对于完整的商业解决方案,有许多货运公司用来计算运费的PC Miler.
拨打谷歌地图(或其他)API.如果您每天需要执行许多请求,请考虑在服务器上缓存结果.
同样非常重要的是考虑为城市,郊区,城镇等建立等价数据库,如果您认为您需要对数据进行分组.这变得非常复杂,您可能找不到适合您的问题的万能解决方案.
最后但并非最不重要的是,Joel不久前写了一篇关于这个问题的文章,所以你走了:新功能:求职
您使用Haversine公式.