geo hash 与附近点算法思考

大家先了解geo hash 如何划分地球的

https://blog.csdn.net/u011497262/article/details/81210634

思考

如果把地球看成一个平面分成很多块,也就是32块,横着8块 竖着4块,分别是划分 3 次

我想了下    横着 -180 到180   竖着- 90 到  90    也就是分完了每一块的长和宽都是 45度的样子,是一个正方形

但是!如果再分下去,就会出现竖着的长条,也就是分出来的块不再是正方形

这个会导致一个问题,当算附近的点的时候,因为区域是长条的,所以找附近8个区域会导致一个问题

区域外的点有可能比区域内的点,还近,因为是长条的,而这个问题经过多次的划分可能会很极端,如图

geo hash 与附近点算法思考_第1张图片

图上离着中间红点最近的点并没有在格子内

我想了个方法,也就是第一次过后,划分的时候每次划分成16个格子

但是这样横纵切加起来的位数就只有4位和之前32位的编码不一样的,还要做单独的判断和计算,和对照表

不过也能解决

但是最后一个问题就是,地球不是圆的?!!!

这样度数就会有偏差!

你想象一个土豆,把这个土豆当成地球,把格子对应上,同样的一个格子,他的实际面积和其他的不一样,这就代表了距离不一样。。。。。。然后啥都不一样了 = =

 

——————————————————————————chenchen————————————————————————

 

 

你可能感兴趣的:(geo hash 与附近点算法思考)