Google Cloud Datastore中的Geohash查询

时间:2018-10-18 07:23:34

标签: java google-app-engine google-cloud-platform google-cloud-datastore geohashing

我是地理哈希的新手,并希望在Google Cloud Datastore中实现它。

我的目标是以geohash的形式存储经/纬度数据,然后查询给定经/纬度附近400米以内的所有实体。

有人成功且有效地做到了吗?

有些带有地理哈希的边缘情况,您需要检查相邻的单元格,但我想避免查询太多我不会使用的数据点。

最后,听起来我需要计算给定的经度/纬度与所有返回的实体之间的距离,以确保它们距给定的经度/纬度x米。

这又带来了另一个问题,即如何使用结果集实现游标?

这些是我发现的一些问题。如果有人对如何使用数据存储区进行哈希处理有任何建议和技巧或一些代码(在Java中),我将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

数据存储不适合此操作。

但是根据这个答案

https://stackoverflow.com/a/1037891/4458510

您似乎可以设置一个模块,尝试在数据存储区中提供某种程度的此功能,但这可能并不完美:https://code.google.com/archive/p/geomodel/

所以我想这取决于您的需求。如果需要正确执行此操作,则可能需要选择一种完全支持地理空间功能的存储解决方案:https://cloud.google.com/storage-options/

我需要做类似的事情,所以这就是我在数据存储区中所做的事情,它足以满足我的需求https://stackoverflow.com/a/45602189/4458510