我正在设计一款能够跟踪所有用户的纬度/经度的应用。对于每个用户,它将计算城市中所有其他用户之间的距离。我将使用python。
例如: 我的客户端将每隔x秒使用long / lat更新一个数据库。每次更新时,都必须重新计算自身与登录的所有其他用户之间的距离。
我的计划是将城市分成他们自己的表格,以便保持数据集和计算更小。但我越想到这个想法就会变得越来越糟。如果有任何重要的流量,我认为它根本不会扩展。如果人们想要使用会限制用户群的应用程序,那么人们将不得不被限制在一个主要的大都市区。
所以我的问题是:
是否存在针对这些计算进行优化的存储后端?我今天早上刚刚听说过PostGIS,但从我看过的内容看起来似乎有点矫枉过正?我计划做的就是计算纬度/长度之间的距离。 谢谢
答案 0 :(得分:1)
有“aviation formulary”。看看“点之间的距离”。
这是Equirectangular Approximation,它是一种更快的头发。
角度( la1 , lo1 ),( la2 , lo2 )以弧度为单位;你必须从学位转换。
响应 c 同样是以弧度为单位。你不需要学位,但需要法定里程或公里。为此,乘以地球的平均半径:6,378.1公里,3,961.3英里