赞
踩
三种算法格子的区别:
三种格子系统中,geohash用了矩形+正方形格子的方式(由于base32编码,中间的一级会变矩形),google s2采用了正方形格子,uber h3采用了六边形格子。同样uber h3对多级覆盖也做了一些优化,每层的格子旋转了19.1°,以近似进行覆盖下一级格子。
Geohash是一种地址编码,它能把二维的经纬度编码成一维的字符串,Geohash 就常常被用来作为唯一标识符。用在数据库里面可用 Geohash 来表示一个点。Geohash 这个公共前缀的特性就可以用来快速的进行邻近点的搜索。越接近的点通常和目标点的 Geohash 字符串公共前缀越长
geohash的最大用途就是附近地址搜索了。不过,从geohash的编码算法中可以看出它的一个缺点:位于格子边界两侧的两点,
虽然十分接近,但编码会完全不同。实际应用中,可以同时搜索当前格子周围的8个格子,即可解决这个问题。
由于GeoHash是将区域划分为一个个规则矩形,并对每个矩形进行编码,每个精度等级对应的规则矩形大小为:
S2其实是来自几何数学中的一个数学符号 S²,它表示的是单位球。S2 这个库其实是被设计用来解决球面上各种几何问题的。
不同级别可以代表的网格的面积:
Uber H3
H3是一个针对地球的空间划分和空间索引系统。
H3地理空间索引系统是一个离散的全局网格系统,该系统由具有层次结构索引的球形多精度六边形拼贴组成。在球形外接二十面体的平面上创建六边形网格系统,然后使用反面为中心的多面体结构投影将网格单元投影到球体的表面
详细的精度数据如下:
唯一索引数就是在整个地球中当前解析度中有多少个格子
参考资料
https://www.biaodianfu.com/uber-h3.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。