【GeoHash 算法】对于很多初学者来说,“附近的人”或者类似功能,在技术实现上还有点摸不着头脑 。本文将简要的为你讲解“附近的人”的基本理论原理,并以redis的GEO系列地理位置操作指令为例,理论联系实际地为你讲解它们是如何被高效实现的 。
阅读提示:本文适合有一定Redis使用经验和经纬度知识的服务器后端开发人员阅读 。
经纬度常识
- 经线是纵的,经度是横的,用于表示不同的经线,纬线是横的,纬度是纵的,用于表示不同的纬线,如下图
文章插图
文章插图
- 纬线:地球仪上的横线,lat,赤道是最大的纬线,从赤道开始分为北纬和南纬,都是0-90°,纬线是角度数值,并不是米;
- 经线:地球仪上的竖线,lng,子午线为0°,分为西经和东经,都是0-180°,经线也是角度数值;
- 经纬线和米的换算:经度或者纬度0.00001度,约等于1米,这个在GPS测算距离的时候可以体会到,GPS只要精确到小数点后五位,就是10米范围内的精度
- 经度0度的位置为本初子午线,在180度的位置转为西经,数字由大到小依次经过北美洲到达西欧.纬度0度的位置为赤道
- 为了便于理解,将地球看成一个基于经纬度线的坐标系 。纬线就是平行于赤道平面的那些平面的周线,经线就是连接南北两极的大圆线的半圆弧 。纬度分为北纬(正),南纬(负),赤道所在的纬度值为0 。经度以本初子午线界(本初子午线经度为0),分为东经(正),西经(负) 。故纬度范围可表示为[-90o, 0o),(0o, 90o],经度范围可表示为[-180o, 0o),(0o, 180o]
什么是geohash
推荐阅读
- 计算机中为什么要用补码运算?
- 美白淡斑茶的配方,美白淡斑茶的具体配方是
- 聊聊大厂都在用的雪花算法
- 怎样选择户外睡袋呢
- 每天什么时候练瑜伽好呢
- 户外运动登山有什么好处
- 骑车多远减肥效果好?
- 骑单车能减肥吗?
- 柠檬减肥瘦身法,柠檬荷叶茶
- 四六级成绩网上可查吗?