离线地理计算使用Ruby,他们可以做到



我是GeoCoding/GeoData/etc的新手,并且有一个关于在不连接到在线地理服务的情况下进行计算的问题。

如果已经知道了x的经纬度和y的经纬度,是否可以在不访问在线服务(如Google, Geocoder)的情况下确定两点之间的距离?ca等)?

当前数据在MySQL数据库中

注意:我在这里找到了几个半相关的答案,但它们链接到C库,而我使用Ruby。

UPDATE:如果您已经在使用RubyGeocoder进行在线服务查询,您可能有兴趣知道它具有内置的Haversine功能,在这里记录。

两点之间的距离可使用Haversine公式计算。(维基百科:http://en.wikipedia.org/wiki/Haversine_formula)

下面是一个示例实现:http://www.esawdust.com/blog/gps/files/HaversineFormulaInRuby.html

因为我们的地球是一个椭球体而不是一个球体,如果你正在寻找一个更精确的解,看看兰伯特的公式。

我已经为此做了一个实现。

https://github.com/tonytonyjan/geodesics

WGS84椭球体通过50万测地线测试集, 99%以上精度

最新更新