如何计算geohash上的相邻网格。需要算法

时间:2017-05-16 11:37:36

标签: node.js algorithm geohashing

您好我正在使用一个带有geohash实现的数据库

enter image description here

enter image description here

如上所示,随着缩放级别下降(6个缩放级别),更多abcd被插入到每个网格中。我把他们描绘成一个僵硬的网格;但是,所有网格的中心点都不同。例如,从ab的距离与从ac的距离不同。

如果它是一个刚性网格,我可以得到最近的四个相邻网格;但是,我不能这样做,因为距离变化,最近的邻居不一定是正交的。只有我从数据库获得的信息是每个网格的中心点和geohash密钥,例如aaab等。

对于每个缩放级别,我如何找到每个网格的北,西,东和南的网格? (有6个缩放级别)

1 个答案:

答案 0 :(得分:0)

正如您所看到的那样,以d结尾的单元格具有相同前缀但以其北b结尾的单元格。这允许您设置映射表。

如果像cb向北走,你最终到达ad,诀窍是要认识到从*b向北走,你需要看看前一个角色(在这种情况下,c),从该字符(a)向北移动并添加该列的最南边(d)。

简而言之,这是一个实现一些映射表和一些处理边缘的逻辑的问题。