App Engine Geo的准确性搜索大圈子?

时间:2015-09-07 11:18:19

标签: google-app-engine geopoints great-circle

我正在使用App Engine搜索将结果限制在定义的圈内。

distance("points", geopoint(%f,%f)) < %d" % (latitude, longitude, radii)

对于10s,100s和1,000s的半径,我得到了正确的结果。 但是对于400,000(即400km)的半径,则返回定义圆外的结果。

有谁知道这是这个平台的限制吗?我发现很难相信没有考虑到这个伟大的圈子。

1 个答案:

答案 0 :(得分:1)

Google有a bug; 2013年2月报道,至今仍在场。 问题跟踪器将其优先级标记为中等。

一个建议是查看返回的每个结果并检查它是否正确。

如果您在Google平台上添加此更正步骤,那么您需要为此功能支付两次费用 - 一次用于Google的编码执行以生成错误的结果集,一次用于修正代码。

这是一项非常简单的解决方法,因为总计结果的任何计数都可能非常不正确(例如,Google会返回100个结果,但实际数字为零)。

如果由于性能原因必须对结果进行分页,那么这个错误会导致该方法失败,因为一旦您过滤掉了无效的结果,每个页面集可能都不包含任何有效结果。

这是答案还是我和其他人错过了一些重要细节?

相关问题