附近的人,附近的卖家(geohash+前缀树)

Posted racheol

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了附近的人,附近的卖家(geohash+前缀树)相关的知识,希望对你有一定的参考价值。

一、经纬度距离换算

a)在纬度相等的情况下:

 经度每隔0.00001度,距离相差约1米;

 每隔0.0001度,距离相差约10米;

 每隔0.001度,距离相差约100米;

 每隔0.01度,距离相差约1000米;

 每隔0.1度,距离相差约10000米。

 b)在经度相等的情况下:

 纬度每隔0.00001度,距离相差约1.1米;

 每隔0.0001度,距离相差约11米;

 每隔0.001度,距离相差约111米;

 每隔0.01度,距离相差约1113米;

 每隔0.1度,距离相差约11132米。

二、Geohash距离换算(使用base32编码)

如果geohash的位数是9位数的时候,大概为附近2米

下表摘自维基百科:http://en.wikipedia.org/wiki/Geohash

geohash length
lat bits
lng bits
lat error
lng error
km error
1 2 3 ±23 ±23 ±2500
2 5 5 ± 2.8 ± 5.6 ±630
3 7 8 ± 0.70 ± 0.7 ±78
4 10 10 ± 0.087 ± 0.18 ±20
5 12 13 ± 0.022 ± 0.022 ±2.4
6 15 15 ± 0.0027 ± 0.0055 ±0.61
7 17 18 ±0.00068 ±0.00068 ±0.076
8 20 20 ±0.000085 ±0.00017 ±0.019

 

 

以上是关于附近的人,附近的卖家(geohash+前缀树)的主要内容,如果未能解决你的问题,请参考以下文章

Redis——GeoHash查找附近的人

PHP之路——geohash查找附近的人

php通过geohash算法实现查找附近的商铺

Redis 到底是如何实现“附近的人”这个功能呢?

10.Redis系列Redis的高级应用-GeoHash

查找附近点--Geohash方案讨论