Google App Engine Python搜索Api的基于位置的查询(Geosearch)问题

时间:2015-02-02 06:30:41

标签: python google-app-engine google-search-api google-app-engine-python

我已经实现了GAE的Python搜索Api,并尝试根据给定地点的距离进行查询。

我的查询字符串是:"距离(location,geopoint(XXX,YYY))< ZZZ&#34 ;.但是,由于某些原因在生产服务器上,此查询字符串返回距离大于ZZZ参数的项目。

以下是显示不准确性的实际数字(生产):

实际距离:343.9m
查询距离仍然得到结果:325米

实际距离:18,950.3
仍然得到结果的查询距离:13,499m

实际距离:55,979.0
查询距离仍然得到结果:44,615米

实际距离:559,443.6
仍然得到结果的查询距离:451,167m

实际距离:53.4
查询距离仍然得到结果:46米

实际距离:35,322.2
查询距离仍然得到结果:30,808m

实际距离:190.2
查询距离仍然得到结果:143米

在我的开发服务器上,这些不准确性不存在。我能够查询到精确的仪表并获得预期的结果。

可能导致此问题以及如何修复它以便我在生产中获得准确的查询结果?还有其他人得到同样的问题吗?

1 个答案:

答案 0 :(得分:0)

这可能有两个原因:

1英里而不是公里

2 - 转换数字(例如35,322.2是35322.2?km?英里?) 我建议检查执行距离函数时处理的数字究竟是什么,您可以在某些日志中以编程方式输出这些数据

希望有所帮助