geohash是一种分层的空间数据结构,将空间网格化.并将二维坐标用一个字符串表示.
一....空间的网格化
先说明下什么是空间的网格化
将区域一分为二,分别用0,1表示,并将划分的区域继续一分为二的划分下去,如此迭代;
如图,绿色区域便可使用字符串[01]表示;
第一位0,代表蓝色区域的上半部分...二. geohash算法
geohash算法便是基于上面空间网格化的思想,对经纬度分别进行网格化的分层处理,最后再组合一起.
1. 经纬度的分层.
以北京的经纬度116.46和39.92为例....首先将经度也按一分为二的方式不断迭代划分下去,
按如下图可知,经度116.46可使用字符串[11010 01011]表示
将纬度也按一分为二的方式不断迭代划分下去....可以用一个字符串表示经度和纬度两个坐标
2.