我最近开始从事一个涉及地理位置、地图(Google Maps V3)等的个人项目。
该项目是用 Python 开发的,旨在在 Google App Engine 上运行。我了解到,为了找到接近某个位置的标记/位置,可以使用 geohash 算法(这很酷)。
我不明白的是:假设我在数据存储中拥有所有位置(以及每个位置的纬度、经度和 geohash(高精度)。)
我知道我应该使用 geohash 的前缀(以匹配其中的位置),但是如何计算边界框的 geohash?考虑到边界框由两点组成,东北和西南,我不明白如何去做。
为了让我查询应该为当前可见边界框返回哪些位置,我需要可见/可见边界框的 geohash -现在我知道我可以对可视地图上的中心位置进行 geohash,但我不知道如何许多字母要切断(以降低精度)以实现与实际边界框的“匹配”。(或者也许不是这样......?)
当边界框容器到geohashes时你会怎么做?(就像在可视区域的中间它在'dqcjr0'和'dqcjqb'之间分裂)
另外,假设我有一个 5 个字母的 geohash,如何将其转换回可见的边界框?或者换句话说,我怎么知道什么是“包含”的散列,以及相邻的散列中是什么?
在此先感谢您的帮助,
肯。