【发布时间】:2011-05-12 17:28:36
【问题描述】:
由于 GQL 引擎的限制,有人建议想要执行邻近搜索的人应该使用建议的地理模型找到绕过这些限制的方法。这可能不是一个非常优雅或快速的解决方案,但有什么可以阻止任何人从这里使用该算法:
SELECT id, ( 3959 * acos( cos( radians(lat_t) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(lng_t) )
+ sin( radians(lat_t) ) * sin( radians( lat ) ) ) ) AS distance
FROM Stores HAVING distance < 25
ORDER BY distance
作为计算距离的简单方法。 IE。我们只需通过循环遍历数据存储中的每条记录,手动计算每一对 (lat, lng) 和 (lat_t, lng_t) 的距离,从而获得目标距离内所有记录的 id求助于使用 HAVING 命令?总而言之,我们会做一个简单的 GQL 查找来获取所有记录并遍历所有 lng/lat 对并与我们的目标值进行比较。
【问题讨论】:
标签: python google-app-engine maps