美文网首页
GeoHash算法

GeoHash算法

作者: poteman | 来源:发表于2021-09-13 15:24 被阅读0次

    一句话概括:将经纬度编码成字符串。

    • 做法
    1. 对经度而言,例如一个位置的经度为30.01242,首先将经度区间切分成两部分,(-90,0)
    和(0,90),若处于第一个区间,则第一位编码为0,否则为1;接着再将区间切成两部分(0,45)和(45,90),同理,若若处于第一个区间,则编码为0,否则为1;不断重复这个步骤,例如切分10次,可以获得一个十位数字的二进制编码;
    2. 对纬度也同样进行上述操作,同样获得一个十位数字的二进制编码;
    3. 将经纬度的二进制编码合并,奇数位放置经度编码,偶数位放置纬度编码,交错放置,获得一个20位数字的二进制编码;
    4. 对获得的20位数字二进制编码进行base32编码,每5位二进制数字会获得一个编码,最终获得的编码长度是4位。
    
    • 性质
    对于geohash编码,前缀编码一致的位数越多,两者距离越近。但是反之不成立。
    

    相关文章

      网友评论

          本文标题:GeoHash算法

          本文链接:https://www.haomeiwen.com/subject/zvdfgltx.html