lat lng距离自动从固定位置到数据库中的lan lng(澳大利亚)

时间:2012-02-02 15:06:26

标签: mysql geolocation

好的,这是一个很大的问题,我已经在这里和tinternet上阅读了很多关于这一点。

我发现的最好的是:this link

现在这是我们的问题(这只适用于澳大利亚的距离) 我们在澳大利亚的每个郊区都有一个lat和lng值的数据库。

我的问题是......有没有办法可以运行某种脚本ping我们的服务器,并将结果存储在一个大型数据库中。

有点像:

记录a:lat lng - >记录b:lat lng(记录中的计算和存储距离) 记录a:lat lng - >记录b:lat lng(记录中的计算和存储距离)

依此类推(并且不做记录b:lat lng - >记录a:lat lng(因为这已经知道了)

目前,访问此数据的最简单方法是通过真实世界名称,例如郊区状态和邮政编码,我们在数据库中包含lat lng值。

因为每个数据条目都有一个id,所以这些都是多余的。类似于我上面的例子。

目标是获得:

ID 1 - > ID2距离=:75 km

其中ID1 = -27.4561899,153.3564564(已知名称Raby Bay QLD 4163) 和ID2 = -27.1054534,152.948145(已知名称Morayfield QLD 4560)

你到底在哪里......

所以我的问题是有没有人知道我们可以运行自动脚本的方法,它将获取ID然后下一个ID记录并执行一个函数并将结果保存到数据库然后执行下一个...所以等等。

我们有非常快的服务器,并且有大约13000个个人记录(郊区)供我们互相攻击..

这将给我们大约84,506,500个结果(.ish)

显然我们需要对相同的ID进行计算,因为那时我们可以回显0 km

所以任何建议,有没有人见过或做过这样的事情?

有没有更好的方法,我们理想情况下喜欢这个服务器端(并存储结果),然后在页面加载时将它们喷出...

因为这是针对会员网站和广告的项目..所以我们知道:

广告商位置和Vistiors位置因此,您希望在飞行中显示出从买方到卖方的距离。无需运行大型客户端代码。

步骤

1 个答案:

答案 0 :(得分:2)

计算并不是那么困难 - 当然不值得在表格中预先计算84M +行,其中几乎可以肯定很少使用它们。

如果这样的数据是为数据库中的每个位置存储“最近位置”的列表,那么我需要预先计算很多次,这可以用更小的表来完成。 (甚至这并不总是必要的,因为你有时可以通过边界框查询得到相同的数据)

如果您已经设置了这个架构,您是否考虑过将该表用作缓存,以便按照人们要求的那样存储结果,并且让它成为您的应用程序在新的时候寻找答案的第一个位置查询到了?