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

问题描述 投票:0回答:1

嗨,我正在使用一个具有geohash实现的数据库

enter image description here

enter image description here

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

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

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

node.js algorithm geohashing
1个回答
0
投票

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

在像cb向北走的情况下,你最终在ad,诀窍是要认识到从*b向北走,你需要看看前一个角色(在这个例子中,c),从那个角色向北走(a) )并添加该列的最南边(d)。

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

© www.soinside.com 2019 - 2024. All rights reserved.