geohash计算原理
经纬度地图:纵线是经度(-180~180)横线为纬度(-90~90)
GeoHash是一种地址编码方法。他能够把二维的空间经纬度数据编码成一个二进制字符串,然后base32后成为一个短字符串。以(123.15488794512, 39.6584212421)为例计算geohash:
1、第一步,经纬度分别计算出一个二进制数,通过二分法不断查找最小区间。
以经度123.15488794512为例,计算过程如下:
精度
左边界
平均值
右边界
结果
1
-180
0
180
1
2
0
90
180
1
3
90
135
180
0
4
90
112.5
135
1
5
112.5
123.75
135
0
6
112.5
118.125
123.75
1
7
118.125
120.9375
123.75
1
8
120.9375
122.3438
123.75
1
9
122.3438
123.0469
123.75
1
10
123.0469
123.3984
123.75
0
11
123.0469
123.2227
123.3984
0
12
123.0469
123.1348
123.2227
1
13
123.1348
123.1787
123.2227
0
14
123.1348
123.1567
123.1787
0
15
123.1348
123.1458
123.1567
1
1