geohash网格图_GeoHash算法学习讲解、解析及原理分析

c7777ed81600beb1c7db81e4e786f9ed.png

在日常生活中,我们经常会有很多和地理相关的一些应用,比如:地图导航,附近的人,查找某些地标等等,以前我们会选择问路,而随着智能设备的更新和升级,现在我们仅仅只需要一个手机,打开一个地图APP,即可快速查找自己想要的路线或者信息了。

那么,附近的一个建筑或者商店,是通过怎样的形式,让其可以在手机上展示出来的呢?

比如:周末了,躺在床上,使用手机下单,寻找外卖美食...这些美食店信息是怎么在手机上进行展示的呢,它和我所在的距离是怎么计算出来的呢? 这时候,可能就需要用到GeoHash这种算法了。前段时间一个朋友问到过我关于GeoHash的相关知识,但是对这种算法,只是有所了解,并没有深入去探索内部的实现,在此,给它进行自我解析与记录。

3da939decea0268855f547371eec1ed4.png

先简单介绍一下GeoHash算法,在日常生活中,我们对某一坐标的定位,一半都是使用经纬度来进行标记的。比如:常营地铁站(lat:39.9257460000,lng:116.5998310000),我们获取一个区域的位置,是使用一个二维数组对其进行标记的,它表示的不是一个具体的点,而是泛指一片区域,区域的范围与经纬度的取值精度直接相关。

当我拿到常营地铁站的经纬度后,通过GeoHash这种算法进行计算后,获取到一个可比较的字符串,具体计算过程如下:

0a77f7c07113206883253fbc700f7452.png

同样,对纬度也进行相对应的算法进行计算得到一个二进制值(对经纬度取值范围越小,精度越高,所表示区域范围越小),在此省去计算过程。

d61f18c8bbff953d12f236b8f4826948.png
ht
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值