geohash算法真的能搜索到周围餐馆吗

最近看到网上有篇文章写用geohash方法搜索周围餐馆:
点击连接文章
仔细阅读后发现可能有问题。
按照其中的搜索方法,给地球所有地方编码,规则如下:

1110
0100

然后提高精度,对每个象限再次按照如上编码,依次循环编下去,无限提高精度,那么整个地球的编码看起来应该如下图所示:

在这里插入图片描述
其中A点的编码是:110000000000循环,B点编码是11001100000000000循环,假如我想获取A点周围点,那么除非我把搜索精度调整到全球范围,也就是精度为0,全局搜索,才能获取到四个象限的点,如果用11匹配,则只能匹配到第一象限的所有点,另外三个象限搜索不到任何点,而对于B点,同样道理,如果用110011搜索,则只能搜索到其左上方1/32象限的所有点,对于其他三个方向却搜索不到任何点,如果用1100搜索则搜索到所有它所在1/16像素内所有点,但是相应的精度损失了。

也就是说,这种算法能搜索范围的精度依赖与中心点的位置,如果这个点位于较大象限比如1/4或者1/16这种象限的边缘,那么精度就很低,如果这个点位于较小象限比如几万或者几百万分之一的象限边缘,那么精度就可以很高。这中间是可以用计算公式来表达,应该是成反比的。

不过后来我在网上找到了此类问题的解决方案:
解决方案
以后有空再来研究下吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值