查找满足查询条件的地理数据的算法

时间:2014-07-27 17:50:11

标签: c++ algorithm geolocation

我有一个应用程序,我需要通过指定边界矩形来查询地理位置。由于geohashes将2D映射到1D,因此我可以通过这种方法找到满足查询条件(边界矩形)的所有geohashes的前缀。我试图谷歌,但我没有找到任何算法。

如果有一些库在C / c ++中有效地为我做这件事会很棒。即使没有库,我也可以使用算法解决方案。

1 个答案:

答案 0 :(得分:1)

前缀将是边界矩形的geohash。

在geohashing中,geohash的偶数位对应于纬度,奇数位对应于经度。当我们从左到右进行时,我们会细化geohash指定的间隔。

考虑一个假设的geohash,其中110位对应于经度。这告诉我们,我们对上半部分(901350)的点(90到{{1}感兴趣所有经度(180到{{1}的上半部分10,第一个180}的第二个1} })。因此,通过指定更长的字符串,您只需进一步细化间隔。

由于边界矩形被指定为geohash,因此您根本不需要做任何事情。