GeoHash算法

作者: dino.ma 分类: PHP,杂谈 发布时间: 2019-07-15 10:47

精度分析:

geohash长度Lat位数Lng位数Lat误差Lng误差km误差
123±23±23±2500
255± 2.8±5.6±630
378± 0.70± 0.7±78
41010± 0.087± 0.18±20
51213± 0.022± 0.022±2.4
61515± 0.0027± 0.0055±0.61
71718±0.00068±0.00068±0.076
82020±0.000086±0.000172±0.01911
92223±0.000021±0.000021±0.00478
102525±0.00000268±0.00000536±0.0005971
112728±0.00000067±0.00000067±0.0001492
123030±0.00000008±0.00000017±0.0000186

按geohash位数:
6位:约0.34平方千米
5位:约10平方千米

实现已知一个点(经纬度确定)计算附近的工地/教学中心:计算出该点的6位geohash值,并算出该geohash周围的8个区域的6位geohash值。得到9个6位geohash。(约0.34 * 9 = 3.06平方公里)

geo的算法实现可以使用redis geo去搞定。

发表评论

电子邮件地址不会被公开。 必填项已用*标注