嗨,我正在使用一个具有geohash实现的数据库
因此,如上所示,随着缩放级别下降(6个缩放级别),更多的abcd
被插入到每个网格中。我把他们描绘成一个僵硬的网格;但是,所有网格的中心点都不同。因此,例如,从a
到b
的距离与从a
到c
的距离不同。
如果它是一个刚性网格,我可以得到最近的四个相邻网格;但是,我不能这样做,因为距离变化,最近的邻居不一定是正交的。只有我从数据库获得的信息是每个网格的中心点和geohash密钥,例如aa
,ab
等。
对于每个缩放级别,我如何找到每个网格的北,西,东和南的网格? (有6个缩放级别)
正如您所看到的那样,以d
结尾的单元格具有相同前缀但以其北部的b
结尾的单元格。这允许您设置映射表。
在像cb
向北走的情况下,你最终在ad
,诀窍是要认识到从*b
向北走,你需要看看前一个角色(在这个例子中,c
),从那个角色向北走(a
) )并添加该列的最南边(d
)。
简而言之,这是一个实现一些映射表和一些逻辑来处理边缘的问题。