如何根据GeoPt属性创建返回最近实体(来自我当前位置)的GQL查询?我是否应该创建一个“距离”函数来计算一组具有合理距离的实体?

提前致谢!

有帮助吗?

解决方案

App Engine不会特别处理GeoPt属性 - 它没有内置的空间索引。但是,有许多第三方库增加了对空间索引的支持。最好的(在我看来)是 geomodel

其他提示

您可以将应用程序中的位置存储在四叉树结构中。

以下是对如何完成的描述: Google App Engine上的地理查询

我想我会取得某种挖掘机成就,但现在是:

我一直在寻找这个问题的解决方案,并且遇到了Google的官方文档: https://cloud.google.com/appengine/docs/java/search / QUERY_STRINGS#Java_Queries_on_geopoint_fields

我真的认为谷歌应该对此更加喧嚣。我觉得很奇怪,他们在Python上有相同的教训,但没有说明如何为Java做这件事。

geohash在不同的哈希值中设置非常接近的点,因此应该首选另一个或下一个层。您可以进行半径,二次内/外形状测试甚至任何数学形状,并测试该点是否在我们的形状之外。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top